Welcome to the Winter 2019 offering of CS107E!

CS107E is Computer Systems from the Ground Up. Read more about the course here.

  • Our class discussion form is hosted on Piazza. We will post all announcements on Piazza and you can ask and answer questions there.

Upcoming events

  • Loading...

This week’s schedule

Date Topics/Readings
Week 1
Lecture
Mon 1/7
Introduction and Welcome ( slides )
Lab/assign No lab in first week Assignment 0: Choose Lab Section, Learn Git ( writeup )
Lecture
Fri 1/11
ARM processor and architecture ( slides , code )
Week 2
Lecture
Mon 1/14
ARM assembly and machine code ( slides , code )
Lab/assign Lab 1: Setup your Raspberry Pi ( writeup )

Please do the Lab 1 prelab preparation before coming to lab.

Assignment 1: Implement a Larson Scanner ( writeup )
Lecture
Fri 1/18
From Assembly to C ( slides , code )
  • Review ARM manual section A3.2 and 3.3 on conditional execution and branch instructions
  • Brush up on C basics (syntax, data types, operators, control structures, function calls) via your favorite C reference; sections 1-2 of Nick Parlante’s EssentialC; or chapters 1, 2, and 3 of K&R. Skip content on I/O and standard libraries (we are bare metal!)
  • Read Dennis Ritchie’s account of the history of C.
  • Link to Compiler Explorer demoed in lecture

See schedule for entire quarter.

Meet the CS107E team