I struggled in the non-intro classes at MIT while I studied CS. The intro class-
6.001 (also called structures and interpretations of computer programs (itself a great book on how to program)) was wonderful and lead me through iterative programming without my realizing it. The next class, Computer Programming Lab, only had 6.001 as a prereq and I struggled. I did not have enough experience (even though I did well in the sole prerequisite). Anyway, Mythical Man Month by Fred Brooks is a wonderful book. It describes how to estimate the time needed to complete software projects (longer than you think), and how to go about (and think about) coding up a system. Code Complete by Steve McConnell is excellent at teaching one how to code, and for Java I liked Java: How to Program . Good luck--programming is fun. Just DOCUMENT IT. Then you won't have to spend the next n years of your life maintaining it; you can write new code instead:)
I struggled in the non-intro classes at MIT while I studied CS. The intro class- 6.001 (also called structures and interpretations of computer programs (itself a great book on how to program)) was wonderful and lead me through iterative programming without my realizing it. The next class, Computer Programming Lab, only had 6.001 as a prereq and I struggled. I did not have enough experience (even though I did well in the sole prerequisite). Anyway, Mythical Man Month by Fred Brooks is a wonderful book. It describes how to estimate the time needed to complete software projects (longer than you think), and how to go about (and think about) coding up a system. Code Complete by Steve McConnell is excellent at teaching one how to code, and for Java I liked Java: How to Program . Good luck--programming is fun. Just DOCUMENT IT. Then you won't have to spend the next n years of your life maintaining it; you can write new code instead :)