CMSC 15400
Introduction to Computer Systems

Spring 2018

 Important Links: Calendar/Schedule | Homeworks | Projects | Office Hours

Other Links: [Check all the links in the left bar]


This course covers the basics of computer syste
ms from a programmer's perspective. Topics include data representation, machine language programming, exceptions, memory systems, and being the client of an operating system. Our goal is to help students be more effective programmers and to prepare students for advanced systems courses, such as architecture, compilers, operating systems, and networks. 

The course involves homeworks, exams, labs, and programming projects.  Proficiency in C programming is assumed, as per the course pre-requisites (CMSC 12200, 15200 or 16200).

This is a popular class with a strict enrollment limit.  If you are not currently registered for the class we cannot make any assurances about being able to add it.


  • Please check the homeworks, projects, and labs (Links are also available in the left bar)
  • All assignments will be announced on Piazza.

Course FAQ and Logistics
  • Don't forget to carefully read the course FAQ page, and most importantly the academic honesty policy.
  • Please also read the course logistics page carefully which includes information about:
    • Communication and resources (Piazza, CSIL, SVN commit procedure, etc.)
    • Lecture and lab sections
    • Textbook information
    • Work and grading policies