COSC 2200/EECE 2710 Introduction to Computer Hardware and Software Systems

Fall 2016

Course Syllabus: Meetings
Office Hours


Dr. Dennis Brylow
Office: Cudahy Hall 380

Dr. Andrew Williams
Office: Engineering Hall 407


Tue/Thu 3:30pm - 4:45pm, Cudahy Hall 001
Wed 2:00pm-2:50pm, Cudahy Hall 310*
Wed 3:00pm-3:50pm, Cudahy Hall 310*
Wed 4:00pm-4:50pm, Cudahy Hall 310*
* - Optional Lab sessions

Office Hours

Williams: M 9-noon, W 2-5pm, or by appointment
Brylow: TR Noon-1pm, M 9-10pm, F 9-10am, or by appointment
MSCS Department Logo

Opus Engineering Logo


ECA Textbook Cover
Essentials of Computer Architecture.
Douglas Comer.
ISBN 9780131491793.

Readings will be regularly assigned from the textbook.

Lectures will assume that students have already read the assigned chapters, and periodic reading quizzes may be assigned in D2L.

Course Outcomes

Course Description:

Overview of computer hardware and software with emphasis on computer architecture and machine level programming. Topics include digital logic, assembly languages, memory management, caching, pipelining, bus architecture, interrupts and I/O processing. Brief introduction to operating system components: memory management, input/output, file management, scheduling, resource management, layered operating system design.

Course Goals:

Provide all students with a broad foundation in the fundamental concepts of computer hardware and systems software.

Course Objectives:

By the end of this course, you should....

Course Policies


Student grades will be assigned based on evaluation of homework, projects, exams, and participation, as described below:

Expected Performance Curve:

A [93-100]
AB [89-93)
B [83-89)
BC [79-83)
C [73-79)
CD [69-73)
D [63-69)
F below 63

Grades will be routinely posted in the gradebook on the course D2L site, as they become available.


Student attendance will not be explicitly tracked in this course, and will not directly impact student grades. However, students who routinely miss class discussions or lectures should expect to be unprepared to complete the assignments and exams upon which grades so heavily depend. In short, we don't bother with attendance bean-counting because students who cut class usually fail themselves out of the course before we would need to take any action. Make good decisions.

If you know you will be missing class for a legitimate reason, we appreciate a heads-up, but in accordance with Marquette University Attendance Policies, we neither require nor accept documented excuses. Please have a peer in the class take notes in your absence, and get any assignments in ahead of the deadline.

The size and structure of this course will not normally allow us to accept late work under any circumstances. There are enough opportunities for points in the course for most students to miss a few without severe consequences for their grades.

Laboratory Sessions

Based on feedback from previous semesters, we are augmenting this course with laboratory sections this term. To accommodate the number of students, three lab times will be offered each week: Wednesdays 2-3pm, 3-4pm, and 4-5pm. Digital logic sessions and Programming sessions in October through December will be held in Cudahy 310.

* - This remains a 3-credit course, so we do not require attendance in lab, or require assignments be completed during laboratory. Rather, this time is offered to allow students ample opportunity to practice the skills and knowledge required to complete the assignments and exam questions.

Academic Integrity

All students are expected to abide by Marquette University's Policy on Academic Integrity, and we will proceed under the assumption that everyone has committed themselves to the University's Honor Pledge:

I recognize the importance of personal integrity in all aspects of life and work. I commit myself to truthfulness, honor, and responsibility, by which I earn the respect of others. I support the development of good character, and commit myself to uphold the highest standards of academic integrity as an important aspect of personal integrity. My commitment obliges me to conduct myself according to the Marquette University Honor Code.

The Honor Code has particular implications for computer scientists and engineers, as well as computing professors, whose course work is so readily duplicated and shared in our modern digital world.

For our part, we will strive to ensure that your assignments and exams are engaging, challenging, and worth your investment in time and energy. For your part, we expect you will work hard, strive to learn, and present your work with honesty and integrity.

There will be many opportunities for you to collaborate with your peers in this course, and we strongly encourage you both to seek help when you are stuck, and to share your knowdledge with your peers when you have achieved understanding. Problems will only occur if you falsely claim work as your own when it is not, or collaborate when an exam or assignment has been specified to be individual work.

In the unlikely event of an academic integrity violation in this course, Marquette University's Procedures For Incidents of Academic Dishonesty will be closely followed.

Professional Attitude

You are expected to conduct yourself in a professional manner. This means that you will come to class on time and prepared to participate. You will do the reading in a timely manner. You will start work on all assignments as soon as they are given to you.

Students with Disabilities

Marquette University is committed to providing access and reasonable accommodation in its education for individuals with disabilities. To request disability accommodation in your class please contact the MU Office of Disability Services, Marquette Hall, Suite 05, 1217 W. Wisconsin Avenue, (414) 288-1645,


Week Topics Readings Notes/Demos Assignments
01 Introduction, Digital Logic Ch 1
02 Digital Logic Ch 2 #1 Digital Logic
03 Combinational and Sequential Logic #2 Sequential Logic
04 Data Representation Ch 3 #3 Representation
05 Processors, Pipelines Ch 4 #4 Basic ARM Assembly
06 Instruction Sets, RISC Exam #1
07 Assembly Languages Ch 5 #6 Medium ARM Assembly
08 Addressing Modes Ch 6 Midterm Break
09 Activation Records Ch 7, 8 #6 Activation Records
10 CISC Ch 9, 10 #7 Memory
11 Memory and Storage Ch 11 Exam #2
12 Virtual Memory Ch 12 #8 Final Assembly
13 Caches Ch 13 Thanksgiving Break
14 I/O Ch 14, 15 #9 Beginning C Programming
15 Buses, Interrupts Ch 16 #10 Larger C Program
Final Exam #3
The instructors reserve the right to adjust this schedule as necessary.

[Revised 2016 Sep 06 09:43 DWB]