School of Computer Science
Course Title: Fundamentals of Computer Systems / Date: 10/30/03
Course Number: COP-3402
Number of Credits: 3
Subject Area: Computer Systems / Subject Area Coordinator:
Nagarajan Prabakar
email:
Catalog Description:
Overview of computer systems organization. Data representation. Machine and assembly language programming.
Textbook: Introduction to Computing Systems, 2nd Edition
Yale N. Patt, Sanjay J. Patel
McGraw-Hill (ISBN: 0072467509)
References:
Prerequisites Courses: COP-2210 or equivalent
Corequisites Courses: MAD 2104

Type: Required

Prerequisites Topics:

·  High level programming language constructs

·  Function call/return

·  Parameters of a function(method)

Course Outcomes:

1.  Master the representations of numeric and character data

2.  Master the implementation of some basic combinational circuits, registers and memories

3.  Be familiar with the data path of a simple von Neumann architecture and its relation to the instruction execution cycle

4.  Master simple machine and assembly language programming

5.  Master the implementation of high-level language constructs in lower levels: selection, iteration, function call/return


School of Computer Science

COP-3402

Fundamentals of Computer Systems

Outline

Topic / Number of Lecture Hours / Outcome
·  Machine level representation
o  Numeric data representation
o  Signed & unsigned representation
o  Fixed- and floating-point systems
o  Integer arithmetic
o  Boolean operations / 8 / 1
·  Digital logic
o  Fundamental building blocks (logic gates, combinational circuits)
o  Von Neumann model
o  Instruction execution cycle / 8 / 2,3
·  Assembly level machine organization
o  Instruction sets and types
o  Assembly language programming
o  Addressing modes
o  Subroutines and system routines
o  I/O and interrupts
o  Bit level manipulation
o  Assembly process and linking / 14 / 4,5
·  Introduction to architecture
o  Hierarchy of virtual machines
o  Interpretation and translation
o  Simple machine architecture / 8 / 3


School of Computer Science

COP-3402

Fundamentals of Computer Systems

Course Outcomes Emphasized in Laboratory Projects / Assignments

Outcome / Number of Weeks
1 / Data representation
Outcome: 1 / 1
2 / Digital circuit design
Outcomes: 2 / 2
3 / Architecture concepts
Outcomes: 3 / 2
4 / Machine language programming
Outcomes: 4 / 2
5 / Assembly language programming
Outcomes: 5 / 2
6 / Assembly language programming
Outcomes: 5 / 2

Oral and Written Communication:

No significant coverage

Social and Ethical Implications of Computing Topics

No significant coverage


School of Computer Science

COP-3402

Fundamentals of Computer Systems

Approximate number of credit hours devoted to fundamental CS topics
Topic / Core Hours / Advanced Hours
Algorithms:
Software Design:
Computer Organization and Architecture: / 2.0
Data Structures:
Concepts of Programming Languages: / 1.0

Theoretical Contents

Topic / Class time
Boolean algebra / 1.0

Problem Analysis Experiences

Implementation of high level programming language constructs in low level languages

Solution Design Experiences

1. / Digital circuit design
2. / Assembly language programming


School of Computer Science

COP-3402

Fundamentals of Computer Systems

The Coverage of Knowledge Units within Computer Science Body of Knowledge[1]

Knowledge Unit / Topic / Lecture Hours
PL2 / Virtual machine, hierarchy of virtual machines, intermediate languages / 8
AR1 / History of computer architecture, fundamental logic circuits, gate delays / 8
AR2 / Bits, bytes, and words, numeric data representation, fixed- and floating-point systems, signed and twos-complement representations, nonnumeric data (character codes, graphical data), representation of records and arrays / 8
AR3 / von Neumann machine, control unit; instruction fetch, decode, and execution,
instruction sets and types (data manipulation, control, I/O), assembly/machine language programming, instruction formats, addressing modes, subroutine call and return mechanisms, I/O and interrupts / 14

4

[1]See http://www.computer.org/education/cc2001/final/chapter05.htm for a description of Computer Science Knowledge units