SPSU WebMark
click for Brown's home page

Why Take CS2224?

CS2224, Computer Architecture and Assembly Language Programming, will demystify computers for you. You will gain an understanding of why computers work that will help you become a better computer scientist. We will start with binary numbers, transistors and simple electronic circuits and quickly work up to digital logic circuits. As the course progresses, we will develop an architecture for a complete, although very simple, CPU.

We will focus on concepts rather than engineering principles, but we will also consider the tradeoffs designers of computer systems face as they design and build the machinery we use. Understanding these tradeoffs is part of understanding why computers work they way the do.

As part of understanding why computers work, you will learn about the fundamental commands, or instructions, which computers can perform and which are the basis for all the computer's advanced functions. You will learn how a computer program called an assembler can convert programs in a human-readable symbolic form into the binary form required for actual execution on a computer, and you will write several programs in assembler language for the Motorola 68000 computer. A simulator program for the Motorola 68000 will allow you to assemble and test your programs on an IBM-compatible PC in the labs or at home.

When you have completed CS2224 successfully, computers will no longer be magic boxes for you. You will have a conceptual understanding of how they work. You will also have the necessary framework to engage in detailed study of a particular computer should you need to do so.

There are other reasons to take CS2224: It's required for CS majors, and it's a lot of fun! At least one student aced a job interview in part because of 2224. Here's a letter I received recently:

Before I entered kindergarten, my mother made me take piano lessons. For seven years. I hated it. I had no talent for the piano at all. However, a few years later when I wanted to play the French Horn, it was so much easier to learn an instrument since I could already read music. Even though I haven't picked up a Horn in about 10 years, I can still read music and I have a fairly good sense of pitch, thanks to those early lessons.

I was reminded of those piano lessons earlier this morning when I had to take an advanced technical test in a job interview. Thanks to Computer Architecture, I was able to answer questions on virtual memory, swap space, and other hardware-related material.

CS1301 is a prerequisite for CS2224. Students who have a good command of at least one high-level programming language tend to do better in CS2224 than those who do not.


This page is an archival record and is no longer being updated.