CSE 320 Computer Organization and Architecture (3 cr)
Catalog Course Description
Boolean algebra and digital logic. Combinational and sequential circuits.
Representations of data and instructions.
Architecture and major components of computer systems.
Assembly language programming and interfacing to high level languages.
Assembler and linker processing.
Course Outcomes
(Letters refer to program outcomes; caps indicate greater emphasis.)
This course introduces students to the interface between the hardware and software of modern computing systems by studying the ISA (instruction
set architecture) of a typical microprocessor. Students will learn to use Boolean algebra and related tools to design combinational and sequential
circuits. Students will study the internal representation of and operations on basic data types. Students will learn the fundamentals of assembly
language programming as a means of studying the ISA of a typical microprocessor.
At the completion of this course, each student should be able to do the following:
- Use Boolean algebra and related tools to design and implement combinational
and sequential circuits. (A,i,j)
- Perform fundamental operations on integer and floating-point numbers as represented
within a processor. (a,i,j)
- Demonstrate comprehension of the von Neumann model of computer organization and techniques
for implementing the fetch-execute cycle. (a,c,j)
- Design and implement assembly-language functions that manipulate integer and floating point values,
including the use of selective and repetitive execution, subprograms, and low-level data structures
(such as arrays and records). (a,b,c,i,j,k)
Program Outcomes covered in CSE 320
(a)- An ability to apply knowledge of computing and mathematics appropriate
to the discipline
(b)- An ability to analyze a problem, and identify and define the computing
requirements appropriate to its solution
(c)- An ability to design, implement, and evaluate a computer-based system,
process, component, or program to meet desired needs
(i)- An ability to use current techniques, skills, and tools necessary for
computing practice
(j)- An ability to apply mathematical foundations, algorithmic principles,
and computer science theory in the modeling and design of computer-based
systems in a way that demonstrates comprehension of the tradeoffs involved
in design choices
(k)- An ability to apply design and development principles in the construction
of software systems of varying complexity
Assessment
Assessment of how well outcomes are being achieved will be done by applying a rubric
to a random sample of at least 25% of the students who have completed the work being
used for assessment. Assessment tools are examinations and programming projects.
For each outcome being assessed, each student in the sample will be judged to
(a) exceed, (b) meet, or (c) fail to meet an objective standard designed to assess
this outcome.
Unless otherwise specified the thresholds used are: meet (70%), exceed (85%).
We will say that this offering of the course achieved the particular outcome
if and only if 70% or more of the students sampled were assessed to be in categories (b) or (c).
- Course outcomes I, II, III and IV assessed by
- specific exam questions and programming assignments
Topics
- Combinational and sequential circuits (20% of total lecture time).
- Internal representation of atomic data types and operations on those types (20%).
- Microprocessor architecture and organization, and assembly language programming (36%).
- ISA Implementations (16%).
- Translation processing (8%).
Textbook
- Principles of Computer Architecture (Murdocca and Heuring; Prentice-Hall, 2001)
Grading