CPSC 313 -- Introduction to Computer Systems (Fall 2008)

CPSC 313 -- Introduction to Computer Systems (Fall 2008)



Lecture: Lab :

Time:
TR 3:55pm-5:10pm
Location:
113 HRBB

Time:
Section 501: M 1:50pm-3:40pm
Section 502: T 9:35am-11:25am
Location:
209 HRBB

Instructor: Teaching Assistant :

Riccardo Bettati
509C Harvey R. Bright Bldg
845-5469
Office hours:
M 11:00am-12:00pm
T 2:00pm-3:00pm
R 2:00pm-3:00pm
and by appointment
e-mail:
bettati cs tamu edu

Daniel Miller
229 Reed McDonald
phone TBA
Office hours:
W 9:00am - 10:00am
R 9:00am - 10:00am
F 9:00am - 11:00am
e-mail:
dmiller neo tamu edu


Schedule | Slides | Tests | Homeworks | Labs

News/Announcements:








Prerequisites

CPSC 312 (Computer Organization)

Description

The objective of this course is to provide you with a general understanding of what system software is involved for an application program to run, both on a single node and over a network, and how this system software is to be used. In support of this, the course will prepare you to do system-level and network programming. This course will teach you how to "use" (as opposed to "design") system components, such as memory, file systems, process control, interprocess communication, and networking. By the end of this course you will have an understanding of the problems and pitfalls typically encountered in the design and implementation of multithreaded and networked applications and system.

More specifically, by the end of this course you will be proficient at making full use of the services provided by the underlying operating system by programming directly at the operating system interface level, POSIX over UNIX in our case.

At the end of this course you will understand the following aspects of a computer system, in no particular order:




Textbook and Other Reading

Other Interesting Reading

These optional books complement the textbook. Perusing them may help you better understand some issues discussed in class. A good selection will be made available at the Reference Desk in the Library.


Lectures:

During lectures we will be covering OS concepts and case studies. The material covered in the lectures will provide the background and foundation for you to appreciate the lab assignments and to succeed in them. Reading of assigned portions in the textbook and other related material is your responsibility. You are also expected to follow instructions and be aware of announcements made during lectures. (See Communication Policy below.)


Labs:

A very important part of this course is the Lab, where you will put into practice some of the material learned in the lectures, and where you will acquire a working knowledge of one widely used application interface (POSIX) to and operating system (UNIX). We will meet weekly for a an in-lab session, where we will be presenting and discussing new material, or go over problems you may be encountering. After an introductory session to familiarize you with the particular environment that we will be using, there will be a series of machine problems with various difficulties, which will exercise different parts of the operating system: file system, process and thread management, memory management, networked execution, and so on.

In order to maximize the learning experience, we will not have groups of students work on the machine problems. Instead, each student will have to turn in their own solution. While we encourage you to collaborate during the Inquiry phase of the machine problem, the design and implementation of the machine problem solution has to be your own. You are not allowed to copy from other solutions of the machine problem, nor are you allowed to make solutions available to other students.

Machine problems are supposed to be handed in on CSNET. Details will be available in the Lab Manual.

Note: Some of the lab assignments are quite demanding, and will require some dedication and some time. Expect that you won't be able to finish them during the allocated lab time!


Assessment Method (Subject to Minor Changes!)

This couse will have three tests (140+140+170 = 450 points,) a series of machine problems (totalling 400 points,) several homeworks (totalling = 100 points,) and others (50 points).

The grading scale looks as follows:

We expect that the machine problems and the tests may have some bonus points.

Late-Submission Policy: All the submission deadlines have included extra time for the consideration of accidental events such as (not limited to) unavailable resource (machines are down,) sickness of students, stock market collapse, distress due to the Aggies loosing a game, etc. This means that additional extensions are generally not granted. The rule of the game: START EARLY!

Both homework and projects will be submitted on CSNET. Unless stated otherwise, lateness is penalized with 1/5 of the earned points of the item per calendar day.


Examinations

There will be two midterms and one final examinations. The midterms will be in-class, and the final will be during the allocated time during Final's Week.

All tests will be closed-book. You will be allowed one hand-written "cheat sheet" of size 8.5in x 5.5in. No other aids will be allowed, except for writing utensils.


Communication Policy

Instructor, Teaching Assistants, and Peer Teachers for this course will do their best to communicate relevant administrative information (deadlines, information about posted material, details about projects, locations of tutorials, and so on) in an effective and timely manner. We will be using anouncements in class, postings on the web site, material on csnet, and occasionally e-mails to students.

Having said that, keep in mind that this is not a distance education course! You are expected to be current with the material covered in class and with any announcements made in class. In fact, announcements in class will override whatever information has been made available through the other channels.

Note on e-mail accounts: Over the years we have been having problems with off-site e-mail accounts used by students. We will therefore be sending CS-313 related e-mail to the accounts listed on TamuDirect only. (These are typically of the form xxxx@neo.tamu.edu, xxxx@cs.tamu.edu, or xxxx@tamu.edu.) Make sure that you have access to these mails, and forward them appropriately if needed.

Note on e-mail etiquette: E-mail is a very convenient and potentially effective way to communicate with instructor and TA, but only if used in a professional manner. Keep in mind that -- in particular when a deadline is looming -- we are receiving many e-mails, and all senders expect immediate turn-arounds. Therefore, keep your e-mail short and to the point; indicate that you have done some thinking *before* typing the e-mail; provide necessary support documentation (e.g. code sections) when needed (don't attach huge amounts of code!); follow standard basic rules for courteous and professional communication; proofread your e-mail before sending it out. We will not answer e-mail that does not follow these rules. Repeated offenders will be added to the spam filter.


Academic Integrity

The Aggie Honor Code applies. (Check http://www.tamu.edu/aggiehonor for details.)

Disabilities Policy Statement

The Americans with Disabilities Act (ADA) is a federal antidiscrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact the Department of Student Life, Services for Students with Disabilities in Cain Hall, Rm. B118, or call 845-1637.


These pages are prone to change without notice! Consult them regularly to avoid surprises.


Last modified: Tue August 25, 2008