COMSC142: Computer Architecture and Organization

Spring 2026 Sam Bowne

College Complex 2, 236
Tues 9:35 AM - 12:45 PM

You can get interactive help at 7:30 pm
any evening Mon-Thu on Zoom
Password: student1

Schedule · Lecture Slides · Projects · Syllabus

Canvas Up

LMC's Canvas is up now.

Class Description

ADVISORY: Eligibility for ENGL-090

The organization and behavior of real computer systems at the assembly-language level. The mapping of statements and constructs in a high-level language into sequences of machine instructions is studied, as well as the internal representation of simple data types and structures. Numerical computation is examined, noting the various data representation errors and potential procedural errors. May not be repeated. SC

LMC: DA
TRANSFER: CSU

Textbook

Dive into Systems (free, online)

Quizzes

The quizzes are multiple-choice, online, and open-book. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter before the lecture covering it, and take the quiz before that class. Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts. If you take the quiz twice, the higher score counts.

Use this Canvas server: LMC Canvas

Schedule

DateDueTopic

Tue 1-27 0. Introduction
Demo: ED 30


Tue 2-3Quiz 0 and 1
Proj ED 30
1. By the C, by the C, by the Beautiful C
Demos: CL 10 and CL 20


Mon 2-9 Census Day

Tue 2-10Quiz 2
Proj CL 10
2. A Deeper Dive into C Programming
Demo: ED 202


Tue 2-17Quiz 3
Proj CL 20
3. C Debugging Tools
Demo: C 101


Tue 2-24Quiz 4
Proj ED 202
4. Binary and Data Representation
Demos: C 101 continued, ED 204


Tue 3-3Quiz 8
Proj C 101
8. 32-bit x86 Assembly (IA32)
Demos: ASM 100, ASM 104


Tue 3-10Quiz 7
ASM 100
7. 64-bit x86 Assembly (x86-64)
Demo: ASM 105


Tue 3-17Quiz 9
ASM 104
9. ARM Assembly
Demos: ASM 110, ASM 120


Tue 3-24 Spring Break -- no class

Tue 3-31Quiz 11
ASM 105 and ASM 110
11. Storage and the Memory Hierarchy
Demo: ASM 200, ASM 210, ASM 310


Tue 4-7Quiz 12
ASM 120
12. Code Optimization
Demo: ED 205, ED 206


Tue 4-14ASM 200 and ASM 210 Class Online Only on Twitch

13. The Operating System
Demos: R 10 and R 20


Tue 4-21Quiz 13 (extra credit)
ED 204
Class Online Only on Twitch

14. Leveraging Shared Memory in the Multicore Era (Part 1)
Demo: ED 210


Tue 4-28 ED 205 Class Online Only on Twitch

14. Leveraging Shared Memory in the Multicore Era (Part 2)
Demo: ED 441


Tue 5-5ED 206 No Morning Class; Help Session at 7:30 pm on Twitch

15. Looking Ahead: Other Parallel Systems and Parallel Programming Models


Tue 5-12 Class Online Only on Twitch

Last Class: No New Material


Tue 5-12
through
Fri 5-22
  Final Exam available online throughout the week.
It covers chapter 0-12, except Ch 5 and 6. It will be worth 80 pts.
You can only take it once.

All Quizzes due 30 min. before class

Lecture Slides

0. Introduction · PDF · Keynote
1. By the C, by the C, by the Beautiful C · PDF · Keynote
2. A Deeper Dive into C Programming · PDF · Keynote
3. C Debugging Tools · PDF · Keynote
4. Binary and Data Representation · PDF · Keynote
8. 32-bit x86 Assembly (IA32) · PDF · Keynote
7. 64-bit x86 Assembly (x86-64) · PDF · Keynote
9. ARM Assembly · PDF · Keynote
11. Storage and the Memory Hierarchy · PDF · Keynote
12. Code Optimization · PDF · Keynote
13. The Operating System · PDF · Keynote
14. Leveraging Shared Memory in the Multicore Era (Part 1) · PDF · Keynote

14. Leveraging Shared Memory in the Multicore Era (Part 2) · PDF · Keynote

15. Looking Ahead: Other Parallel Systems and Parallel Programming Models · PDF · Keynote

Projects

Enter Flags · Scoreboard · Details

Prepare a Linux Environment

ED 30: Linux Virtual Machine (15)

LJ: Linux Journey (83 extra)

C and Debugging

CL 10: C Development Environment  15
CL 20: Stack Frames  15
ED 202: Linux Buffer Overflow Without Shellcode  40 + 75 extra
C 101: Binary Games  25 + 15 extra

x86 Assembly Language

ASM 100: Basics  20 + 49 extra
ASM 104: Bases & Printing  20 + 20 extra
ASM 105: ASCII  5 + 15 extra
ASM 110: Gdb  15 + 15 extra
ASM 120: Files  15 + 40 extra
ASM 200: Caesar Cipher  20 + 15 extra
ASM 210: XOR  5 + 15 extra

Linux Exploits

ED 204: Exploiting a Format String Vulnerability  20
ED 205: Very Simple Heap Overflow  10 + 20 extra
ED 206: Heap Overflow via Data Overwrite  10 + 35 extra
ED 207: Linux Buffer Overflow with ROP (requires VMware)  15 extra
ED 210: Exploiting a Race Condition  10 extra

Agents

Recommended

ED 33: Ubuntu Linux Desktop (10 pts)
ML 135: OpenClaw on Ubuntu Linux (15 pts)
ML 136: OpenClaw: exec and Email (20 pts)

Not Recommended

ML 123: Running Llama 3 Locally (15 pts)
ML 133: MCP with Claude (15 pts)
H 112: Cloudflare Quick Tunnel (25 pts)
ML 134: IronClaw on Ubuntu Linux (15 pts)

Windows Exploits

ED 32: Windows 10 or 11 Virtual Machine (recommended)  15 extra
H 2: Windows 2016 Server Virtual Machine (not recommended)  15 extra
 
ED 308: Exploiting "Vulnerable Server" on Windows     Google Cloud version  50 extra
ED 309: Defeating DEP with ROP  20 extra
ED 301: Windows Stack Protection I: Assembly Code  15 extra
ED 302: Windows Stack Protection II: Exploit Without ASLR  15 extra
ED 303: Windows Stack Protection III: Limitations of ASLR  15 extra
ED 310: Windows Mitigations  10 extra

ARM

Preparing an ARM System

ED 40: Linux on ARM64 Hardware  15 extra
ED 41: Emulating ARM Machines  15 extra

Exploiting ARM Systems

ED 440: Exploiting Linux on 32-Bit ARM  15 extra
ED 441: Exploiting Linux on 64-Bit ARM  15 extra
ASM 310: ARM64 Assembly  30 extra

Rust

R 10: Rust Basics, Overflows, & Injection  35 extra
R 20: Rust Dangling Pointers & Memory Leaks  35 extra

Last Updated: 5-10-26 4:42 pm