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

Lectures: [All quizzes and exams MUST be taken in the section you are enrolled in.]
Discussion Sections: [Attend any one.]
Home Base Lab:
TAs / Tutors:
Academic Integrity:
Grading: You must earn at least 50% of the total possible Programming Assignment points to receive a passing grade of C- or better.

Major Course Concepts [Understand what's under the hood]
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 (ARM) with comparison to other common computer 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 Topics (TENTATIVE)Reading
Intro -- Compilation Sequence / C Runtime EnvironmentHarris Appendix C (C Programming)
The Computer / Data RepresentationsHarris 1.1-1.2; Hohl 1.1-1.3
Number Systems / Binary ArithmeticHarris 1.4; Hohl 1.4-1.5, 2.1-2.3.2
ARM Architecture & Assembly Language / Subroutine Call Mechanics Harris Ch 6.1, 6.2; Hohl Ch 7 & 8
Bitwise Operations / Truth Tables / Logic GatesHarris Ch 1.5, 6.3, Appendix C
The Stack & Local VariablesHarris Ch 6.3, Appendix C
Data Structures (arrays, structs, unions)Harris Ch 6.3.6, Appendix C
Subroutine Details / RecursionHarris Ch 6.3.7, Appendix C
Floating PointHarris Ch 5.3, Appendix C
External Data and Text / Linkage Editor, LoaderHarris Ch 6.5, Appendix C
Encoding/Decoding ARM Machine Instructions (Object Code)Harris Ch 6.4, Appendix B (w/ corrections)
CPU Components in more detail (ALU, Registers, Control Unit, Busses, Caches)
Combinational and Sequential Logic Circuits
Harris Ch 2.1, Ch 3.1-3.2
RISC vs. CISC / Other Architectures / Multicore (throughout course)
Other topics of interest as time permits-

Back to
CSE 30 Home Page