CSC 2400-100 FF Computer Systems I Fall 2008

SYLLABUS


Meetings
Thursdays Aug. 28 to Oct. 9, 6:00-9:30pm, Mendel Science Center G87
Instructor Dr. Thomas Way
160A Mendel Science Center

Email:   thomas.way@villanova.edu
IM:       DrTomWay
Phone:  (610) 519-5033
Office hours M 12-1, W 3-4, Th 4-6, other times by appointment.
Teaching Assistant Andrew Burke <a.burke@villanova.edu>
Office hours: Thursdays 5-6pm (tentative)
Also, see Programming Assistants' schedule on CS Dept. web site
Textbook Required: Computer Systems A Programmer's Perspective, Randal E. Bryant and David R. O'Hallaron, Prentice-Hall, First Edition, 2003. ISBN 0-13-034074

Optional: The C Programming Language (second edition), by Brian W. Kernighan and Dennis M. Ritchey, published by Prentice-Hall. Note that there are also many excellent and free C programming references online.
Web site
http://www.csc.villanova.edu/~tway and follow the link for CSC 2400.
Course
description

This course is the first part of a two semester sequence – Computer Systems I and II. The goal of this course is to bridge the gap between high-level programming and actual computer systems -- processors, caches, operating systems, compilers, linkers and so on. Unix will be used as a running example. Labs will be interspersed with lectures to give students hands on experience with the C language and the Unix system.

The section you are enrolled in is "FastForward," meaning we will cover an entire semester of material in just 7 weeks. In addition to the regular, weekly meeting of class, there will be an online component to the course. This will consist of a frequently updated FAQ where answers to student questions will be posted in the form of text, graphics or multimedia such as powerpoint or streaming video. This content will comprise a significant addition to the classroom content.

What you will
get out of this
class

  • Student will differentiate between different internal formats to represent numerical data and their effect on precision and accuracy.
  • Student will be able to explain of the role of the basic computer system components (hardware and software) and how they interact with one another.
  • Student will read and write simple machine level code corresponding to fundamental programming language constructs.
  • Student will enhance rogramming skills through the development, testing and debugging of C programs in Unix.
  • Student will use basic operating system services to implement medium-to-large application programs.
  • Students will appreciate the need for security and ethics in computer use.
Topics
  • Tour of Computer Systems
  • Representing and Manipulating Information
  • Machine-Level Representation of Programs
  • Memory Hierarchy
  • Exceptional Control Flow
  • System-Level I/O
  • Network Programming
  • Concurrent Programming
Grading policy
25%  Homework assignments & Quizzes         Note new grade distribution 9/18/08!
40%  Programming Projects & Labs
30%  Final Exam

  5%  Participation (attendance, class discussion, intellectual contribution to class)
Final grades
92 A 88 B+ 78 C+ 68 D+
90 A- 84 B 74 C 64 D
80 B- 70 C- 60 D-
Makeup
Policy

Attendance is mandatory because the pace of the course is so rapid. In the event an absence is unavoidable, contact the instructor immediately to make arrangements.
Late Assignment Policy
No assignments will be accepted late without the direct consent of the instructor prior to the due date of the assignment. Typical penalty is 10% off for each day an assignment is late. Absolutely no assignments will be accepted beyond the date of the final exam (last class meeting), unless specifically arranged with the instructor.
Academic Integrity Please be cognizant of the difference between individual and group projects, and used good judgment in following the University's policy on Academic Integrity. Severe academic penalities will be imposed for violations of this policy, such as receiving at a minimum 0% credit for an assignment, or at the maximum a failing grade for the course, at the discretion of the instructor.

Last updated: 09/18/08