Welcome to CS2230

This is the documentation for WMU's CS2230 Computer Organization and Assembly Language course.

Texas Instruments' MSP430 Launchpad

Class Expectations

Course Syllabus

The objective of this course is to teach you the low level basics of computer programming and the hardware that is necessary to make it possible.

Historically, this course was taught using a few multi-user SPARC servers maintained by the CS department. The SPARC architecture is simple enough to make it approachable for novice assembly language programming. When these servers were decomissioned, an effort to move the course to the TI MSP430 Launchpad platform was undertaken. The MSP430 is a 16-bit RISC (reduced instruction set computing) architecture, which also makes it quite suitable for novice assembly language programming.

In this class, we will try to cover the following concepts:

There is so much material to cover in this class that I will be going very quickly. You must pay attention very carefully and be on time with your assignments or you will fall behind. If you need any help at all, you must contact me. I am here to help you understand these concepts and ensure you are prepared for the next classes in this curriculum.

The Manga Guide to Microprocessors


The required textbook for this course is The Manga Guide to Microprocessors by Michio Shibuya, Takashi Tonagi, and Office Sawa published by No Starch Press.

There used to be no required textbook for this course, but there have been many complaints from students that reading the free MSP430 Family Users Guide is too difficult and/or too technical and simply recommending that students read an easier, also free document like Introduction to Microcontrollers means that 90% of the class will ignore it. Therefore, this textbook is now required.

I expect that you will purchase or "purchase" this textbook. I will assign pages of this book to read during the course.

Weekly Schedule

My Office is B-257 inside the CS faculty offices (the hallway next to the CS department office).

Tuesday Wednesday Thursday
Class in D-212 11:30AM - 12:45PM 11:30AM - 12:45PM
Office Hours 1:00PM - 2:15PM 1:00PM - 2:15PM

Semester Timeline

Week Covered Content Helpful Links
0 Linux Terminal, Compiling Java & C, Hexadecimal & Binary Linux Journey
1 Parameter Passing, Homework a0, Git VCS Git SCM, Brew
2 Makefiles Makefile Tutorial by Example
3 Kits Sold, Toolchain Install, Homework a1 Toolchain Installation
4 CPU Components, Pointers, Interrupts Pointers
5 Homework a2, Assembly, Addressing Modes, Encoding Study Guide
7 Get Sick, Review
8 Spring Break
9 Midterm, a3, Button, Interrupts
11 a4, 7-segment Display, Quiz 7-segment Datasheet
12 malloc(), Another Quiz, Structs
14 Senior Design Day, Debugging Quiz & Demo Final Project
15 Finals

Assignment Schedule

Work is due at 11:59PM on the specified day.

Assignment Description Due Date ISO 8601
a0 Base Conversion 2019-01-24
a1 Encoder / Decoder 2019-02-12
a2 Calculator 2019-02-28
a3 Signals & Interrupts 2019-03-26
a4 Mastermind 2019-04-18