Syllabus and course info

Class links

Software needed/used

Except for PuTTY, all of these are already installed on the FCCSCI server. PuTTY, or another SSH client, is the only program you need to download onto your own computer.

  • PuTTY (or other SSH client, needed to access server)
  • 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, Aug. 25 Introduction; Terminology; Digital Circuits
Wed, Aug. 27 Basic assembly; converting between numeric representations Assignment 1
Week 2
Mon, Sep. 01 Labor Day Holiday
Wed, Sep. 03 Registers and simple loops
Week 3
Mon, Sep. 08 Arithmetic operations; simple functions
Wed, Sep. 10 Branching
Week 4
Mon, Sep. 15 Branching and conditions -- applications Assignment 2
Wed, Sep. 17 Functions and the stack
Week 5
Mon, Sep. 22 Functions continued
(Lecture files to date)
Wed, Sep. 24 Interop. with C; Floating-point operations Group Project 1
Week 6
Mon, Sep. 29 Floating point and vector operations
Wed, Oct. 01 Floating point, continued
Week 7
Mon, Oct. 06 Instruction-level parallelism; pipelining on MIPS Assignment 3 — Xoroshiro64**
Wed, Oct. 08 Bitwise operations Assignment 4 — Caching simulation
Week 8
Mon, Oct. 13 Midterm Review Midterm practice
(Solutions)
Wed, Oct. 15 Midterm exam
Week 9
Mon, Oct. 20 Midterm Recap
Wed, Oct. 22 C-style strings; string operations
Week 10
Mon, Oct. 27 Macros part 1
Wed, Oct. 29 Macros part 2
Week 11
Mon, Nov. 03 Macros part 3
Wed, Nov. 05 Structures
Week 12
Mon, Nov. 10 MIPS assembly language
Wed, Nov. 12 MIPS assembly
Week 13
Mon, Nov. 17 Instruction formats
Wed, Nov. 19 Memory Management
Week 14
Mon, Nov. 24 Operating systems part 1: the boot process
Wed, Nov. 26 Operating systems pt. 2: boot process continued
Week 15
Mon, Dec. 01 Digital circuits
Wed, Dec. 03 Digital circuits
Week 16
Mon, Dec. 08 Final review
Wed, Dec. 10 Final exam