Justin M. LaPre

CSCI 2500, Computer Organization

Fall 2017

Dr. Herbert Holzbauer (holzbh AT cs.rpi.edu) & Dr. Justin M. LaPre (laprej AT cs.rpi.edu)
Department of Computer Science
Rensselaer Polytechnic Institute
110 8th Street Troy, New York 12180
Course web site: https://piazza.com/rpi/fall2017/csci2500
Office Hours:

Class Time and Location: Sage 3303, Tuesdays and Fridays, 12 p.m. to 1:50 p.m.

Like the Constitution, this syllabus should be considered a "living document" in that it is subject to change. You will be notified of any changes made.

Course Description

Introduction to computer organization, assembler language, and operating systems with a heavy emphasis on systems and low-level programming. Topics include, but are not exclusively limited to:

Prerequisite CSCI 1200 (Data Structures).

Required Textbooks

Computer Organization & Design: The Hardware/Software Interface, 5th Edition (2013), by Patterson and Hennessy. Amazon link.

Optional Textbooks

C Programming: Language: A Step by Step Beginner's Guide to Learn C Programming in 7 Days (2016), by Darrell L. Graham. Amazon link. FREE KINDLE EDITION AS OF 2017-08-16

Graduate Teaching Assistants

We have three Graduate TAs assigned to our class.

Lab Sections

While email addresses are supplied for all course staff, please prefer to use Piazza instead of email unless the matter is specifically about you. For example, a family emergency, illness, etc.

Schedule of Topics

Schedule of Homework and Quizzes and NO CLASS days

Grading and Other Class Policies

We will also be using Submitty (AKA the homework server). Details will follow on Piazza.

Attendance Policy: Attendance at lectures is not required, but be aware that we may include material not necessarily covered in the text or on the web page. You are responsible for all announcements made in lecture (e.g., any change in due dates).

Lab Sections: Lab attendance is mandatory and you will be graded. Keeping up with the labs will be the best way for your to make sure that you do not fall behind.

Group Project: The group project allows for groups of up to 3-4 students to collaborate on a larger assignment than the individual assignments typically require. 15% of each student's grade will be determined by their peers. If two students code the entire project while a third does nothing, that student should not expect the same score as the rest of the team.

Late Assignments Policy: All students begin the semester with three initial late days that can be used for late submissions. These are consumed in whole day increments. In other words, if you are one hour late, that will count as one day. 25 hours late will count as two days, etc. Additional late days may be earned via iClicker points gained in lecture. You may not use more than three late days per assignment. Once your late days are exhausted or you have exceeded three late days, late assignments will not be graded.

Missed Quiz Policy: Missed quizzes can only be made up under the following circumstances:

Grade Disputes: Grade disputes must be made in person within 10 days. After 10 days has elapsed, the grade on record will stand.

Assignment Grading Criteria: Programming assignments are graded as follows: 15% for proper comments (e.g., each function should indicate what it does) and 85% for a correct working implementation. We typically divide the correctness points over key functions working. For example, reading -- worth 10 points, writing -- worth 10 points as file correctly, and then doing the calculation correctly -- worth 65 points. Note that programs that either don't compile or generate a core dump typically get no more than 20 points of the 85. Thus, your max score for a "properly commented" program that fails in some fundamental way is only 35 points even if you spent 100 hours of time on it. Non-programming assignments/homeworks are graded on a per-problems basis. Typically 5 problems will be given and each is worth 20 points. These should be typed up using a word processor of your choice e.g., MS Word, LaTeX, etc. These must be submitted on Submitty as well.

Students With Special Needs

Federal law requires all colleges and universities to provide specified types of assistance to students with disabilities. If you require such assistance, please obtain an authorizing memo from Disability Services for Students by contacting the Student Health Center. Information about a student's special needs will be treated as confidential. Please submit a copy of your authorizing memo to your professor well in advance of any affected exam or assignment. Failure to do so may result in a lack of special accommodations.

Academic Integrity

While I strongly encourage you to form study groups and work together in learning this material, the course project, homeworks and programming assignments are to be done individually unless otherwise noted by the assignment/project specification. What this means is that you should do whatever is necessary to ensure your work remains your work. If during in the grading process, it is determined that students shared or duplicated work, those students will automatically score a zero for the offense and a report will be sent to the Dean of Students Office which could result in additional disciplinary action. For a second offense, the student or students involved will fail this course. Additionally, undergraduates offenders cannot mentor in the future. In the event a graduate student is caught cheating, that student will fail.

Learning Outcomes

By the end of this course, you will be able to: