Stony Brook University – Spring 2020

Course Overview

Catalog Description

This course will introduce assembly language programming and essential concepts of computer organization and architecture. The focus of this course is on the computer organization of a computer system, including the processor architecture and the memory system. In particular, we will discuss the internal representation of information, performance evaluation methodology, instruction set architectures and implementation techniques for computer arithmetic, control path design, and pipelining.

Major Topics Covered

  • Internal number representations
  • Basic memory organization: bits, bytes, words, ASCII
  • Overview of MIPS: instruction cycle, processor registers.
  • Assembly language: loops, conditional branching, addressing modes
  • Assembly language: register conventions, function calls, parameter passing
  • Introduction to digital logic: Boolean algebra, digital circuit design
  • Arithmetic/Logic Units
  • Processor datapath and control path design
  • Processor dipelining

Course Learning Outcomes

  • An understanding of processor organization.
  • An understanding of instruction set architecture design, and complex versus reduced instruction set computers.
  • An understanding of implementation techniques such as number representations, computer arithmetic, processor data paths, pipelining.
  • An ability to program in assembly language and understand the relationship to processor design.

Course Meeting Times

Lectures

Tuesdays & Thursdays, 1:00 pm – 2:20 pm in Javits Lecture Center 102. Lectures will be delivered via Zoom and will be recorded.

Recitation Sessions

Recitations will be delivered via Zoom and will NOT be recorded.

  • R01: Mondays 10:00 - 10:53 am in New Computer Science 115 (TA: Jason Huang)
  • R02: Wednesdays 10:00 - 10:53 am in New Computer Science 115 (TA: Qiting Wu)
  • R03: Mondays 11:00 - 11:53 am in New Computer Science 115 (TA: Joe Weaver)
  • R05: Mondays 12:00 - 12:53 pm in New Computer Science 115 (TA: Dorothy Shek)
  • R06: Wednesdays 12:00 - 12:53 pm in New Computer Science 115 (TA: Zhen Yi Pan)
  • R07: Mondays 2:30 - 3:23 pm in New Computer Science 115 (TA: Mahdy Schuaib)

Textbook

Digital Design and Computer Architecture, 2nd Edition, by David Harris and Sarah Harris. Morgan Kaufmann, 2013. ISBN-13: 978-0-12-394424-5.

Communication with the Course Staff

Instructor Info

  • Prof. Kevin McDonnell
  • Email: ktm@cs.stonybrook.edu
  • New Computer Science Building 212
  • Office Hours:
    • Mondays and Thursdays, 10:00 - 11:30 am via Zoom.
    • Other times by appointment
  • Want a letter of recommendation from me? Please review my expectations posted on my home page.

Teaching Assistant Office Hours

See the office hours schedule for TA office hours. All office hours are held in Computer Science 2217 online via Zoom.

Piazza

The Piazza discussion board should be used for all communication with the teaching staff for questions about the course assignments and material. Email should be sent to individual instructors or teaching assistants only to schedule appointments.

Piazza is a forum for additional learning and assistance. The following are not appropriate uses of Piazza:

  • cyber-bullying
  • posting memes
  • complaining about a grade
  • airing concerns/comments/criticisms about the course
  • posting more than a few lines of source code from an attempt at a programming assignment
  • posting the solution to a rogramming assignment or a link to a website containing the solution
  • in general, anything unrelated to the course material and student learning

Therefore, students are expected to use the Piazza forum for all non-personal, course-related communication. Questions about what a rogramming assignment is asking, technical problems that need troubleshooting, or other questions that might be of interest to other students must be posted to Piazza and not emailed to the instructor or a TA.

If code is relevant to your Piazza question you may post only short code snippets. For more extensive help with reviewing or debugging your code, please visit office hours.

Email Etiquette

A student should email the instructor under the following circumstances:

  • Blackboard is not properly displaying a grade.
  • One cannot come to office hours and would like to set up an appointment to meet at another time. In this case, the should include his/her availability for the upcoming week.
  • If a student needs to contact the instructor or TA about a private matter. Examples include:
    • Making arrangements for disability accommodations.
    • To discuss private, personal matters that are impacting one's coursework such as physical or mental illness, death in the family, etc.

When emailing the instructor about the course, students should observe the following guidelines to ensure a timely response:

  • use one's official @stonybrook.edu email account
  • use a descriptive subject line that includes "CSE 220" and a brief note on the topic (e.g., "CSE 220: Appointment")
  • begin with a proper greeting, such as "Hi Prof. McDonnell"
  • briefly explain one's question or concern or request
  • end with a proper closing that includes one's full name, Net ID and SBU ID number

Assessments and Grading Scheme

Quizzes and Examinations

There will be two midterm examinations one midterm exam and a cumulative final examination. There will be five or six in-class quizzes two in-person quizzes and four online quizzes. In-person quizzes will generally take place at the start of lecture. Online quizzes will be taken asynchronously outside of class time via Blackboard. No quiz scores will be dropped.

All in-person quizzes and exams will be closed-book and closed-notes. No access to electronic devices will be permitted during in-person quizzes or exams. The online final exam must be taken using Respondus Lockdown Browser.

Tentative Examination Dates and Times:

  • Midterm Exam 1: Tuesday, February 25th during class time
  • Midterm Exam 2: Tuesday, April 14th during class time
  • Final Exam: Tuesday, May 19th from 2:15 - 4:45 pm in a room TBD online via Blackboard. Exam must be taken using Respondus Lockdown Browser.

Make-up Quizzes and Examinations

Make-up quizzes exams will be given only in extenuating circumstances, such as a documented personal illness. In such cases the student must inform the instructor about an anticipated absence before the day of the quiz or exam and provide supporting documentation to the Dean of Students Office (e.g., doctor's note stating that the student was ill and unfit to take the quiz or exam). Students who miss a quiz or exam for a valid reason will need to take a make-up quiz or exam, as appropriate. Specific arrangements will be made on a case-by-case basis. Make-up quizzes and exams will not be made available to students who are absent due to job-related commitments, vacations, oversleeping, etc.

Attendance

Attendance at recitation is required. Attendance will be taken each recitation. Students are permitted to miss one recitation meeting without penalty. Any additional absences will result in point deductions.

Students are responsible for all missed work, regardless of the reason for absence from lecture and/or recitation. It is also the absentee’s responsibility to obtains all missing notes or materials from a classmate.

Programming Projects

Students will be assigned four five programming assignments, which must be completed independently. Offering or accepting solutions from others is an act of plagiarism, which is a serious offense. All parties involved in academically dishonest behavior will be penalized according to the Academic Integrity Policy provided below.

Extensions or late submissions will not be granted under any circumstances. If some sort of emergency prevents you from submitting your assignment on time, supply the instructor with suitable documentation and notification prior to the assignment deadline. The instructor might also refer you to the Dean of Students for follow-up consultation.

Projects must be completed in MIPS assembly. A submission that is not in MIPS assembly and is written in some other form/language (for example, in a higher-level variant or a code generating software/framework) will not be accepted for credit. This policy applies even if the code generator is of your own creation or invention. You are not permitted to use any code or tools that are not provided by the course to complete the assignments.

Project code must be submitted on or before the day they are due. Students are urged to plan ahead to avoid problems such as congestion or failure of computer facilities at the last minute. If your assignment is incomplete or is not working by the due date, turn in whatever you have. Note due to limited resources for grading, programs which do not compile or run for testing may not be graded. Students who take this course are often surprised by just how much time this course requires of them. You are advised to budget your time wisely and to start working on an assignment the day it is posted.

Re-grades

Human beings sometimes make mistakes. Any grading errors you believe you have found on a project submission must be emailed to cse220@cs.stonybrook.edu, not to the instructor or a teaching assistant. Time is a precious commodity, so please do not spend instructor office hours or TA office hours arguing about points. Regrade requests must be made in writing no later than one week after graded work is returned to the class. Regrade requests that are made later than one week from the date the graded work is returned to the class will not be honored.

Grading Scheme

  • Midterm Exams: 40% (20% each): 20%
  • Final Exam: 20% 30%
  • Quizzes: 10% 12%
  • Recitation Attendance: 5%
  • Programming Projects: 25% (4%, 7%, 7%, 7% for projects 1-4, respectively) 33% (4%, 7%, 7.33%, 7.33%, 7.34% for projects 1-5, respectively)

Course Grade Cutoffs: A [93-100], A- [90-93), B+ [87-90), B [83-87), B- [80-83), C+ [77-80), C [73-77), C- [70-73), D+ [67-70), D [63-67), F [0-63)

All scores and course grades will be posted on Blackboard.

Tentative Class Schedule

Week Lecture Topics
1 Number Systems
2 MIPS Assembly Basics
3 Digital Logic
4 MIPS Assembly Arrays and Functions
5 Midterm Exam 1
6 Karnaugh Maps
7 Multiplexers
8 Spring Break
9 Arithmetic/Logic Units
10 Latches and Flip-flops
11 Midterm Exam 2
12 Single-cycle MIPS CPU
13 Single-cycle MIPS CPU
14 Pipelined MIPS CPU
15 Pipelined MIPS CPU
16 Final Exam

Free Tutoring Services

The College of Engineering and Applied Sciences (CEAS) offers a range of free tutoring services for students in CSE, AMS and other courses. See the CEAS Undergraduate Student Office website for more information. For small group and one-on-one tutoring please inquire also at the Academic Success and Tutoring Center.

Academic Integrity

Every student's homework submission must be his or her own work. You are not permitted to share, borrow or even look at another student's work while completing your own homework. Likewise, copying code from any source other than the textbook or from the instructor's handouts will constitute cheating. Any evidence that source code or solutions have been copied, shared or transmitted in any way, including the use of source code downloaded from the Internet or written by others in previous semesters, will be regarded as evidence of academic dishonesty. All examinations will be closed-notes and closed-book. No electronic devices of any kind will be permitted to be used during exams. All cell phones must be silenced or turned off during exams. Any use of electronic devices, textbooks, notes or any other materials will constitute cheating.

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at https://www.stonybrook.edu/commcms/academic_integrity.

Americans with Disabilities Act

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Student Accessibility Support Center, ECC (Educational Communications Center) Building room 128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.

Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Student Accessibility Support Center. For procedures and information go to the following website: http://www.stonybrook.edu/ehs/fire/disabilities.

Critical Incident Management

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures.