CSC263 Computer Computer Organization and Architecture I
Fall 2021

 

von neumann diagram

 

Professor Emmi Schatz
Email: eschatz@middlesexcc.edu or use the canvas inbox
Phone: 215-839-8209
Web Page: http://cs.middlesexcc.edu/~schatz


Office Hours:

Text/Email/Zoom Hours are Monday and Wednesday 5:30 to 6:30 and Tuesday 3:30 to 4:30.

By Appointment Hours are Tuesday 4:30 to 5:30 and Thursday 3:30 to 4:30.

You can also contact me through email or text at any other time. Most of the time I will respond within a few hours.

Prerequisite: CSC133 or CSC161

Corequisite: None

Textbooks:     The Essentials of Computer Organization and Architecture, 5th Edition
                      Authors: Linda Null and Julia Lobur
                      Jones and Bartlett, 2019

                      An Introduction to MIPS Assembly Language, 4th Edition
                      Authors: Linda Null and Julia Lobur
                      Jones and Bartlett, 2017

These books will be used in this course and in CSC264. You must buy both the Organization and Architecture book and the MIPS book. The MIPS book is only available as an ebook; you have a choice between a physical book and an ebook for the Organization and Architecture book. Do not rent the text from the bookstore because that only gives you access for one semester, and you will be using it for two semesters.

Even though the MIPS book is an ebook, you will get a physical card from the bookstore with your access code.

Course Description:

In this course you will begin the study of the fundamentals of computer architecture, emphasizing RISC architecture and assembly language. Topics include binary arithmetic, Boolean algebra, gates and simple circuits, data representation, RISC architecture, RISC vs. CISC principles, and the development of RISC assembler programs.

Why is it important for computer science students to study computer architecture? Certainly it's possible to write code without knowing anything about the machine that executes it, just as it's possible to drive a car without knowing how it works. But the characteristics of the hardware impact how our code runs, and understanding these characteristics can help us write better code and deal with certain kinds of errors. Plus it's really interesting! If you've only coded in a high level language like Java, you have no idea what the hardware can do versus what the language is doing for you.

Course Objectives:

  1. Describe the functional components involved in instruction execution and the actions required to execute instructions.
  2. Convert text and numbers to internal representations.
  3. Perform binary and hexadecimal arithmetic manually.
  4. Explain the principles of RISC architectures and the difference between RISC and CISC architectures.
  5. Construct truth tables for Boolean functions, simplify Boolean functions, and implement circuits for Boolean functions.
  6. Write and debug assembler programs that include I/O, character processing, arithmetic, conditional processing, and repetition.
  7. Write and debug assembler programs that perform bit manipulation.
  8. Write and debug assembler programs that include functions and function calls.
  9. Write and debug assembler programs that involve data structures such as arrays and lists.

Accomodations:

If you need accomodations due to a disability, please contact the Counseling and Career Services Department. Counseling is working remotely at this time, so for accomodations please send an email to Elaine Weir-Daidone at edaidone@middlesexcc.edu.

Lab Assignment and Homework Assignment Due Dates:

Five points will be deducted for a lab that is one or two days late. Ten points will be deducted for a lab that is more than two days late. No lab will be accepted more than one week late. Lab assignments are graded on a scale of 0 to 100.

Make sure that you follow the requirements in the assignment. Do not change the input or the input format; do not change the output format.

Labs will be submitted through Canvas. Labs are not accepted through email.

COVID-19 Attendance Policy:

All students must follow College, County, and State health directives. If you are coming on to campus for classes, services, or activities, you must wear a mask while indoors, regardless of your vaccination status. Do not come to campus if you feel sick, especially if you have symptoms consistent with COVID-19.

In the event that you find yourself experiencing COVID-19 related symptoms, I request that you do the following:

You are responsible for completing any work that you might miss due to COVID-19-related illness, including quizzes, labs, and exams.

If you might need to miss more than two consecutive weeks of classes in any one semester due to COVID-19-related illness, you must contact the Dean of the Division of your major (Dr. Theresa Orosz, TOrosz@middlesexcc.edu, Liberal Arts Division; Dr. Donna Howell (DHowell@middlesexcc.edu) Business, STEM, and Health Professions Division). You may be required to provide a doctor’s note of explanation. The Dean will communicate the receipt of the note (with expected end date) to your professors.

Problem Sets:

Problem sets consist of questions and problems for you to do outside of class, including coding problems. These problem sets are very important practice for you to gain the understanding and skills needed in the class. These will be very helpful in preparing you for the labs and exams. The answers to the exercises will be provided. Questions on these problems are welcome, in class or in office hours!

Make-Up Policy:

Exams can be made up only in an emergency with prior permission of the instructor. A student must call before the exam and get the instructor's approval or he or she will not be permitted to take a makeup, and will earn a zero for that exam. In addition the student will be required to bring documentation of the emergency. Documentation includes a doctor's note, a bill from a car mechanic, or some other proof of the emergency situation. If a student has missed a session of class prior to an exam and a student returns on the day an exam is scheduled, the student will be required to take the exam scheduled for that session. Otherwise, a grade of zero will be earned for that exam.

THERE ARE NO MAKE-UPS FOR QUIZZES. If a quiz is missed, a zero is automatically earned for that quiz. The lowest quiz grade will be dropped.

It will be up to the student to find out what work has been missed due to absence. Absenteeism due to vacations or business or other obligations will be treated the same as any other absence. Students should make arrangements for makeup work before a predetermined absence or right after an unplanned absence.

Honesty Policy:

Students are expected to design, code, and debug their programs individually. Under no circumstances may a student share a copy of their program with another student. A student who shares their program with another student or copies a program from another student will receive a zero for two assignments and could possibly receive an "F" for the course depending upon the circumstances. Any student who cheats on an exam or quiz will receive a zero for that particular instance and could receive an "F" for the course depending upon the circumstances.

Students may discuss an assignment to clarify what is required. Students may discuss a specific statement or a couple of statements in a program to determine what it is doing, or should be doing. However, students may NOT share their program with a classmate, nor may students read or copy another student's program. Copying code from a source online is also considered cheating!

Using the Internet to ask questions or "get ideas" is STRONGLY DISCOURAGED. "Getting ideas" online means you are not learning to program; you are dependent on outside help. If you have questions you should contact me.

Remote Live Classroom Expectations:

Grading Criteria:

Grades will be based on the following breakdown:

  22% Exam 1
  22% Exam 2
  18% Quizzes (lowest grade dropped)
  15% Lab Assignments
  23% Final Exam

Final letter grades will be calculated as follows:
  A 93 - 100 (all assignments must be completed)
  A- 90 - 92
  B+ 87 - 89
  B 83 - 86
  B- 80 - 82
  C+ 77 - 80
  C 70 - 76
  D 60 - 69
  F below 60

 

Class Schedule (subject to change):

 

Week Topic
September 6 Introduction, Binary and Hexadecimal Numbers, Computer Arithmetic
September 13 Computer Arithmetic
September 20 Computer Components, Instruction Execution
September 27 Boolean Algebra
October 4 Karnaugh Maps, Digital Circuits
October 11 Digital Circuits
No Class Monday October 11
October 18 RISC design principles, RISC vs. CISC, Intro to MIPS
October 25 MIPS registers, MIPS instruction formats, MARS simulator
EXAM 1
November 1 MIPS I/O, Arithmetic instructions
November 8 Conditional Processing and Repetition
No Class Wednesday November 11
November 15 Bit Manipulation
EXAM 2
November 22 Arrays
November 29 Arrays
December 7 Machine Instructions
December 14 Review
December 19, 21, or 22 FINAL EXAM


Email Me | Office Hours | My Home Page | Department Home | MCC Home Page

© Copyright Emmi Schatz 2021