|
Fall 2006: System Programming, CS 3335
Instructor: Dr. Michela Taufer
Days:
Time: 12:00 - 1:20
Room: CS 322
Office Hours: TBD
Email Address: taufer AT acm DOT org
Campus Office Number: 6957
Course Description:
This course will introduce the student to different aspects of programming and controlling their system. In particular, the ability to build their own applications and tools that make use of key operating system characteristics (exceptions, virtual memory, i/o, sockets, threads).
Textbooks:
Randal E. Bryant and David R. O'Hallaron, Computer Systems: A Programmer's Perspective (2003), Prentice Hall
Tentative Class Schedule:
- Class 01 - Introduction (Aug 22):
- Course Overview
- Course Organization
- Reading chap 1 assigned
- Class 02 - Bits and Bytes (Aug 24)
- Class 03 - Integers (Aug 29)
- Quiz chap 1 due
- Reading chap 2 assigned
- Class 04 - Floating point (Aug 31)
- Class 05 - Machine-Level Programming I - Introduction (Sep 5)
- Quiz chap 2 due
- Reading chap 3.1 - 3.7 assigned
- Class 06 - Machine-Level Programming II - Control Flow (Sep 7)
- Data Lab (L1) due
- Bomb Lab (L2) handed out
- Class 07 - Machine-Level Programming III- Procedures (Sep 12)
- Quiz chap 3.1-3.7 due
- Reading chap 3.8 - 3.16 assigneed
- Class 08 - Machine-Level Programming IV - Structured Data (Sep 14)
- Class 09 - Machine-Level Programming V - Miscellaneous Topics (Sep 19)
- Quiz chap 3.8 - 3.16 due
- Reading chap 5 assigned
- Class 10 - Exam 1 (Sep 21)
- Bomb Lab (L2) due
- Buffer Lab (L3) handed out
- Class 11 - Program Optimization I (Sep 26)
- Quiz chap 5 due
- Reading chap 6 assigned
- Class 12 - Program Optimization II (Sep 28)
- Class 13 - The Memory Hierarchy (Oct 3)
- Buffer Lab (L3) due
- Quiz chap 6 due
- Reading chap 7 assigned
- Class 14 - Cache Memories (Oct 5)
- Performance Lab (L4) handed out
- Class 15 - Linking (Oct 10)
- Quiz chap 7 due
- Reading chap 8 assigned
- Class 16 - Exceptional Control Flow I (Oct 12)
- Class 17 - Exceptional Control Flow II (Oct 17)
- Code examples: forks.c, external.c, internal.c,
- Quiz chap 8 due
- Reading chap 9 assigned
- Class 18 - Measuring Program Execution Time (Oct 19)
- Performance Lab (L4) due
- Shell Lab (L5) handed out
- Class 19 - Virtual Memory (Oct 24)
- Quiz chap 9 due
- Reading chap 10.1 - 10.8 assigned
- Class 20 - P6/Linux Memory System (Oct 26)
- Shell Lab (L5) due
- Malloc Lab (L6) handed out
- Class 21 - Dynamic Memory Allocation I (Oct 31)
- Quiz chap 10.1 - 10.8 due
- Reading chap 10.9 - 10.13 assigned
- Class 22 - Dynamic Memory Allocation II (Nov 2)
- Class 23 - System-Level I/O (Nov 7)
- Quiz chap 10.9 - 10.13 due
- Reading chap 11 assigned
- Class 24 - Internetworking (Nov 9)
- Class 25 - Exam 2 (Nov 14)
- Class 26 - Network Programming (Nov 16)
- Malloc Lab (L6) due
- Quiz chap 11 due
- Reading chap 12 assigned
- Class 27 - Web Services (Nov 21)
- Class 28 - Concurrent Servers (Nov 28)
- Reading chap 12.1 - 13.8 assigned
- Class 29 - Programming with Threads (Nov 30)
NOTE:
The student is responsible for changes that might occur with this schedule. In most cases, these changes will be announced in class and WebCT. It is imperative that the student attends class and check WebCT regularly in order to avoid missing updates.
Important Dates:
Labor Day, September 05 UTEP Closed
Course Drop Deadline: October 27, 2006
Thanksgiving Holiday: November 23 - 26 - No Classes
Final Exam: TBD, December 4-8, 2006
(*) Beginning the 1997 Fall semester, students or faculty members may initiate a drop with a grade of W until the drop deadline (3/18/2005). After that date, students may be dropped only with a grade of F. After that date, grades of W may only be assigned in exceptional circumstances after a written petition from a student and with the approval of the faculty member and the academic dean.
|