MPCS 51082 Introduction to Unix Systems (Autumn 2022)

Section 1
Instructor(s) Kenneth Samuels, Lamont (lamonts)
Location JCL 011
Meeting Times Thursday 5:30pm - 7:30pm
Fulfills Core Systems Elective

Syllabus

*Please note: The syllabus is tentative and subject to change.*

Course Description

This course aims to introduce to the fundamental concepts, principles, and abstractions that underlie the design and architecture of Unix systems. Students will learn how a Unix system works from the hardware level all the way up to the application level. The course will also focus on teaching students develop a command of the Unix shell environment by ensuring a basic understanding of Unix commands and utilities, and networking capabilities.  Students will also be able to learn about the fundamentals of systems programming in Unix. 

After taking this course, students will develop a more-depth understanding of Unix and be able to use this knowledge to better implement programs on a Unix operating systems such as Linux or OS X.

Course Content
 
Topics that will be explored in the course will include (but not limited to) the following:
  • Brief history of Unix and Linux 
  • Unix system architecture
  • Interacting with a Unix shell 
  • Basics of how hardware interacts with a Unix operating system 
  • Unix operating system and processes 
  • Shell scripting
  • Application development for systems programming 
  • Unix network utilities 

Course Prerequisites

Core Programming (completed or concurrently enrolled)

Other Prerequisites

This course requires competency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp (https://masters.cs.uchicago.edu/page/mpcs-unix-bootcamp) or review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 50103-1 -- Mathematics for Computer Science: Discrete Mathematics
  • MPCS 51083-1 -- Cloud Computing
  • MPCS 53014-1 -- Big Data Application Architecture

Eligible Programs

Masters Program in Computer Science MS in Computational Analysis in Public Policy (Year 2) MS in Molecular Engineering MA in Computational Social Science (Year 2) Masters Program in Computer Science (new students)