I'd say from there you should implement some basic algorithms and data structures. Write a program that takes a list of numbers of variable length, store those numbers in a linked list, and then sorts them (implement a linked list and some sorting algorithm).
Another good excercise is to implement a set using a binary tree. Have functions for inserting an element into a tree, maintaining the constraint that the left branch has only numbers smaller then the right branch for every node.
Avoid C, (and especially C++, or Java), go with a functional language like Lisp/Scheme or Haskell or Smalltalk, and put aside OO for later. Assuming you want to program, not get a job, of course.
Rorek's suggestions for data structures and algorithms are great. Ruby and Python also make good languages to actually do stuff in.
Smalltalk is great, but it's pure procedural OO. I'd go for ML for a functional language that still allows side effects without any special stuff. C is fine, IMO. You get a little of the low-level stuff that's kind of exciting, and you've got a wealth of good open source code available to look at. When I was atomicthumbs' age I hacked on the game Angband, which is a good example of a well-written C program.
Discussion (5)
I'd say from there you should implement some basic algorithms and data structures. Write a program that takes a list of numbers of variable length, store those numbers in a linked list, and then sorts them (implement a linked list and some sorting algorithm).
Another good excercise is to implement a set using a binary tree. Have functions for inserting an element into a tree, maintaining the constraint that the left branch has only numbers smaller then the right branch for every node.
Introduce yourself to an OO language first, the learning curve moving from procedural to object oriented design is a complete migraine.
Save yourself the time and move straight to C++ if you're set on starting with C.
Meh, a young nimble mind like atomicthumbs's should have no trouble with learning object oriented programming. I'd suggest ruby or python for that.
Avoid C, (and especially C++, or Java), go with a functional language like Lisp/Scheme or Haskell or Smalltalk, and put aside OO for later. Assuming you want to program, not get a job, of course.
Rorek's suggestions for data structures and algorithms are great. Ruby and Python also make good languages to actually do stuff in.
Smalltalk is great, but it's pure procedural OO. I'd go for ML for a functional language that still allows side effects without any special stuff. C is fine, IMO. You get a little of the low-level stuff that's kind of exciting, and you've got a wealth of good open source code available to look at. When I was atomicthumbs' age I hacked on the game Angband, which is a good example of a well-written C program.