Ancient CS 61 Content Warning!!!!!1!!!
This is not the current version of the class.
This site was automatically translated from a wiki. The translation may have introduced mistakes (and the content might have been wrong to begin with).

NOTOC

Harvard School of Engineering and Applied Sciences Fall 2011 Prof. Stephen Chong

Lectures: Tuesday/Thursday, 2:30-4:00 Location: Maxwell Dworkin G115.

Old Announcements | Schedule | Sections | Course staff and office hours | Course policies | Assignments | Extension Students | Infrastructure | Resources


Announcements


Intro

CS61 covers 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, caching, virtual memory, dynamic memory management, concurrency, threads, and synchronization.

CS61 is 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 suitable for both Computer Science concentrators, and non-concentrators.

Taking CS61 will help tremendously if you plan to take more advanced courses in Computer Science, such as operating systems, compilers, architecture, or programming languages.

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 programming assignments during the term. Exams are open-book.

Prerequisites

CS 50, CS 51, or the instructor's permission.

Note: This course requires programming in C. You should deeply understand C pointers and arrays before taking this course. Ideally you should already have experience programming in C. If you have not previously programmed in C but know another procedural language, such as Java, you will likely be able to quickly learn what you need. See the resources page for pointers to material for learning C. Talk to the instructor if you are unsure whether you are sufficiently prepared for CS 61.

Textbook

Computer Systems: A Programmer's Perspective, Second Edition by Randal E. Bryant and David R. O'Hallaron. Click here for more information.

College concentration requirements

CS concentrators must take two of CS 50, CS 51, and CS61.

CS 61 may be used as one of the four half-courses in CS to satisfy the requirements for the secondary concentration in computer science.

Extension school

CS 61 is offered through the Extension School as CSCI E-61. Information specific to Extension School students can be found on the Extension Students page.

Additional Information