|
From: Richard Heathfield on 8 Apr 2008 14:11 Night_Lynx(a)hotmail.com said: > Dear All, > > I am a C++ Beginner and, having read and studied (and sucessfully made > it through the "Hello World" et. al. stage), I wanted to try my hand > at putting it all into practice. To give you an idea of the concepts > that I would like to familiarize myself with: I have just finished > reading N.Josuttis' book "Object Oriented Programming in C++", which > by the way I found a very good read. > > My trouble is that any idea and/or challenge I can come up with is > usually too hard, unfocused or requires system-specific code, which is > not what I want to 'train', as it were. > > I would hence like to ask you to suggest some places to find some > simple code challenges and/or micro-projects for beginners. Word search puzzle. Input: list of words to appear in puzzle grid. Processing: obvious to describe, not so easy to do! Output: text file containing puzzle grid. Spell checker. Input: dictionary of 0 or more words, text file. Processing: look up each word of text file in the dictionary. If there, great. Else, ask whether the dictionary should be updated or the text file corrected. Output: (possibly updated) dictionary, (possibly updated) text file. -- Richard Heathfield <http://www.cpax.org.uk> Email: -http://www. +rjh@ Google users: <http://www.cpax.org.uk/prg/writings/googly.php> "Usenet is a strange place" - dmr 29 July 1999
From: ed.norris.1 on 8 Apr 2008 21:06 On Apr 8, 2:11 pm, Richard Heathfield <r...(a)see.sig.invalid> wrote: > Night_L...(a)hotmail.com said: > > > Dear All, > > > I am a C++ Beginner and, having read and studied (and sucessfully made > > it through the "Hello World" et. al. stage), I wanted to try my hand > > at putting it all into practice. To give you an idea of the concepts > > that I would like to familiarize myself with: I have just finished > > reading N.Josuttis' book "Object Oriented Programming in C++", which > > by the way I found a very good read. > > > My trouble is that any idea and/or challenge I can come up with is > > usually too hard, unfocused or requires system-specific code, which is > > not what I want to 'train', as it were. > > > I would hence like to ask you to suggest some places to find some > > simple code challenges and/or micro-projects for beginners. > > Word search puzzle. Input: list of words to appear in puzzle grid. > Processing: obvious to describe, not so easy to do! Output: text file > containing puzzle grid. > > Spell checker. Input: dictionary of 0 or more words, text file. Processing: > look up each word of text file in the dictionary. If there, great. Else, > ask whether the dictionary should be updated or the text file corrected. > Output: (possibly updated) dictionary, (possibly updated) text file. > > -- > Richard Heathfield <http://www.cpax.org.uk> > Email: -http://www. +rjh@ > Google users: <http://www.cpax.org.uk/prg/writings/googly.php> > "Usenet is a strange place" - dmr 29 July 1999 For more pure C++ coding, I recommend the exercises in Stroustrup's C+ +. How about something that gets you more familiar with a particular OS API (and its documentation)? - Recursively list files given a starting directory - Create a process that responds to the Windows service control manager start and stop requests - Open a socket and read / write data (can use Wireshark to observe and/or netcat to open a listener port and provide output) Also, interacting with a third party library can be useful in terms of reading and understanding documentation, IDE settings for the compilation and linking process, and learning how to adapt or shim your design for an interface created by others. - zlib - zip a specified file or directory Hope this was useful
From: Richard Heathfield on 8 Apr 2008 21:42 ed.norris.1(a)gmail.com said: <snip> [OP says] >> > My trouble is that any idea and/or challenge I can come up with is >> > usually too hard, unfocused or requires system-specific code, which is >> > not what I want to 'train', as it were. >> <snip> > For more pure C++ coding, I recommend the exercises in Stroustrup's C+ > +. Many of Stroustrup's exercises are either of the "hello world" variety, which the OP says he's moved beyond, or "unfocused" in the sense that you don't end up with a useful program at the end of the exercise. Perhaps you could specify which of the exercises you had in mind, that would be suitable for the OP's requirements? > > How about something that gets you more familiar with a particular OS > API (and its documentation)? See above - OP wants projects that *do not* require system-specific code. <snip> -- Richard Heathfield <http://www.cpax.org.uk> Email: -http://www. +rjh@ Google users: <http://www.cpax.org.uk/prg/writings/googly.php> "Usenet is a strange place" - dmr 29 July 1999
From: Richard Heathfield on 8 Apr 2008 22:57 ed.norris.1(a)gmail.com said: <snip> >> > Thank you for the feedback. I apologize that my unfamiliarity with my > newsreader's settings led you to believe that my recommendations were > a critique of what you wrote. My intention was to reply to the > original poster. <shrug> :-) > > Can I assume you approve of my other suggestions? I don't really care either way. :-) But I don't think they actually met the OP's objectives, which is why I replied as I did. That doesn't mean they're bad suggestions. <snip> -- Richard Heathfield <http://www.cpax.org.uk> Email: -http://www. +rjh@ Google users: <http://www.cpax.org.uk/prg/writings/googly.php> "Usenet is a strange place" - dmr 29 July 1999
From: Francis Glassborow on 9 Apr 2008 05:14
Richard Heathfield wrote: > ed.norris.1(a)gmail.com said: > > <snip> >> Thank you for the feedback. I apologize that my unfamiliarity with my >> newsreader's settings led you to believe that my recommendations were >> a critique of what you wrote. My intention was to reply to the >> original poster. > > <shrug> :-) > >> Can I assume you approve of my other suggestions? > > I don't really care either way. :-) But I don't think they actually met > the OP's objectives, which is why I replied as I did. That doesn't mean > they're bad suggestions. > > <snip> > In my experience the most important feature of a project to assist with learning to program is that it should be in a problem domain that interests you and preferably to tackle something you would find useful. For example, as a Bridge player and director I would find a program that worked out new 'movements' for a given number of tables useful. That one is a bit tough from the design aspect but a program to score a duplicate Bridge session is relatively easy to design though fairly demanding when you add in the requirements that it should cope when a pair have played the wrong boards, have played in the wrong orientation,the director has awarded an adjusted score etc. As a sailor and qualified sailing master writing a program to manage the results for 1) a single race (perhaps with timer hardware wired into the computer), a race series, a whole regatta etc. would be useful. As someone who is interested in lesser known games (both card and board) writing a program to support playing a game between humans but over the internet is interesting to me. Writing software to support strategy analysis is another possibility. Usually actually writing a program to enable the computer to play competently is a stretch too far. I just give the above as examples of the potential for programs that support some interest that you have. |