FeetWetCoding: Trying to make learning C++ a little more fun!

Robert Holder robert at feetwetcoding.com
Mon Aug 20 21:06:13 UTC 2012


Greetings!  I'm writing about a project my wife and I worked on.  It is 
not specifically a "KDE" project, but it uses Qt, and it is educational, 
so I thought I might be able to post here.  If this is not an 
appropriate place for me to post, my apologies.

FeetWetCoding ( http://feetwetcoding.com ) is a non-commercial open 
source project we started in our spare time, intended to make it a 
little more fun to learn C++ for the beginner.  It is not finished yet, 
but it does run, and does have enough documentation for someone to get 
started with it, and see how it works and what it is intended to do.

Learning to program is a lot more enjoyable when one is able to draw 
graphics on the screen, rather than being limited to console-style 
programs using cout.  But modern, GUI-based, event-driven programming is 
just not within the reach of the beginning programmer.  The old days (as 
it was when I was growing up) of being able to get started with some 
simple graphical programming on a TRS-80 or an Apple II are very 
different than how it is today.

We created a learning framework with a very limited set of simple 
graphics tools for the beginner.  The beginner's code runs in a separate 
thread from a.exec() so that we can give them things like a simple 
version of sleep(), and let them do simple graphics, while concealing 
the details of the Qt event-driven, signals and slots scheme from them 
until they have their feet under them and can start to tackle those more 
complex learning challenges.

We worked on the project in our spare time for about five months, and 
although it is far from complete, we believe that Computer Science 
Professors and other Software Developers should be able to see the 
potential there.  We showed it to friends, a few other software 
developers, and some high-school teachers (which may not be the right 
audience, as this software might be better suited at the university level?)

The responses we got typically fell into two categories:

1)  Why isn't it about Ruby/Python/Java/Javascript/etc.?
2)  Can it be made to run in the web browser?

The answer to (1) is that we were interested in helping C++ 
programmers.  We felt that this effort would be of most benefit to newer 
C++ coders.  My wife has about fifteen years of professional experience 
working with Qt, and we felt that we could get our idea up and running 
most quickly by basing it on the Qt SDK.  We have, and will continue, to 
decline to participate in language holy wars. :-)  C++ is going to be 
around for a long time, and the world needs competent C++ programmers.  
Beyond that, we have ceased to try to justify our choice of language.  
We have nothing against other languages!  We just chose to focus on C++.

Given that choice, the answer to (2) is that since C++ is a compiled 
language, it is simply outside the scope of our time and capability to 
try to make our learning framework run in a web browser. Frankly, we 
have no idea how that would work.  Many people seem to believe that web 
and mobile development is the only kind of software development worth 
learning, but we believe that single-computer desktop type software 
development is still a good way to get started.

I'm posting here because we put a lot of work into the project, and we 
believe that some of our ideas might benefit the beginning programmer, 
as well as perhaps be useful to University-level Comp Sci Professors.  
We think that the side-by-side exercise/solution UI layout we came up 
with, the fact that the student can look at the solution code if they 
get stuck, the fact that the learning process happens in the IDE 
directly, and the exercises themselves which we created are all good 
ideas, and might be helpful to students and educators.

We have not worked on the project in some months now, because it seems 
to us from the reactions we've gotten that nobody is really interested 
in it!  :-)  I guess that's pretty common with many open source 
projects.  But it seems a shame to me that nobody is getting the benefit 
of that work.  Perhaps FeetWetCoding just isn't really useful?  We don't 
know.  We think it has promise, but maybe we're wrong.  We posted a 
notice about FeetWetCoding on the Qt Developer Forum at 
http://qt-project.org/forums/viewthread/14171/ but that was over six 
months ago, and there have been no replies.

So I'm posting here hoping that there might be somebody who teaches C++ 
for a living who might find time to take a look at our little project 
and see if they think it would be useful, and is worth our spare time to 
improve.  We had already decided to stop working on it, but that might 
change if we thought someone might use it!  :-) We would be interested 
in any feedback from any Computer Science Professors, teaching 
assistants, or even just beginning C++ programmers who were willing to 
read our documentation and try some of the exercises.  Since it is far 
from finished, we are not focusing on trying to promote it to beginning 
programmers in a widespread way.  What would really be most useful to us 
is feedback from actual C++ teachers.  People who have taught C++ will 
certainly be in a better position to evaluate FeetWetCoding, and say 
whether it might be useful or not.

Thank you for your time and attention!

Regards,
Robert Holder
Westminster, Colorado, USA


More information about the kde-edu mailing list