Assembly Language Programming and Machine Organization
Fall 2013

Instructor: Christopher Wilt
Office: Kingsbury W236
E-mail: wilt@cs.unh.edu
Office Hours: Mon, Wed, Fri 12:00-1:00 or by appointment (send e-mail to request an appointment). These office hours are tentative.

Class: Mondays and Fridays, 1:10-2:00pm, South East Residence Bldg C 104
Laboratory: Wednesdays, 1:10-2pm, Kingsbury N218

The core of the class are the programming assignments. These assignments are meant to teach you the basics of:

The class will meet twice a week for lecture and once a week for a laboratory session or an additional lecture, depending on the week. Programming assignments are assigned roughly once every two weeks, and will generally be due two weeks after they are assigned.

You will find lecture more helpful if you have at least looked at, and ideally attempted to do the programming assignment prior to coming to lecture. That way, you will be able to ask questions that will guide the lecture to parts of the programming assignment that are most confusing or difficult for you.

The prerequisite for this course is CS515, or permission from the instructor.



The class's piazza account will be used for disseminating information, files, and answering questions.

General Program Requirements

Tentative Schedule

The programming assignments and labs are:

  1. Translate between UTF-16 and UTF-32: due September 8.

  2. Convert IEEE double-precision floating point to and from a signed long: due September 22.

  3. Java bytecode disassembler due October 6

  4. Memory Hierarchy exploration due October 20

  5. Multithreaded hash table due November 3

  6. Implement a simple garbage collector for C due November 17

  7. Multithreaded garbage collector due December 8


The midterm will be on Wednesday October 9. The midterm is closed book and notes.

The date and time of the final exam will be announced and posted once I learn when and where the final examination will be held. The final exam will be comprehensive. The final exam is closed book and notes.

In addition, of course, collaboration is also not allowed on the midterm exam or the final exam.


There is no required textbook for this course. During my computer science education and work doing research, or even "real" work, I have found that almost every piece of factual information I have ever wanted to know relating to computer science can be found on the Internet. Information available online is generally more up to date than information that can be found in textbooks. Electronic files also support finding text, which is much more limited in books.

It is worth noting that not everything you will find on the Internet will be correct, so in addition to learning how to find information online, you will also find it useful to learn how to sift truth from the information you find online.

Computer Accounts

agate.cs.unh.edu is the primary computing resources for this course. You should automatically be given an account on this machine. During the semester you may use any other machines that you have access to, but for grading purposes your programs must execute correctly on agate.cs.unh.edu.


The University is committed to providing students with documented disabilities equal access to all university programs and facilities. If you think you have a disability requiring accommodations, you must register with Disability Services for Students (DSS). Contact DSS at (603) 862-2607 or visit them in MUB 118. If you have received Accommodation Letters for this course from DSS, please provide me with that information privately so that we can review those accommodations.

Comments and questions should be directed to wilt@cs.unh.edu