1.) Overview of Computer Systems and Linux Crash Course
2.) The C Programming Language: Building Blocks and Data Structures
3.) Memory, Virtual Memory, and C-Strings (5009-Debugging)
4.) A peek into Assembly and CPU Architecture (And more debugging)
5.) Writing Bigger Software - Compilers, Linkers, and Code Generation
6.) Processes and the Memory Hierarchy
7.) Concurrency
8.) Algorithms Foundations: Sorting - Selection, Insertion, Bubble
9.) Spring Break
10.) Primer on Proofs
11.) nLogn Sorts and How We Prove It
12.) Trees, Heaps, and Heapsort
13.) Introduction to Graphs
14.) Greedy Algorithms and Dynamic Programming
15.) Final Review and Course Wrap up
☰ Select another Module

Module 1 - Overview of Computer Systems and Linux Crash Course

Audio/Video Recording

Module Content

Module Overview

In this module we start the course! Watch this video carefully to understand the logistics of how this course is going to run!

Module Outline

  • Lecture outline
    • Course Syllabus
    • Course Logistics
    • Introduction to Computer Systems and Linux Crash Course
    • Introduction to Scripting
    • Writing a first C Program


(Graded) In-Class Activity link

  • In-Class Activity Link
    • This is graded, and only your first response is graded
    • This is an evaluation of what was learned in lecture.
    • Due one week from when the lecture takes place

Please do not redistribute or host any materials without e-mailing me first. I generally am happy to share the latest .pdf or slide presentation with those who ask. Thank you for your time!