Microcomputers and Assembly Language
CSC 231, Fall 2009
Judy Franklin
Based largely on 231 taught by Dominique Thiébaut

Course Description & Syllabus
(http://cs.smith.edu/~jfrankli/231f09/)

1. Introduction 7. Grading Policy
2. Class Times 8. Professor
3. Textbooks 9. Teaching Assistant
4. Other Sources 10. Lab Assistant
5. Lateness Policy 11. Office/Lab Hours
6. Grading  

Professor: Judy Franklin
Ford Hall, 355
Telephone: 3858
Office hours Monday, Wednesday 2:30 - 3:00, Thursday 12:30-2-->


Class Times: Lectures: Monday, Wednesday 1:10 - 2:30 p.m., Bass 102


Teaching Assistant: Rae Recto erecto@smith.edu Help sessions: TBA

Go to the class Homepage for exercises, demo programs, and misc. information.
For now, view the csc231 video to see a bit or two about this course.


Introduction: CSC231, Microcomputers and Assembly Language, is a 4-credit course required for the Computer Science major and is an elective for Engineering. It is usually offered in the fall, and is the third computer course most CS majors will select, after having taken CSC111 and CSC112, both prerequisites for CSC231. The CSC112 prerequisite will be waived this semester, with permission of the instructor
Like CSC111 and CSC112, Micro and Assembly Language is a programming intensive class, where students learn how the high-level constructs of Python, C, C++, or Java programs are executed by the computer: procedure calls and parameter passing, stack use and recursion. The class is also an introduction to the organization of the Intel 80X86/Pentium family of processors, and to the architecture of the IBM PC. Students write programs that directly control the microprocessor and the different hardware components inside the computer,

The programming environment is Linux, and we use the NetWide Assembler (NASM) to assemble programs. Working on homework assignments will require using computers in one of several ways:

In short, any PC compatible in Burton Hall, in Bass Hall, in Seelye, in Engineering, or connected to one of the Novell networks on campus can be used to access our Unix environment and work on CSC231 assignments.

Prerequisites: Normally, CSC111, Introduction to computer science, and CSC112, Data structures, but the 112 perequisite is waived for 2009. Students should also have a good understanding of the binary and hexadecimal systems, which will be reviewed briefly during class.


Schedule: The class meets twice a week, and programming assignments are given regularly. About 10 homework assignments can be expected. There will be an in-class midterm exam and a final take-home exam. There will be a final project that involves research into another processor and its intruction set.
The course covers the following topics:


Textbooks: Introduction to Assembky Language Programming, Second Edition, by S. Dandamudi.

Other Useful Documents:


Other Sources of Material: Check the Class Homepage for additional links to assembly-related sources.


Lateness Policy: Your grade will decrease by one whole grade for each day your assignment is late (except in case of documented illness or personal difficulties). The assignments are tentatively scheduled to be due every Thursday evening at midnight.


Grading: Homework assignments 55%, Midterm 15%, Final 15%, Final Project 15%.