

Credits: 4 (3 hour lecture and 2 hour lab)
Prerequisite:
C or better in CpSc 102 or 210.
Lab topics include:
Last Updated:
Catalog Description
Study of the machine architectures on which algorithms are implemented; requirements of architectures that support high-level languages, programming environments and applications.
Who Should Take This Course
Required for:
Majors and minors in Computer Science and Computer Information Systems
Elective for:
Other technical majors who have a strong background in programming and want
an additional understanding of basic computer operation.
Expected Outcomes
The student who completes this course:
Course Outline
Topics
Topic
Percent
The Data Model
Basic representation of data, such as integers, logic values and characters, homogeneous data structures, such as arrays and strings, heterogeneous data structures, such as floating point numbers and records, data access, involving pointers and values, data extraction.
20%
The Machine Model
Processor, memory and I/O, processor data paths and register transfers, instruction cycle of fetch/execute and interrupts, bus interconnections, relative speeds and capacities of components, performance metrics, such as storage space, memory traffic and execution time
25%
The Programming Language Translation Model
Compilation versus interpretation, compilation, conditional assembly, macro processing, assembly, link, load and execute, code generation issues demonstrating the relationship between HLL and machine code.
20%
The System Model
Run-time environment, including stack frame and heap support, procedure call support, including such issues as parameter passing and register conventions, I/O support, such as level of intelligence in controllers, operating system support, including memory protection and interrupts, sharing and reentrancy, virtual memory support.
20%
Additional topics, quizzes and exams.
15%
Lab Component
Lab sessions will normally reinforce the concepts being taught in the
corresponding week's lecture sections.
Additional Components
In addition to programs developed during lab sessions, assignments will include:
©
Department of Computer Science.
All rights reserved.
Renovation, mistakes, and maintenance by the Webmaster.