Help Instructor Mirela Damian, Mendel 167A. Office hours are Tuesdays and Thursdays 2:30pm - 3:30pm.
  CSC helpdesk and peer tutors are available to help you with programming\ and basic system issues.
 
Aug. 25
27
Lecture
  • Goals and Introduction (pdf)
  • Quick Overview of C versus Java (pdf)
  • Setting Up (html)
  • Help Desk Information (link)

Homework

  • Introduction to Computer Systems (html)
  • Part I due on Tuesday, . Part II due on Thursday, .
Sep.   1
  3
Lecture

Lab

  • Introduction to Unix (html).
  • Unix Absolute and Relative Paths (pdf)

Homework

  • Completed lab due on Tuesday, .
  • Read Chapter 2, "Numbering Systems" of the Tarnoff textbook (pdf)
  • zyBook Activities: sections 2.1 - 2.4 of chapter 2, "Number Representations" (html). Due on Thursday, .

Links - check out these fun resources:

Sep.   8
10
Lecture
  • Data Representation (pdf)

Lab

  • Navigating the Unix File Systems (html)

Homework

  • Completed lab due on Tuesday, .
  • Read Chapter 3, "Binary Math and Signed Representations" of the Tarnoff textbook (pdf)
  • zyBook Activities: sections 2.5 - 2.7 of chapter 2, "Number Representations" (html). Due on Thursday, .

Quiz (Sep. 10)

  • on printf, scanf (zyBook Introduction chapter) and number systems (Tarnoff chapter two exercises)
Sep. 15
17
Lecture
  • Data Representation (contd.)
  • IEEE Floating Point Standard (pdf)

Lab

  • Compiling and Running Programs in Unix (html)
  • Useful Unix (html)

Homework

  • Exercises 10, 11 and 12 from Chapter 3 of the Tarnoff textbook (html). Due on Tuesday, .
  • zyBook Activities: sections 3.1 - 3.2 of chapter 3, "Logical Operators" (html). Due on Thursday, .

Links

Quiz (Sep. 17)
  • on navigating the Unix file system (labs 1 and 2)
Sep. 22
24
Lecture
  • Bitwise versus Logical Operators (pdf)

Lab

  • Displaying Binary, Decimal and Hexadecimal (html)
  • Computing Systems Topics (pdf)

Homework

  • Read Chapter 9.1 "Bitwise Operations" of the Tarnoff textbook (pdf)
  • Binary/Decimal/Hex lab due on Tuesday, .
  • Computer Systems Topics handout due on Thursday, .

Quiz (Sep. 24)

  • on binary math and signed representations (Tarnoff chapter three exercises)
Sep.
Oct.
29
  1
Lecture

Lab

  • Digital Logic Gates (html)
  • Practice (pdf)

Homework

  • Read Chapter 4, "Logic Functions and Gates" of the Tarnoff textbook (pdf)
  • Completed lab due on Tuesday, .

Quiz (Oct. 1)

  • on bitwise operations
Oct.   6
  8
Catching up and review for midterm
Midterm on Thursday, Oct. 8
 
Oct. 12-20:   Fall Break
Oct. 20
22
Lecture
  • Preprocessor and Finite State Automata (pdf)

Lab

  • Decomment Preprocessor (html, due on Thursday, )

Reading (optional)

  • Chapter 11, "State Machines" of the Tarnoff textbook (pdf)
Oct. 27
29
Lecture
  • Arrays and Strings in C (pdf)

Lab

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

Homework

  • zyBook Activities (html, due on Thursday, )
Nov.   3
  5
Lecture
  • Pointers and Structures in C (pdf)

Lab

  • Pointer Arithmetic (html, practice, not graded)

Reading

Homework

  • zyBook Activities (html, due on Thursday, )
Nov. 10
12
Lecture
  • Machine-Level Representation of Programs (pdf)

Handout

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

Lab

  • Reading and Debugging X86 Programs (html)
Quiz (Nov. 12)
  • on strings and pointers in C
Nov. 17
19
Lecture
  • Stack Usage for Function Calls (pdf)

Handout

  • Understanding the X86 Stack (pdf)

Lab

  • Finding Function Arguments on the Stack (html, due on Tuesday, )

Reading

Nov. 24 Handout
  • Buffer-Overflow Attacks on the Stack (pdf)

More on buffer overflow attacks

Nov. 25 - 29:   Thanksgiving Break
Dec.   1
  3
Lecture
  • Basics of Cryptography and Password Security (pdf)

Lab

  • Pretty Good Privacy (html)
Dec. 10 Review for final exam
Final Exam: Tuesday, December 15, 8:30 am - 11:00 am.