CAS CS210 Computer Systems
Fall 2013

Department of Computer
College of Arts and Science


This page http://www.cs.bu.edu/~jappavoo/webpages/cs210.html will NOT be generally updated. We will typically use the course's piazza site (http://piazza.com/class#fall2013/cs210 for all online information other than grades. For grade information we will use the course's Blackboard site (http://learn.bu.edu)

Announcements

Read and sign copy of syllabus for submission at your first discussion. See the course's piazza site (http://piazza.com/class#fall2013/cs210) for all online information other than grades. All future announcements will be done via the piazza site so please be sure to have register correctly.

Instructor

Prof. Jonathan Appavoo
Math & Computer Science Building Office: 284
111 Cummington Street, Boston, MA
Email: jappavoo (at) cs.bu.edu
Office Hours: Tuesday, Thursday 4:00-6:00PM

Teaching Fellow

Katherine Zhao
Email: kzhao (at) cs.bu.edu
Office Hours: Monday 2:00-4:00PM, Friday 3:00-5:00PM

Undergraduate Assistant

George Silvis, III
Email: gsilvis (at) bu.edu
Office Hours: Wednesday 4:00-5:30, Friday 3:00 - 5:00

Time And Place

Time:
Tuesday, Thursday 2:00pm to 3:30pm
Place:
School of Theology Building Room: B19

Syllabus

You are required to submit a signed and dated version of this syllabus to the TF in your first discussion session indicating that you have read, understood and agree to its contents. You can obtain a copy of the syllabus from here.

Class Schedule

Special Dates

You should be sure to be familar with the Official Semester Dates

Some of the critical Semester Dates are below:

Weekly Schedule

Week

Dates

Description

References

1 Sept 3, 5 TUES: CSPP-Ch1 -- Introduction
THUR: CSPP-Ch2 -- 2.1
Reading for Monday's Discussion USER: 210 PW: 210210
Research what SSH is and Putty.
2 Sept 10, 12 DISC: QUIZ 1 & Intro to UNIX
TUES: CSPP-Ch2 -- 2.1
THUR: CSPP-Ch2 -- 2.2
THUR: PA1 OUT
3 Sept 17, 19 DISC: QUIZ 2
TUES: CSPP-Ch2 -- 2.2,
THUR: CSPP-Ch2 -- 2.2
4 Sept 24, 26 DISC: QUIZ 3
TUES: CSPP-Ch2 -- 2.3
THUR: CSPP-Ch2 -- 2.3, Intro to Floating Point
TUES: PA1 IN
Read Selected Portions for Discussion of What Every Computer Scientist Should Know About Floating-Point Arithmetic
5 Oct 1, 3 DISC: REVIEW FOR MIDTERM 1
TUES: MIDTERM
THUR: CSPP-Ch3 -- 3.1-3.4
6 Oct 8, 10 DISC: QUIZ 4
TUES: CSPP-Ch3 -- 3.5-3.6
THUR: CSPP-Ch3 -- 3.7
7 Oct 17 NO CLASS ON TUESDAY
TUES DISC: QUIZ 5
THUR: CSPP-CH3 -- 3.8-3.10
TUES: PA2 OUT
8 OCT 22, 24 DISC: QUIZ 6
TUES: CSPP-CH6
THUR: CSPP-CH6
TUES: PA2 PART 1 IN
9 OCT 29, 31 DISC: QUIZ 7
TUES: CSPP-CH5
THUR: CSPP-CH5
TUES: PA2 PART 2 IN
10 NOV 5, 7 DISC: MIDTERM 2 REVIEW
TUES: MIDTERM 2
THUR: CSPP-CH8
TUE: PA3 OUT
11 NOV 12, 14 DISC: QUIZ 8
TUES: CSPP-CH8
THUR: CSPP-CH8
TUE: PA3 PART 1 IN
12 NOV 19, 21 DISC: QUIZ 9
TUES: CSPP-CH9
THUR: CSPP-CH9
THUR: PA3 PART 2 IN
THUR: PA4 OUT
13 NOV 26 DISC: QUIZ 10
TUES: CSPP-CH9
NO CLASS THURSDAY FRI: PA4 PART 1 IN
14 DEC 3, 5 DISC: QUIZ 11
TUES: CSPP-CH7
THUR: OTHER
15 DEC 10 DISC: REVIEW
TUESDAY IS LAST CLASS: REVIEW TUE: PA4 PART 2 IN

Tests/Exams

Name

Date

Solutions

Midterm 1 Oct 1 TBP
Midterm 2 Nov 5 TBP
Final Date ---

Assignments

Name

Dates

Resources

Solutions

PA 1: Data Lab OUT: Sept 12
IN: Sept 24, 1:30pm
handout
PA 2: Buffer Overflow Lab OUT: Oct 15
PART 1 IN: Oct 22, 1:30pm
PART 2 IN: Oct 29, 1:30pm
handout ---
Bonus: Bomb Lab OUT: Oct 15 handout ---
PA 3: 6502 Lab OUT: Nov 5
PART 1 IN: Nov 12, 1:30pm
PART 2 IN: Nov 21, 1:30pm
handout , resources ---
PA 4: 6502 Devices, Interrupts, and Context Switching Lab OUT: Nov 26
PART 2 IN: Dec 10, 1:30pm
handout, resource ---


Assignments

You will be required to submit an electronic copy of your code, in addition to both electronic and hard copies of supporting documentation and any requested written report(s). When explicitly specified, you may have the option to work in teams of two on large programming assignments.

General Requirements on What to Submit

Unless automated and otherwise specified, the program you submit should work correctly and be documented. You should submit an electronic copy of the following:

1. Program: a program listing containing in-line documentation (i.e., comments).

2. Design document: a separate file (a page or so) describing the overall program design, a verbal description of "how it works", and design tradeoffs considered and made. Also describe possible improvements and extensions to your program (and sketch how they might be made).

3. Testing document: a separate file describing how to run your program. Specify the steps that must be followed to successfully run your program. Also, describe the tests you ran on your program to convince yourself that it is indeed correct. Also describe any cases for which your program is known not to work correctly.

It is fine to submit all the above documentation in one README file, given you have clear subtitles. To save trees, you are required to submit a hard copy only of the above supporting documentation and any requested written report(s), but not of your program listing/code.

Additional Guidelines for Electronic Submission

[adapted from Prof. Matta's note that was adapted from D. Metcalf's note]

How to submit an electronic copy: (Only plain ASCII files!)

To submit your programming assignments, use the gsubmit program from your csa account.

gsubmit is an electronic file submission engine which will submit files or directories of files to the grader so they can be marked.

Every file submitted by a given student for a given assignment should have a unique file name. If a file is submitted with a duplicate name it will either overwrite the file or generate an error message.

To make it easy for the grader to find the files relating to a specific programming assignment, all files for each assignment should be stored in a subdirectory called pa1, pa2, pa3, etc. and the entire directory should be submitted.

To submit an assignment:

Create a subdirectory "pa#", where # is the programming assignment number. This is done using the mkdir command: e.g.,
mkdir pa5

Copy all files necessary for that assignment into the new subdirectory, using the cp command: e.g.,

cp prog1.s pa5 

Be sure to copy only the files you need to submit into this subdirectory.

Use gsubmit to submit the entire subdirectory:

gsubmit cs210 -cp pa5

If submission is successful a status message will be printed.

To submit a file to an already-submitted subdirectory:

If you only submitted part of the assignment and would like to add another file: To submit a file README.txt to subdirectory pa5, type (at the prompt):
gsubmit cs210 -cp README.txt pa5

To resubmit a file:

To resubmit a file prog1.s in subdirectory pa5, first unsubmit the file:
gsubmit cs210 -rm pa5/prog1.s
Then resubmit it:
gsubmit cs210 -cp prog1.s pa5

List all files which you have submitted:

To list all files which you have submitted, type:
gsubmit cs210 -ls

Looking at a file which has already been submitted:

To look at a file which has already been submitted, type:
gsubmit cs210 -cat pa5/prog1.s
You can store this in a file foo by typing:
gsubmit cs210 -cat pa5/prog1.s > foo

Where do submitted files go?

Each student who submits an assignment has a subdirectory created to hold his/her files, in a directory for the specified course. This is called the student's "submission spool directory".

How can the grader tell when a file has been submitted?

Every gsubmit command is automatically logged in a log file, along with a time stamp.

For further information:

Note - The information in this document is taken from the gsubmit man page. For further information type man gsubmit.

Online References

C/Unix

GNU/Unix Tools

The GNU project provides online manuals for all of the GNU tools, including:

Other



Academic Honesty

Assignments must be completed individually. Discussion of issues in computer systems is encouraged, but representing the work of another person as your own is expressly forbidden. This includes "borrowing", "stealing", copying programs/solutions or parts of them from others. We may use an automated plagiarism checker. Cheating will not be tolerated under any circumstances. Handing in your own work a day or two late will affect your grade far less than turning in a copy of someone else's work on time!

See the CAS Academic Conduct Code, in particular regarding plagiarism and cheating on exams. Copies of the CAS Academic Conduct Code are also available in room CAS 105. A student suspected to violate this code will be reported to the Academic Conduct Committee, and if found culpable, the student will receive a grade of "F" for the course.

Any resources, including material from other students (current or past), that are used, beyond the text or that provided by the TF or professor must be clearly acknowledged and attributed. Using such material may at the discretion of the TF or professor result in a lower grade. However, if such material is used and not acknowledged and attributed, it will automatically be considered as possible academic misconduct.


Last modified: Tue Sep 3 12:44:45 EDT 2013