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