Saturday, August 13, 2011

The point of it all

I have to say, it is not a common occurrence for me to think about this blog.  It's not that I don't like the idea of blogging, or that I don't have anything at all to say:  it just seems like the times I say things and the times I remember I have a blog just don't seem to come together very often.

However, I've now started writing a post, and I even have something that I can talk about (yay?) -- namely, the layout of a solution in StudyStreams.

StudyStreams is the new name of LearnCPP, and is the project I'm currently working on.  you can find the source code on github.  The project itself consists of a bunch of classes (written by the StudyStreams dev team) that provide support for writing and executing lessons, the lessons themselves (written either by the dev team, or by some teacher), and a solution to the lesson (written partially by the teacher, and then finished by the student).

An important assumption is that the teachers (and dev team, hopefully) will have a firm grasp of C++, while the students may not.  The interface for the creation of lessons may be somewhat complicated, but the solution interface should be simple, and should resemble a typical C++ program.  Most importantly, even if the names don't exactly match those used in the standard library, the syntax should be as close as possible.

I came up with five formats for solutions.  Here they are:
  1. http://ideone.com/mfdbN
  2. http://ideone.com/HeUoF
  3. http://ideone.com/I8ocd
  4. http://ideone.com/D4arJ
  5. http://ideone.com/GQaF2
Eventually, I chose #4 due to its clear separation of exercises:  the MAIN function is called again for each exercise, instead of study::endl doing some sort of magic.  Due to the rather different nature of this approach, as opposed to the other approaches, the others will not be supported, at least initially.

And now, everything is being rewritten to use this new system...

No comments:

Post a Comment