Skip to main content

Architecture and Assembly


RiggX
Enrollment in this course is by invitation only

About This Course

This course covers level-by-level the internal organization of a modern computer including instruction types, data representation, and addressing-modes. We will learn the machine language and assembly language of a simple virtual computer. This includes the introduction of symbolic addresses, assembler directives, input/output, system calls, and a call/return mechanism. The course concludes with an introduction to the C programming language and the way in which its high-level-language constructs are represented in assembly language.

Requirements

While CS120 (Java programming) is a prerequisite, we do not specifically use Java. This prerequisite is meant to ensure that you understand the basic procedural programming concepts such as variables, assignment instructions, and the basic control structures (conditional and loop constructs).

Course Staff

Course Staff Image #1

Harold Riggs, Instructor

I teach the technical sequence of computer science courses (CS205, CS214, CS212) as well as linear algebra (MA210).

Technical Issues

What web browser should I use?

The Open edX platform works well with current versions of Chrome, Edge, Firefox, Internet Explorer, or Safari.

See our list of supported browsers for the most up-to-date information.

What kind of computer do I need for this course?

A computer which will run VirtualBox. This includes most computer systems, but there are systems which do not support this application: Chromebooks, the M1 systems from Apple, and many Home versions of the Windows operating systems do not work. If you have one of these systems contact the instructor for help with various options.