Syllabus and course info

Class links

Software needed/used

  • PuTTY (or other SSH client, needed to access server)
    Note that all the following tools are already installed on the server and available for your use.
  • YASM (assembler)
  • GCC and tools (compiler and linker, other tools)
  • GDB (debugger) with GDB Dashboard
  • Emacs, Jmacs, Vim, Nano, Micro, etc. (editor)

Calendar, Notes, and Assignments

Date Subject Assignment
Week 1
Mon, Jan. 23 Introduction; Terminology; Digital Circuits
Wed, Jan. 25 Basic assembly; converting between numeric representations Group Project 1
Week 2
Mon, Jan. 30 Registers and simple loops
Wed, Feb. 01 Arithmetic operations; simple functions Assignment 1
Week 3
Mon, Feb. 06 Branching
Wed, Feb. 08 Branching and conditions -- applications
Week 4
Mon, Feb. 13 Functions and the stack Group Project 2
Wed, Feb. 15 Functions continued
Week 5
Mon, Feb. 20 President's Day Holiday
Wed, Feb. 22 Functions continued
(Lecture files to date)
Week 6
Mon, Feb. 27 Interop. with C; Floating-point operations
Wed, Mar. 01 Floating point and vector operations
Week 7
Mon, Mar. 06 Floating point, continued Group Project 3
Wed, Mar. 08 Instruction-level parallelism; pipelining on MIPS
Week 8
Mon, Mar. 13 Bitwise operations Group Project 4
Wed, Mar. 15 Midterm Review Midterm practice exam
(Solutions)
Week 9
March 20 — 24 Spring Recess
March 20 — 24 Spring Recess
Week 10
Mon, Mar. 27 Midterm exam
Wed, Mar. 29 Midterm Recap; Computer Organization and Caching
Week 11
Mon, Apr. 03 C-compatible structures; alignment and packing Assignment 2
Wed, Apr. 05 C-compatible structures continued
Week 12
Mon, Apr. 10 Assembly on the Z80 processor
Wed, Apr. 12 C-style strings; string operations
Week 13
Mon, Apr. 17 Macros part 1
Wed, Apr. 19 Macros part 2 Group Project 5
Week 14
Mon, Apr. 24 Macros part 3 Assignment 3
Wed, Apr. 26 Instruction formats
Week 15
Mon, May. 01 Memory Management
Wed, May. 03 Operating systems part 1: the boot process
Week 16
Mon, May. 08 Operating systems pt. 2: boot process continued
Wed, May. 10 Operating systems pt. 3: 32-bit mode
Week 17
Mon, May. 15 Final review Final practice exam
(Solutions)
Wed, May. 17 Final exam Assignment 4
Assignment 5