Computer Science 200 (Winter 2008)
Computer Systems Programming I
http://www.thefengs.com/wuchang/work/courses/cs200
Time: MW 8:15-10:05      Location: Lincoln Hall 249
Instructor
Wu-chang Feng
(wuchang at cs)

Office Hrs: MW, 10:30am-12pm
            FAB 120-17
TA
Kathryn Mohror
(kathryn at cs)

Office Hrs: 10-11am Tuesday
            2:30-3:30pm Friday
            Outside FAB 120

Course objectives are here

Course schedule

Date

Reading

Topic

Slides

Assignment

1/7

K&R Ch 1-4

Introduction, Course Expectations
The C Programming Language

Slides

Slides

Examples

 

1/9

B&O Ch 1

Computer System Organization

Tutor help slides

Slides

Examples

 

1/14

K&R Ch 7

C I/O and Libraries

Debugging

Slides

Slides

Examples

 

1/16

B&O Ch 2.1-2.2

Data Representation

Slides

Examples

 

1/21

 

No Class (MLK Day)

   

1/23

B&O Ch 2.3-2.5

Integer and Floating Point Arithmetic

Slides

Examples

 

1/28

B&O Ch 3.1-3.3

Encodings and Data Formats

Slides

Examples

 

1/30

B&O Ch 3.4

Accessing Information

Slides

Examples

A1 Due


2/4

B&O Ch 3.5

Arithmetic and Logical Operations

Slides

Examples

 

2/6

B&O Ch 3.6

Control Flow

Slides

Examples

A2 Due

2/11

Midterm Exam

Sample Midterm

2/13

B&O Ch 3.6

Control Flow

Slides

Examples

 

2/18

B&O Ch 3.7

Procedures

Slides

Examples

 

2/20

K&R Ch 5.1-5.10, B&O Ch 3.8

MECOP presentation, Pointers and Arrays

Slides


2/25

K&R Ch 5.1-5.10, B&O Ch 3.8

Pointers and Arrays

Slides

Examples

 

2/27

K&R Ch 6

Structures in C

Slides

Examples

 A3 Due

3/3

B&O Ch 3.9-3.10,3.14

Structures in assembly, Floating Point

Slides

Examples

 

3/5

B&O Ch. 3.11

K&R Ch. 5.11-5.12

Understanding Pointers

Slides

Examples

 

3/10

 

Review for final exam

Sample questions for final

Sample Final

3/12

B&O Ch. 3.15

Embedded Assembly Code

Slides

Examples

A4 Due

3/17, 8:00am - 9:50am

 

Final Exam - Comprehensive

   

Accounts

You will need an account to log in on one of the various Unix (cecs.pdx.edu or cs.pdx.edu) or 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 86-01.

 

Class Mail List

All students are required to join the class mail list at http://groups.yahoo.com/group/pdx-cs200/. The official class list is pdx-cs200@yahoogroups.com. A great deal of information is communicated on this mailing list, including general questions, information, updates, hints on the homeworks, schedule changes.

Required Textbooks

Computer Systems: A Programmer's Perspective, Bryant and O'Hallaron, Prentice Hall, 2002. ISBN 0-13-034074-X. Errata

The C Programming Language, 2nd ed., Kernighan and Ritchie, Prentice Hall, 1998.     ISBN 0-13-110362-8. Errata

Help

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

Assignments

Academic Integrity

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.

Grading

There will be approximately four programming assignments and 2 tests. Tests are in-class and closed notes and books.  The homework assignments count for 40% of your final grade for the course, and the two tests count for 60%. 

Homework assignments 

 40% 

Midterm exam 

 25% 

Final exam 

 35% 

 


Content for this course taken from material originally authored by Gerson Robboy