Main Page

From CS61 Wiki

Jump to: navigation, search

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

Inspiration

Help using this Wiki site

Personal tools