(Last Mod: 17 December 2013 13:16:49 )
This comprehensive course will help students consolidate their understanding of all fundamental computer science concepts. Topics include symbolic communication, Boolean logic, binary systems, logic gates, computer architecture, assembly language, assembler construction, virtual machines, object-oriented programming languages, software engineering, compilers, language design, and operating systems. Using a hardware simulator and a programming language of their choice, students construct an entire modern computer from the ground up, resulting in an intimate understanding of how each component works.
Prerequisite: CSCI 341 or EGGN 482.
The Elements of Computing Systems - Building a Modern Computer from First Principles
Noam Nisan and Shimon Schocken
ISBN: 978-0-262-64068-8
The MIT Press, 2005
CODE - The Hidden Language of Computer Hardware and Software
Charles Petzold
ISBN: 978-0-7356-1131-3
Microsoft Press, 2000
All of the software directly related to the project for this course can be found at the following website:
To run some of these programs, you will need the Jave Runtime Environment, as well.
It is recommended that you install Python 3.3 from the above site, as this is the version that the instructor and grader will be using and your code must run successfully on the grader's platform.
There will be no exams in this course (including no final exam). Instead, there will be a total of 20 quizzes, mostly covering the readings in CODE, five Python programming assignments aimed at preparing you for the later project phases, and 12 projects from ECS. The point allocation is as follows:
Assignment Type | Each | Total |
Quizzes (20) | 15 | 300 |
Python (5) | 20 | 100 |
Projects 1 - 9 (9) | 40 | 360 |
Projects 10-12 (3) | 80 | 240 |
TOTAL | 1000 |
NOTE: The present term will probably have ~10 quizzes totaling approximately 200 points and 3 Python assignments totaling 60 points. Thus the total points for the course will be in the 840 range.
All assignments are due, via submission to Blackboard, by 8:00AM on the assigned
due date. Quizzes and projects will be accepted late only by prior arrangement
(with special case exceptions) and will generally have a 20% per day late
penalty.