Computer Systems CS 3650

"No more magic" -- Your Instructor

Schedule/Road Map


The following is our tentative syllabus for the course, some changes should be expected throughout the semester. I will announce in class or through e-mail any major changes.

  • To get all of the assignments/activities for the course, you must first click the following link: CS 3650 Monorepo Do not do a 'git pull' until class starts (Occasionally I make changes/spelling corrections)
Week
Date
Lecture and Readings Assignments Note(s)
1 Wed/Thur, Sept. 5/6, 2018 Lecture 1 - An Overview of Computer Systems
A1 - Automate (some of) your life (due Sept, 13 @ 11:59pm)
First week of classes, welcome back!
2 Monday, Sept. 10, 2018 Lab 1 - Terminal Overview
-- --
-- --
Wed/Thur, Sept. 12/13, 2018 Lecture 2 - The C Programming Language
A2 - C Data Structures (due Sept, 24 @11:59pm)
-- --
3 Monday, Sept. 17, 2018 Lab 2 - C Data Structures
-- --
-- --
Wed/Thur, Sept. 19/20, 2018 Lecture 3 - Assembly and Machine Representation
-- --
-- --
4 Monday, Sept. 24, 2018 Lab 3 - Assembly
A3 - Assembly (due Oct. 6 at 5:00pm)
-- --
Wed/Thur, Sept. 26/27, 2018 Lecture 4 - Compilers and Linkers
-- --
Mike out of town a video recording will be played during class.
5 Monday, Oct. 1, 2018 Lab 4 - Code Generation
-- --
Note: This lab will be due Tues. Oct. 9 because of the holiday.
Wed/Thur, Oct. 3/4, 2018 Lecture 5 - Processor
A4 - Shell (due. Oct. 17 at 11:59pm)
-- --
6 Monday, Oct. 8, 2018
------ (Review your notes) ------
-- --
No Class -- Holiday
Wed/Thur, Oct. 10/11, 2018 Lecture 6 - The Memory Hierarchy
-- --
-- --
7 Monday, Oct. 15, 2018 Lab 5 - Processes and Cache Simulator
-- --
-- --
Wed/Thur, Oct. 17/18, 2018 Lecture 7 - Virtual Memory and Dynamic Memory Allocation
A5 - Allocators 1 (due. Oct. 29 at 11:59pm)
-- --
8 Monday, Oct. 22, 2018 Lab 6 - Allocators
-- --
Lab6.zip (git add/commit/push to your repo if it is missing)
Wed/Thur, Oct. 24/25, 2018 Lecture 8 - Concurrency
-- --
-- --
9 Monday, Oct. 29, 2018 Lab 7 - Multiprocessing
-- --
-- --
Wed/Thur, Oct. 31/Nov. 1, 2018 Lecture 9 - Optimizations and Parallelism with SIMD
A6 - Concurrency (due. Nov. 8 at 11:59pm)
-- --
10 Monday, Nov. 5, 2018 Lab 8 - AVX
-- --
-- --
Wed/Thur, Nov. 7/8, 2018 Lecture 10 - OpenMP/GPUs
A7 Allocator 2 (due. Nov. 28 at 11:59pm)
-- --
11 Monday, Nov. 12, 2018
------ (Review your notes) ------
-- --
No Class Veterans Day
Wed/Thur, Nov. 14/15, 2018 Lecture 11 - Operating Systems and xv6 and Schedulers
-- --
-- --
12 Monday, Nov. 19, 2018 Lab 9 - Parallel Programming
-- --
-- --
Wed/Thur, Nov. 21/22, 2018
------ (Enjoy good food!) ------
-- --
No Class, Thanksgiving Recess
13 Monday, Nov. 26, 2018 Lab 10 - xv6
A8 Released (to be announced, and due Dec. 4 at 11:59pm)
-- --
Wed/Thur, Nov. 28/29, 2018 Quiz
Study Guide
-- --
14 Monday, Dec. 3, 2018 Lecture 12 Final Class - Course WrapUp/Class photos
-- --
-- --
Wed/Thur, Dec. 5/6, 2018 No Class -- will be in office --
-- --
Dec. 5 Last day of Fall Classes