Cs 1104 Computer Systems
CIU Request Information
Course Outline
CS 1104 COMPUTER SYSTEMS
Prerequisites |
CS 1103 Programming 2 |
Course Description:
This course is an introduction to computer systems. In this course we will begin by exploring the internal design and functionality of the most basic computer components. From there, we will use an online hardware simulator to actually “build” a computer and develop an assembler from the ground using concepts we will learn in the class. In the process, we will cover the ideas and techniques used in the design of modern computer hardware and discuss major trade-offs involved in system design as well as future trends in computer architecture and how those trends might affect tomorrow’s computers.
Required Textbook and Materials:
The main required textbooks for this course are listed below, and can be readily accessed using the provided links. There may be additional required/recommended readings, supplemental materials, or other resources and websites necessary for lessons; these will be provided for you in the course’s General Information and Forums area, and throughout the term via the weekly course Unit areas and the Learning Guides.
Computer Organization and Design Fundamentals, David L. Tarnoff, Copyright (C) 2005-2007. All Rights Reserved. Text used with permission of author. Available from http://faculty.etsu.edu/tarnoff/138292/
Nisan and Schocken, The Elements of Computing Systems, MIT Press, 2005. Available here.
Software Requirements/Installation
This course will require the use of two software package. Both require that your computer have a Java v1.5 JRE (Java Run Time) installed. They are available from the following:
Logism: Logism is an educational tool for designing and simulating digital logic circuits. It is available from: http://www.cburch.com/logisim/download.html
TECS Software Suite: The TECS Software suite is the companion software to the Nisan and Schocken text “The Elements of Computing Systems” it is available from: http://www.nand2tetris.org/software.php
Learning Objectives and Outcomes:
By the end of this course students will be able to:
- Understand principles of digital circuits and logic
- Explain boolean algebra
- Identify logic gains combinatorially and sequentially
- Describe basic principles of memory and the ALU within a computer system
- Recognize the relationship between machine language and the functioning of a computer system
- Examine basic assembler coding technique
- Understand software hierarchy
Course Schedule and Topics:
This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9.
Week 1 Unit 1- Boolean Logic
Week 2 Unit 2- Binary Arithmetic
Week 3 Unit 3- Combinational Logic and the ALU
Week 4 Unit 4- Sequential Logic
Week 5 Unit 5- Computer Architecture
Week 6 Unit 6- Machine Language
Week 7 Unit 7- Assembler I
Week 8 Unit 8- Assembler II
Week 9 Unit 9- Course Review and Final Exam