CSE 30 Syllabus
Computer Organization and Systems Programming
(Some Assembly Required)
Spring 2017


Lectures: [All quizzes and exams MUST be taken in the section you are enrolled in.]
Discussion Sections (Fridays): [Attend any one.]
Home Base Lab:
Instructors:
TAs / Tutors:
Textbook:
References:
Academic Integrity:
Grading:

Major Course Concepts
Basic Computer Organization
High-level concepts related to the structure and organization of computer systems.

Basic Computer Architecture
Computer architecture and assembly language of one specific system in some level of detail (SPARC) with comparison to other common architectures.

Basic Systems Programming
In the past, this was strictly assembly language for a particular processor/OS environment. Today it is mostly C programming with some assembly. Hence the subtitle: Some Assembly Required.
Major TopicsReading
Intro -- Compilation Sequence / C Runtime Environment-
The Computer / Data RepresentationsCh 1.4 - 1.10
Number Systems / Binary ArithmeticCh 3.1 - 3.3; Ch 4.1 - 4.5
SPARC Architecture & Assembly Language / Subroutine Call Mechanics Ch 2 (no m4 macros); Ch 9.9 - 9.10
Bitwise Operations / Truth Tables / Logic GatesCh 3.4 - 3.5; Ch 4.6 - 4.13
The Stack & Local VariablesCh 5 & Appendix E
Data Structures (arrays, structs, unions)Ch 6
Subroutine Details / RecursionCh 7
Floating PointCh 11
External Data and Text / Linkage Editor, LoaderCh 9
Encoding/Decoding SPARC Machine Instructions (Object Code)Ch 8 & Appendix D
Memory and I/O Hierarchies / System Call Interface / BufferingCh 10
Traps & Exceptions / Memory Management / Virtual MemoryCh 12 & 13
CPU Components in more detail (ALU, Registers, Control Unit, Busses, Caches)
Combinational and Sequential Logic Circuits
-
RISC vs. CISC / Other Architectures / Multicore (throughout course)Ch 14
Other topics of interest as time permits-

Back to
CSE 30 Home Page
[http://ieng9.ucsd.edu/~cs30x/]