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 Weeks1 / 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 topicsTopic / 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 timeBoolean algebra / 1.0
Problem Analysis Experiences
Implementation of high level programming language constructs in low level languagesSolution Design Experiences
1. / Digital circuit design2. / 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 HoursPL2 / 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