Justin M. LaPre

CSCI 2500, Computer Organization

Spring 2017

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/spring2017/csci2500
Office Hours: Amos Eaton 206, Tuesday and Friday, 2 p.m. to 4 p.m. (and by appointment).
Class Time and Location: DCC 318, Mondays and Thursdays, 4 p.m. to 5: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-01-16

Graduate Teaching Assistants

We have three Graduate TAs assigned to our class.

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 I 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). Additionally, you are responsible for the problem of the day.

Problem of the day: Each day in lecture you are to turn in the (dated) problem assigned from the previous lecture. The twist is that actually solving the problem is optional, i.e., you will receive full credit by simply putting your name on the page. With a very high likelihood, students actually attempting to solve the problem will achieve a deeper understanding of the material than those that simply write their name on the paper. Students are excused from handing this in on quiz days; turn it in at the beginning of the following lecture.

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: Three late days are permitted for assignments. They will be 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. Once these are exhausted, late assignments will not be graded.

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

Grade Modifiers Policy: Grade modifiers will be used in this class. Nominally, for example, you expect to earn a B- if your score is greater than 79.5 and less than 83.0, B if your score is greater than 83 and less than 86, B+ if your score is greater than 86 and less than 89.5. The same modifier points occur for the A, C and D ranges except that there is no A+ nor is a D- allowed under the RPI Grade Modifier Policy.

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. For a second offense, the student or students involved will fail this course and a report will be sent to the Dean of Students office which could result in additional disciplinary action. 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: