CS 221 : Computer Organization and Assembly Language Programming

Syllabus


Instructor

Instructor:Dr. Clifton Presser
Office:Glatfelter 210
Phone:(717) 337-6639
Email: cpresser@gettysburg.edu
Office Hours: Monday, Wednesday 11:00 am to 12:00 pm
Tuesday, Thursday 1:10 pm to 2:30 pm
Drop in anytime my door is open or make an appointment.

Class web site

Course materials are available via Moodle.

Prerequisites

CS112

Gettysburg Curricular Goals

This course satisfies the Quantitative, Inductive and Deductive Reasoning goal of the Gettysburg Curriculum. Students will write computer programs to solve problems using the techniques from this class.

Text

Topics

Assembly LanguageRepresenting numbers in binary
Two's Complement NumbersFloating Point Representations
Character SetsMachine Language
Binary ArithmeticDigital Logic
CPU ComponentsMemory Management
PipelinesParallel Processing
I/O SystemsStorage

Learning Objectives

Students will...

Course Credit

According to the College Catalog's section on Degree Requirements: "For transfer of credit to other institutions, the College recommends equating one course unit with 4 semester hours." This valuation is in alignment with our 32 course requirement for graduation.

The federal government defines a credit hour as the equivalent amount of work as 50 minutes in class and two hours out of class for one semester.

Therefore, this course should be the equivalent work of three hours and twenty minutes in class and 8 hours outside of class. Since the course meets two and a half hours per week, the schedule contains a "fourth hour" item each week which is some program, project, or activity outside of the normal homework assignment that you must complete.

Attendance Policy

You are expected to attend class regularly and keep up with the reading. You are expected to read the material BEFORE coming to class on the day that it is discussed. A comprehensive list of readings is given on the calendar on the class web page.

Grading Policy

Assignments

Assignments consist of homework, classwork, programs, quizzes, worksheets, presentations and the like. Homework will be due at the beginning of class. Late work will be graded with a 20% deduction. Homework turned one week after the deadline will receive no credit. Homework will be graded by the second class meeting or one week after they are submitted, whichever is later. Otherwise, all students who have turned the assignment in on time will receive a 10% bonus.

Unless otherwise specified, all assignments are weighted equally. Some assignments may count double. Such changes will be noted on the assignment specifications.

Colloquia

Each student is required to attend at least two Computer Science colloquia during the semester. Colloquia are generally held Thursdays from 11:30 to 12:30 during and include lunch.

Tests

There will be 2 tests during the semester, their dates are given below. Make-up tests will only be given under special circumstances.

The date and time of the final exam are set by the Registrar.

Grade Distribution

Homework/Programs35%
Quizzes/Fourth Hour13%
Colloquium Attendance2%
Tests30%
Final20%

Grade Ranges

A+98-100A93 - 98A-90 - 92
B+88 - 89B83 - 87B-80 - 82
C+78 - 79C73 - 77C-70 - 72
D+68 - 69D60 - 67Fbelow 60

Generative AI Tools

Generative AI tools such as ChatGPT can be powerful aids to completing a variety of work. You will undoubtedly use them in your careers. They will likely become the de-facto standard for building computer applications in the future. To start with, you need to understand the fundamental concepts in programming logic so that you will be able to read and understand the programs produced by these tools.

In this course, we may employ these tools from time to time, both in class and work you do alone. However, you may not use them for any submitted work unless there are specific instructions to do so. Using these tools on assignments without permission is a violation of the Honor Code.

Honor Code and Honor Code Violations

All Gettysburg College students are expected to abide by the Honor Code. All work in this course is to be done individually unless the instructor specifically states otherwise. This includes assigned projects as well as regular class work. The use of the computer may make it more tempting and easier to pass off another person's work as your own. This is UNACCEPTABLE. The department is always very aggressive about enforcement of the Honor Code.

For this course the following are guidelines for following the Honor Code.

Tentative Schedule

The following dates are subject to change
Day Date Topic Reading Notes
Mon. 8/28/23 Introduction, History, Binary    
Wed. 8/30/23 Truth tables, Operations Digital Circuit Ch 2  
Fri. 9/1/23 Intro. To C++    
Mon. 9/4/23 Binary Functions, K-Maps Digital Circuit Ch 2  
Wed. 9/6/23 Simple Circuits and Gates Digital Circuit Ch 4  
Fri. 9/8/23 C++ Stream I/O   Last day for Drop/Add 9/8
Mon. 9/11/23 Simple Circuits and Gates Digital Circuit Ch 4  
Wed. 9/13/23 Unsigned Numbers, Characters MIPS Ch 1  
Fri. 9/15/23 C++ Control Structures    
Mon. 9/18/23 Negative Numbers MIPS Ch 1  
Wed. 9/20/23 Catch up/ Review    
Fri. 9/22/23 Test 1    
Mon. 9/25/23 Adders Digital Circuit Ch 6  
Wed. 9/27/23 Floating Point Numbers    
Fri. 9/29/23 C++ functions    
Mon. 10/2/23 Decoders, Multiplexors Digital Circuit Ch 7, 8  
Wed. 10/4/23 ALUs    
Fri. 10/6/23 C++ Classes and Objects    
Mon. 10/9/23 Reading Days    
Wed. 10/11/23 Latches Digital Circuit Ch 9  
Fri. 10/13/23 C++ Classes and Objects    
Mon. 10/16/23 Registers Digital Circuit Ch 10  
Wed. 10/18/23 Sequential Circuits Digital Circuit Ch 10  
Fri. 10/20/23 C++ Classes and Objects    
Mon. 10/23/23 Sequential Circuits Digital Circuit Ch 10  
Wed. 10/25/23 CPU/Data Path    
Fri. 10/27/23 C++ Pointers    
Mon. 10/30/23 Memory Hierachy, Access    
Wed. 11/1/23 Catch up/ Review    
Fri. 11/3/23 Test 2    
Mon. 11/6/23 Instructions, Assembly MIPS Ch 2  
Wed. 11/8/23 Assembly Operations MIPS Ch 3,4  
Fri. 11/10/23 C++ Dynamic Memory   Last day to withdraw with a W. 11/10
Mon. 11/13/23 Subroutines MIPS Ch 5  
Wed. 11/15/23 Memory MIPS Ch 6  
Fri. 11/17/23 C++ Other Topics    
Mon. 11/20/23 Control Sturctures MIPS Ch 7  
Wed. 11/22/23 Thanksgiving    
Fri. 11/24/23 Thanksgiving    
Mon. 11/27/23 Control Sturctures MIPS Ch 7  
Wed. 11/29/23 Control Sturctures MIPS Ch 7  
Fri. 12/1/23 Control Sturctures MIPS Ch 7  
Mon. 12/4/23 Advanced Architecture Concpets    
Wed. 12/6/23 Catch-up/Evaluations    
Fri. 12/8/23 Review    
Sat. 12/16/23 Final Exam 8:30 am    
Please send questions and comments to: cpresser@gettysburg.edu