Instructor: Professor Karen Karavanic (karavan at pdx.edu)
TA: Jeff De La Mare (dejef at pdx dot edu)
TA dropin hours: Mon 10:30am - 12:30 pm, Tues 5:30pm - 7:00pm, Fri 5:30pm - 7:00pm
PLEASE include instructor name on your emails to Jeff so he knows which section you are in
Introduction to computer systems from a software perspective. Topics include: Basic machine organization, System programming using C and assembly language, Introduction to system programming tools (gcc, makefile, gdb), Data representation (bits & bytes, characters, integers, floating point numbers), Implementation of control flow, procedure calls, and complex data types at machine level, Linking and loading, Exceptions and interrupts, Process control and signals, System calls, File I/O, Timing and improving program performance, Introduction to memory hierarchy, dynamic memory allocation techniques. Our learning platform will be linux on x86. This course covers all of the material in the "standard" CS 201 courses, and will prepare students for any PSU course with CS 201 as a prerequisite.
Required Textbook: Bryant and O'Halloran, "Computer Systems, A Programmer's Perspective" THIRD EDITION ISBN 978-0-13-409266-9
Prerequisites: CS 162 (or equivalent courses for a one year introduction to programming with basic data structures.