FLC Logo Course Syllabus

CISP 310 Assembly Language Programming for Microcomputers.
Fall 2013 Instructor: Caleb Fowler
Units: 4.0 Office: FL2 - 236
Day and Time
Tuesdays 6:00 - 9:40
Office Hours: Tue 4:30 - 5:30 or alternate arrangements.
Location - FL5 - 011 Email:


Prerequisites: CISP 360 (Introduction to Structured Programming) with a grade of "C" or better


This course is an introduction to computer architecture using assembly language programs. Topics include binary representation of data and instructions, memory addressing modes, subroutines and macros, operating system interrupts, processor architecture, and interfacing with high level languages.


This is a lecture course that tries to strive a balance between acquiring information from texts and exposing you to programming activities. This class does not have a lab component, but I encourage you to stay after class and form study groups.

First Class

You may be dropped if you do not show up for the first class - at instructor's discretion. You would be wise to expect to be dropped if you do not show up on the first day. My classes usually have waitlists and those students show up the first day...

Course Objectives

SLO Measurement.

The State Chancellor’s office wants to know if we are measuring our student success rates against the Student Learning Outcomes (SLOs) standard.

Student Learning Outcomes.

Upon completion of this course, the student will be able to:
  1. Recognize the computer architecture issues needed to write assembly language code.
  2. Compare and contrast the binary representation of data and assembly language instructions.
  3. Create assembly language programs that accept input, perform calculations, and make decisions based on the input, and display an answer.
  4. Explain the roles of software in the creation, building, and debugging of executable files using assembly language.
  5. Formulate and implement algorithms to solve complex problems using assembly language.

Course Topics

  • Computer Architecture
  • x86 Instruction Set
  • Non-Decimal Bases
  • Branching & Looping
  • Procedures
  • Bit Manipulation

    I reserve to right to change the syllabus at any time for any reason.

Text and Required Supplies


Introduction to 80x86 Assembly Language and Computer Architecture
Richard C. Detmer, 2010
ISBN-13: 978-0-7637-7223-9

Required Supplies.

You will need access to a computer. I am assuming you are running Windows on it. You will find the assignments MUCH easier if you install Ubuntu Linux. You can use VirtualBox or install it to dual boot - doesn't matter.


You will need a D2L account and a computer to access it. If you are having trouble with this, send me an email.

Grading Plan

Coursework will be weighted as follows:
Task Number Points Each Points Total
1-Minute Papers
12 10


End of Semester Review
1 50 50
Midterm I, II 2 100 200
Final Project 1 150 150
Peer Review 11 25 275


Late Papers.

Papers turned in after 12:00 midnight on the class date are LATE. Late papers suffer 1 letter reduction in grade for each week they are late.

Incomplete Grades.

No incomplete grades for online courses will be given. In cases of a documented medical emergency in the last two weeks of class, with a majority of work submitted (80% of requirements), an instructor may be willing to accept late work, but instructors are under no obligation to do so.


There are a number of assignments in this class. I will provide more details as class progresses.

1-Minute Paper. You will take 1 minute to answer 1 question I pose to you. This will NOT be a domain knowledge type question.

End of Semester Review. This is where you make sense from your 1-minute papers and see if you can find an overall pattern to your work. More details will be provided later.

Final Project. You will either program a microcontroller in ASM (I STRONGLY recommend Raspberry PI or Arduino) or Simulate a Device Driver, Convert a C module into ASM or some other Assembly Language Project. Instructor prior approval required.

Peer Review. You will grade your peer's work (and they will grade yours) based upon a style guide you create in class.

Turning in Assignments.

I will provide instructions with each assignment about how I want you to turn it in.

Code of Conduct

All students are expected to conform with the Code of Conduct found in the FLC Catalog. Furthermore some other items are: No video or audio recording without prior instructor approval. If you need to text or answer the phone, please go outside so you do not disturb the rest of the class. You cannot take other student's works, comments, electronic material from D2L and post it to electronic services like YouTube.

Emailing me, remember, you are communicating with a college professor, not a text message to your peers. Use your full name, student number and class. I usually recognize my students, but I often cannot place what class they are in. Your email does NOT automatically tell me your student number. I check my email in the morning and evening (around 5:00PM). I guarantee I will respond to you within 24 hours during the normal work week. I'll be glad to talk to you in my office if I am there, as long as I don't have any pressing deadlines. Even better - send me an email to schedule a time, because I am usually in and out of my office.

Your Ideas and Evaluations

In general, your ideas, comments, suggestions, questions, grade challenges, etc. are welcome. Your discretion in these matters is expected, however. No part of your grade will be based on anything other than your coursework and attendance. You are encouraged to take advantage of instructor office hours for help with coursework or anything else connected with the course and your progress.

Suggestions for Success

The key to succeeding in this course is to keep up with the work. Assignments may start out simple, but they quickly build up in number and complexity. It is critical you work steadily week in and week out.