Main Page
From CS61 Wiki
Computer Science 61
Systems Programming and Machine Organization
Harvard University - Fall 2008
Prof. Matt Welsh
Tuesday/Thursday, 2:30-4:00 - Maxwell Dworkin G115
Quick links: Syllabus | Assignments | Section Notes | Resources | Announcements | Bulletin Board (Harvard only)
CS61 is a new course covering the fundamentals of computer systems programming, machine organization, and performance tuning. This course provides a solid background in systems programming and a deep understanding of low-level machine organization and design. Topics include C and assembly language programming, program optimization, memory hierarchy and caching, virtual memory and dynamic memory management, concurrency, threads, and synchronization.
CS61 is intended to serve as an introductory class to computer systems. It will help you develop the skills to write programs for the real world, where performance and robustness really matter. CS61 is not only intended for Computer Science concentrators: we imagine that students from many backgrounds, including physical sciences, life sciences, economics, and mathematics will gain a lot by taking the course. Students are encouraged to take both CS61 and CS51 in the same term, since the courses complement each other well, especially if you wish to be a CS concentrator.
Taking CS61 will help tremendously if you plan to take more advanced courses in Computer Science, such as operating systems, compilers, or architecture. (Eventually it may become a prerequisite for those courses.)
What about the workload? CS61 is not intended to be extremely difficult: we hope it will be fun, and challenging, but not require a tremendous amount of work. Students can work in pairs on the five programming assignments during the term. Exams are open-book/open-notes and the final is a 24-hour take-home exam.
Lectures: Tuesdays and Thursdays, 2:30-4:00pm, Location: Maxwell Dworkin G115
Prerequisite: Computer Science 50 or some experience programming in C. (CS51 is ok too.)
Textbook: Click here
Students are encouraged to take CS61 and CS51 at the same time.
CS61 may be used as one of the four half-courses in CS to satisfy the requirements for the secondary concentration in computer science (the secondary concentration requirements will be updated soon to reflect this).
CS61 may also be used to satisfy the breadth requirement for CS concentrators. Taking CS61 will count as taking a "systems" technical elective, similarly to CS161 or CS165.
Course Information
- Course Staff
- Syllabus and Lecture Notes
- Assignments
- Additional Resources and Handouts
- Textbook information
- Watch Prof. Welsh's Intro to CS61 lecture - Given in CS50 on December 10, 2007
- Presentation - Introduction to CS61 slides
Inspiration
- The Story of Mel -- A real programmer
- NY Times story on the rise of multicore processors
Help using this Wiki site
- Consult the User's Guide for information on using the wiki software.
- Configuration settings list
- MediaWiki FAQ
- MediaWiki release mailing list
- Course iSite - for course staff only.
