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. 24 Introduction; Terminology; Digital Circuits
Wed, Aug. 26 Digital circuits
Week 2
Mon, Aug. 31 Basic assembly; converting between numeric representations
Wed, Sep. 02 Registers and simple loops
Week 3
Mon, Sep. 07 Labor Day Holiday
Wed, Sep. 09 Arithmetic operations; simple functions
Week 4
Mon, Sep. 14 Branching
Wed, Sep. 16 Branching and conditions -- applications
Week 5
Mon, Sep. 21 Functions and the stack
Wed, Sep. 23 Functions continued
(Lecture files to date)
Week 6
Mon, Sep. 28 Interop. with C; Floating-point operations
Wed, Sep. 30 Floating point and vector operations
Week 7
Mon, Oct. 05 Floating point, continued
Wed, Oct. 07 Instruction-level parallelism; pipelining on MIPS
Week 8
Mon, Oct. 12 Bitwise operations
Wed, Oct. 14 Midterm Review
Week 9
Mon, Oct. 19 Midterm exam
Wed, Oct. 21 Midterm Recap
Week 10
Mon, Oct. 26 C-style strings; string operations
Wed, Oct. 28 Macros part 1
Week 11
Mon, Nov. 02 Macros part 2
Wed, Nov. 04 Macros part 3
Week 12
Mon, Nov. 09 Structures
Wed, Nov. 11 Veterans' Day Holiday
Week 13
Mon, Nov. 16 MIPS assembly language
Wed, Nov. 18 MIPS assembly
Week 14
Mon, Nov. 23 Instruction formats
Wed, Nov. 25 Memory Management
Week 15
Mon, Nov. 30 Operating systems part 1: the boot process
Wed, Dec. 02 Operating systems pt. 2: boot process continued
Week 16
Mon, Dec. 07 Final review
Wed, Dec. 09 Final exam