| Course
coordinates: MW 2:00pm-3:50pm Unitus (UTS) 206 Class e-mail: cs201 at lists.pdx.edu Click here to join Class WWW: http://thefengs.com/wuchang/work/courses/cs201 |
Instructor: Wu-chang Feng wuchang at cs.pdx.edu Office hours: 4pm-5pm Monday By Appointment FAB 120-14 (4th Ave Bldg.) |
TA: John Kassebaum kassebaj at cs.pdx.edu Office hours: W/Th 10:00am-11:00am Outside of FAB 120 |
|
Date |
Reading |
Topic |
Slides |
Assignment |
|
9/27 |
K/R Ch 1-4 |
Introduction, Course Expectations |
||
|
9/29 |
B/O Ch 1, Ch 7 |
The C Library, GDB |
||
|
10/4 |
B/O Ch 7 |
Computer System Organization |
||
10/6 |
B/O Ch 2.1-2.2 |
Data Representation |
||
|
10/11 |
B/O Ch 2.3-2.5 |
Arithmetic and Floating Point representation |
||
|
10/13 |
B/O Ch 3.1-3.5 |
IA32 Data Access and Operations |
||
10/18 |
Midterm Exam (K/R Ch 1-4,7, B/O Ch 1-2) |
|||
|
10/20 |
B/O Ch 3.6 |
IA32 Control Flow |
||
|
10/25 |
B/O Ch 3.7 |
IA32 Procedures, Stack smashing |
||
|
10/27 |
B/O Ch. 3.8, K&R Ch. 5.1-5.10 |
IA32 Pointers and Arrays |
||
|
11/1 |
B/O Ch. 3.9-3.10, K&R Ch 6 |
IA32 Structures, function pointers, embedded assembly |
|
|
|
11/3 |
B/O Ch 3.11, 3.14, 3.15 |
x86-64, SIMD |
||
|
11/8 |
B/O Ch 5 |
Optimizing program performance |
A3 Due |
|
|
11/10 |
B/O Ch 5 |
Optimizing program performance |
||
|
11/15 |
B/O Ch 6.2-6.8 |
Cache memories |
||
|
11/17 |
B/O Ch 6 |
Cache memories |
||
|
11/22 |
B/O Ch 8 |
Exceptional control flow |
A4 Due |
|
|
11/24 |
No class |
|||
|
11/29 |
B/O Ch 8 |
Exceptional control flow |
||
|
12/1 |
Exam review |
A5 Due |
||
|
12/8, Wednesday 12:30-2:20pm (CORRECTED TIME) |
Final Exam - Comprehensive |
You will need an account to log in to the Linux systems (linuxlab.cs.pdx.edu) provided by the college. If you don't already have an account, go to http://www.cat.pdx.edu/students.html for instructions. The Linux lab is located in FAB 88-10.
All students are required to join the class mail list. A great deal of information is communicated on this mailing list, including general questions, information, updates, hints on the homeworks, schedule changes.
Computer Systems: A Programmer's Perspective, 2nd ed., Bryant and O'Hallaron, Prentice Hall, 2010. ISBN 0-13-610804-0. Errata
The C Programming Language, 2nd ed., Kernighan and Ritchie, Prentice Hall, 1998. ISBN 0-13-110362-8. Errata
If you need general programming help or guidance, the Tutors. may be a very valuable resource for you. Students often require help on how to create and use a makefile as well as how to run a debugger. Google "GNU make tutorial" and "GNU gdb tutorial" to find simple examples.
Attendance is required. Students are expected to participate in class and are responsible for everything that transpires during class.
Reading assignments will be listed each week on the course web page.
Assignments are due at the beginning of class. Late assignments will docked 10% for each day late up to 5 days. After 5 days, late assignments will not be accepted.
You are expected to behave with integrity at all times. Cheating will result in a grade of zero on the assignment or exam on which the student cheats and the initiation of disciplinary action at the university level. Allowing another student to use your work as his/her own is also academic misconduct. There are a few simple steps that you can take to protect your work from unauthorized copying by another can be found here. For assignments, we will be using source-code plagiarism tools to check that code has not been duplicated.
Exams are in-class and closed notes and books.
|
Homework A1 |
10% |
|
Homework A2 |
10% |
|
Homework A3 |
5% |
|
Homework A4 |
5% |
|
Homework A5 |
5% |
|
Midterm exam |
30% |
|
Final exam |
35% |