Description
The primary goal of this course is to expose you to the underlying aspects of computer systems that have an impact on application programming. The major topics of this course include linking, exceptions, memory allocation and management, networking, and concurrency. These topics are important in all computer systems and will prepare you for future courses in compilers, operating systems, computer architecture, and networking.
This course also introduces and uses the C programming language. C is generally considered a low-level programming language, because all of its features can be implemented in a fairly straightforward manner on typical modern processors. Moreover, C exposes the details of memory allocation and management to the programmer. Therefore, it is much easier to gain an in-depth understanding of computer systems, as they relate to programming, by writing applications in C. These lessons can prove invaluable when writing complicated applications in higher-level languages, and when writing tools or building systems that will be used by other programmers. More pragmatically, despite the benefits of higher-level languages, C is still one of the most widely used languages, so a familiarity with it is important.
This course also introduces and uses the C programming language. C is generally considered a low-level programming language, because all of its features can be implemented in a fairly straightforward manner on typical modern processors. Moreover, C exposes the details of memory allocation and management to the programmer. Therefore, it is much easier to gain an in-depth understanding of computer systems, as they relate to programming, by writing applications in C. These lessons can prove invaluable when writing complicated applications in higher-level languages, and when writing tools or building systems that will be used by other programmers. More pragmatically, despite the benefits of higher-level languages, C is still one of the most widely used languages, so a familiarity with it is important.
General Information
Class web site
Staff Office Hours
Dave Johnson
R. Matt Barnett
Scott Rixner
Alan L. Cox
Jimmy Newman
William Cannon Lewis II
Nicholas Alvarez
Mike Fagan
David Cai
Zachary Lee
Shrinithi Narayanan
Alexandra Du
Yufeng Zhou
Anthony Cho
Arthur Chen
Sofia Torres-Small
Anthony Cho