Instructor: Mirela Damian, Mendel 167A
 
Aug. 27 Lecture
  • A Tour of Computer Systems (pdf)
  • Help Desk Information (link)

Lab

  • The Unix File System (html, due on )

Homework

Sep.   3 Lecture
  • Representing and Manipulating Information (pdf)

Homework

Links - check out these fun resources:

Sep. 10 Lecture
  • Representing and Manipulating Information (contd.)

Lab

  • Displaying Binary, Decimal and Hexadecimal (html, due on )
Sep. 17 Lecture
  • IEEE Floating Point Standard (pdf)

Lab

  • Bit Puzzles (pdf, due on )

Links

Quiz

  • On representing and manipulating information
Sep. 24 Lecture
  • Machine-Level Representation of Programs (pdf)

Handout

  • Translating X86 to C (pdf, practice for exam)

Lab

  • Reading and Debugging X86 Programs (html)
Oct.   1 Lecture
  • Stack Usage for Function Calls (pdf)

Handout

  • Understanding the X86 Stack (pdf)

Lab

  • Finding Function Arguments on the Stack (html, due end of class )
  • Binary BOMB (pdf, due on )

Reading

Oct.   8 Lecture
  • A Crash Course on Pointers, Arrays and Strings (pdf)

Handout

  • Buffer-Overflow Attacks on the Stack (pdf)

Lab

  • Buffer BOMB (pdf, due on )
Oct. 12-20:   Fall Break
Oct. 22 Lecture
  • A Crash Course on Pointers, Arrays and Strings (contd.)

Reading

Quiz

  • On X86 stack usage for function calls
Oct. 29 Lecture
  • Optimizing Program Performance (pdf)
Nov.   5 Lecture
  • Unix Processes (pdf)

Lab

  • Implementing your own system function (html). Code we wrote in class.

Reading

Nov. 12 Lecture
  • Threads and Semaphores (pdf)

Lab

  • Synchronizing Threads with Semaphores (html)
Nov. 19 Exam
Nov. 25 - 29:   Thanksgiving Break
Dec.   3 Lecture
  • Security (pdf)

Presentation topic due

Dec. 10 Final Presentations (html)
Dec. 15 Final exam period (8:30 am - 11:00 am) will be used for presentations (if needed).
Note: there is no final exam for this course