ICS 312 Spring 2025: Machine-Level and Systems Programming


Instructor:

Teaching Assistants:


Location/Time:

Office hours:


Announcements:

Homework Assignment #6 (Bitwise Operations) is posted and is due on Friday 4/4 at 9AM.

--- OLD ANNOUNCEMENTS BELOW ---

Homework Assignment #5 (Control Structures) is posted and is due on 3/18 at 9AM.

MIDTERM on Thu 3/13

(MIDTERM REVIEW on Tue 3/11) - Review Slides

In-class Quiz on 3/11 at the beginning of class on the Bitwise Operations module

In-class Quiz on 3/4 at the beginning of class on the Control Structures module

Homework Assignment #4 (Data Size and Arithmetic) is posted and is due on 02/21 at 9AM.

Homework Assignment #3 (FirstProgram) is posted and is due on 02/23 at 9AM.

In-class Quiz on 2/18 at the beginning of class on the Data Size and Arithmetic module

Homework Assignment #2 (X86 and NASM) is posted and is due on 02/09 at 9AM.

In-class Quiz on 02/04 at the beginning of class on the X86 & NASM module

Two screencasts to view before class on 01/28 in the X86 and NASM module:

  1. Screencast #1: Part 1
  2. Screencast #2: Part 2

(Both screencasts are for these lecture notes)

In-class Quiz on 01/28 at the beginning of class on the Computer Architecture module

Homework Assignment #1 (Integers and Computers) is posted and is due on 01/26 at 9AM.

In-class Quiz on 01/21 at the beginning of class on the Integers and Computers module

Mandatory Course Participation Verification (on the course’s Laulima size: Weekly Engagement / Week 1) to do by 01/21 at the latest to not be dropped from the course.

Two screencasts to view before class on 01/16 in the Integers and Computers module :

  1. Screencast #1: Background/Review on Integers and Bases
  2. Screencast #2: Representation of Integers

Homework Assignment #0 (Ungraded but to do ASAP) is posted.

Welcome to ICS312: Use the top navigation bar for up-to-date course content as organized by Modules. These modules are interconnected and will be covered in sequence throughout the semester. For this course it will be necessary to have access to a Linux (virtual) machine. All details are in the syllabus.