Below are old course websites to The University of Washington’s introductory computer science classes. If you are currently in high school and interested in learning programming, this is the perfect resource for you. Every lecture from both of these quarters was recorded and archived. All of the homework problems, exams, etc. are also on here. Begin by clicking on the link, and clicking the “calendar” tab on the website. There you can follow the class chronologically by watching the lectures and doing the respective homework. You will need Java on whatever computer you are using and an environment to program in (Information on how to get set up can all be found on the website.) These classes are designed for people with no prior programming experience, and taught by Stuart Reges, a fantastic instructor.
Computer Programming 1 (CSE 142) – Algorithms, Procedural Decomposition
Computer Programming 2 (CSE 143) – Object Oriented Programming, Data Structures
Some other great links:
Code Academy offers dozens of interactive intro courses to programming in various languages. Want a little taste of everything? This is the place for you.
Derek Banas has made tons of instructional videos on various elements of programming and computation. If you follow through the two courses above, he offers some great videos on pretty much all the material covered in the courses.