Help Instructor Mirela Damian, Mendel 167A. Office hours are Mondays 3:00 - 4:30 pm and Thursdays 2:00 - 3:30 pm.
CSC helpdesk and peer tutors are available to help you with programming and basic system issues.

Online forum: use Piazza to post questions and answers (not via email).

Aug. 25 Lecture
  • Goals and Introduction (pdf)
  • Quick Overview of C versus Java (pdf)

Homework

  • Introduction to Computer Systems (zybook, check the Assignments section)
  • Part I due on Tuesday, ; Part II due on Thursday,

Download

Aug.
Sep.
30
  1
Review

Lecture

  • Number Systems (pdf)

Hands-on

  • Logging In and Out from Unix (html)

Homework

  • Introduction to Unix lab (check the Assignments section) due on Tuesday,
  • Read Chapter 2, "Numbering Systems" of the Tarnoff textbook (pdf)

Links - check out these fun resources:

Sep.   6
  8
Review
  • Unix Absolute and Relative Paths (pdf)

Lecture

  • Introduction to Unix (pdf)
  • Data Representation (pdf)

Homework

  • Navigating the Unix File Systems lab (check the Assignments section) due on Thursday,
  • Read Chapter 3, "Binary Math and Signed Representations" of the Tarnoff textbook (pdf)

Quiz (Sep. 8)

  • on Unix (emphasis on absolute and relative paths) and number systems
Sep. 13
15
Lecture
  • Data Representation (contd.)
  • IEEE Floating Point Standard (pdf)

Links

Homework
  • Data Representation (zybook, check the Assignments section) due on Thursday,
  • Number Representations (check the Assignments section) due on Tuesday,
Sep. 20
22
Lecture
  • Bitwise versus Logical Operators (pdf)

Labs

  • Compiling and Running Programs in Unix (html, not graded)

Homework

  • Read Chapter 9.1 "Bitwise Operations" of the Tarnoff textbook (pdf)
  • Number system conversions (check the Assignments section) due on Thursday,

Quiz (Sep. 20)

  • on data representation (characters, signed integers, overflow, floating point)
Sep. 27
29
Lecture/Lab
  • Digital Logic Gates (html)
  • Practice (pdf)

Homework

  • Read Chapter 4, "Logic Functions and Gates" of the Tarnoff textbook (pdf)
  • Digital Logic Gates (check Assignments section) due on Tuesday,

Quiz (Sep. 29)

  • on bitwise operations
Oct.   4
  6
 
Midterm on Thursday, Oct. 6
Oct. 10-16:   Fall Break
Oct. 18
20
Lecture
  • Arrays and Strings in C (pdf)

Lab

  • Manipulating Arrays and Strings in C (html, practice, not graded)

Reading

  • Strings in C (html, tutorialspoint)
Oct. 25
27
Lecture
  • Pointers in C (pdf)

Lab

  • Pointer Arithmetic (html, practice, not graded)

Reading

Quiz (Oct. 25)

  • on (local, global) arrays and strings in C (lecture material up to and including the length function)
Nov.   1
  3
Hands-on
  • Pointer Arithmetic

Lecture (Nov. 3)

  • Machine-Level Representation of Programs (pdf)

Quiz (Nov. 3)

  • on pointers in C
Nov.   8
10
Lecture (Nov. 10)
  • X86 Assembly - Memory Addressing Modes (pdf)

Handout

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

Lab

  • Reading and Debugging X86 Programs (html)
Quiz (Nov. 8)
  • on strings and pointer arithmetic in C (use Lab on Pointer Arithmetic to prepare)
Nov. 15
17
Lecture
  • Stack Usage for Function Calls (pdf)

Handout

Hands-on:

  • Finding Function Arguments on the Stack (html)

Reading

Quiz (Nov. 17)

  • on translating X86 to C
Nov. 22 No class meeting
Nov. 23 - 27:   Thanksgiving Break
Nov.
Dec.
29
  1
Lecture
  • Viruses, Worms and Trojans (pdf)

Hands-on

  • Buffer-Overflow Attacks on the Stack (pdf)

More on buffer overflow attacks

Latest buffer overflow security news

Dec.   6
  8
Lecture
  • Basics of Cryptography and Password Security (pdf)

Lab

  • Pretty Good Privacy (html)
Final Exam: Section 001: Thursday, December 15, 8:30 am - 11:00 am
Section 100: Tuesday, December 20, 6:00 pm - 8:30 pm