I have read through all of C for Dummies and am currently reading though the wonderful tutorials on this site. I am, however, having trouble absorbing the material. As with C for Dummies, I read along with the text (and often re-read it) and write and compile the practice programs that go along with each lesson. Unfortunately, this isn't (it seems to me) leading to any real skill in C or any real understanding of how to program on my own.
In the lab I work in, I learn assays that require lots of steps, very much in the same way as programming has been presented to me. What I know of myself from learning the assays is that I wont understand something or be able to perform a task unless I actively do it, myself. I.e., I can watch the assay be performed many times and not "get it."
I am wondering I can some guidance from the C wizards of this forum in terms of learning the language. I feel as if I could actually write a real program (with lots of help, of course) that it would greatly improve my ability to learn.
Please, any thoughts or guidance would be very much appreciated! ;)
Once you understand the basic syntax of the base language, you need to move on to problem solving. Just like learnign how to use a hammer wont teach you how to build a house, learning how to use the commands wont teach you to program, but you need that skill first. Once you have a grasp of that, pick some problem you would like to solve using the computer. Don't pick graphics or games, as those involve more complex programming than you are ready for just yet, pick something simple that you already know how to do, like solving quadratic eqautions using the FOIL method. Now figure out how you will go about making the computer do that.
I would navigate around the C Book Recommendation forum. As to really understand the language you must try by example in coding, coding and coding that can not be stressed enough. Run some simple math addition/subtraction programs and move on to division with floats, doubles and note what their limitations are and actually try to break your program and see what happens. Then move on to working with chars and string functions. Understand how .h files work and #defines and #includes and what they do.
In addition to working with the language you must get familiar with the compiler as well, such as gcc or g++.
Once you get comfortable, check out source forge for some good programming techniques and learn a bit on the side of software development the open source way.
Start small and work from there.
My 2 pennies