“Demanding, but definitely doable. Social, but educational. A focused topic, but broadly applicable skills. CS 50 is the quintessential Harvard course.”
In this course, Harvard Professor David J. Malan gives 32 video lectures on Introduction to Computer Science. This is a first course in computer science at Harvard College for concentrators and non-concentrators alike. More than just teach you how to program, this course teaches you how to think more methodically and how to solve problems more effectively. As such, its lessons are applicable well beyond the boundaries of computer science itself. That the course does teach you how to program, though, is perhaps its most empowering return. With this skill comes the ability to solve real-world problems in ways and at speeds beyond the abilities of most humans.
Topics included in this course are:
- Introduction to the Intellectual Enterprises of Computer Science
- Algorithms: Their Design, Specification, and Analysis.
- Software Development: Problem Decomposition, Abstraction, Data Structures, Implementation, Debugging and Testing.
- Architecture of Computers: Low-level Data Representation and Instruction Processing.
- Computer Systems: Programming Languages, Compilers, Operating Systems.
- Computers in the real world: Networks, Security and Cryptography, Artificial Intelligence, Social Issues
- Assignments include extensive programming in the C Language and PHP
None. CS 50 does not assume any prior programming experience.
No books are required for this course.
However, you may want to supplement your preparation for or review of some lectures with self-assigned readings relevant to those lectures’ content from either of the books below. The first is intended for those inexperienced in (or less comfortable with the idea of) programming. The second is intended for those experienced in (or more comfortable with the idea of) programming. Both are available for purchase at the Coop and at sites like Amazon.com. Both of these books have been placed on reserve at Cabot Science Library and Gordon McKay Library. Realize that free, if not superior, alternatives to these books can be found among the course’s online resources.
For Those Less Comfortable
Absolute Beginner’s Guide to C, Second Edition
Sams Publishing, 1994
For Those More Comfortable
Programming in C, Third Edition
Sams Publishing, 2004
The book below is recommended for everyone, particularly those interested in understanding how their own computers work, for personal edification. At the Coop, this book is bundled at a discount with each of the books above. It is also available for purchase separately at sites like Amazon.com. It, too, has been placed on reserve.
How Computers Work, Eighth Edition
Que Publishing, 2005
This last book below is recommended for aspiring hackers, those interested in “programming tricks” and low-level optimization of code, for applications beyond the scope of this course. It is also available for purchase at the Coop and at sites like Amazon.com. It, too, has been placed on reserve.
For Aspiring Hackers
Henry S. Warren Jr.
Original Course Name: Computer Science 50: Introduction to Computer Science I
Course Details: Harvard College