Lecture

Meeting: Monday & Wednesday, 12:30PM-1:45PM @ 60 Fifth Ave. Rm. 150
Instructor: Randy Shepherd - rjs471 [at] nyu.edu
Office Hours: Wednesdays 7:00PM-8:00PM @ WWH 425
Graders: Bhaskar Gurram - bhaskar.gurram [at] nyu.edu, Puneet Kaur - pk1616 [at] nyu.edu, Simranjyot Gil - simranjyot [at] nyu.edu

Recitation

Meeting: Tuesday, 8:00AM-9:15AM @ WWH 109
Leader: Hassan Zaidi - hmz224 [at] nyu.edu
Office Hours: Tuesdays 4:45PM-6:45PM @ WWH 412

In-class exercises and quizzes will take place in recitation. Therefore attendance is crucial. It will be recorded. You will need to bring a laptop to recitations. If this is a problem for you please see me.

Waitlist Questions

Please direct them to Romeo Kumar - kumar [at] cs.nyu.edu

Description

Prerequisites: Data Structures (CSCI-UA 102)

Covers the internal structure of computers, machine (assembly) language programming, and the use of pointers in high-level languages. Topics include the logical design of computers, computer architecture, the internal representation of data, instruction sets, and addressing logic, as well as pointers, structures, and other features of high-level languages that relate to assembly language.

Acknowledgments

Many materials used in this course are borrowed with permission from Joanna Klukowska, Jiyang Li, Mohamed Zahran, Randal E. Bryant (CMU) and David R. O’Hallaron (CMU)

Syllabus

  • C: basic types, control flow
  • C: pointers and arrays
  • Bitwise integers / IEEE 754
  • Machine Programming
  • System Hardware
  • Memory hierarchy
  • Caching
  • Virtual Memory
  • Dynamic Memory Allocation
  • Exceptions and processes
  • Multitasking and signals
  • Concurrent programming

Textbooks

Required:

Recommended: