| Instructor: | Curt Hill |
| Telephone: | 845-7103 |
| Office: | 110 Rhoades Science Center |
| E-Mail: | Curt.Hill@vcsu.edu |
Text: IBM PC Assembly Language and Programming by Peter Abel, 4th ed
Prerequisites: CS 370.
Goals: To develop assembly language programmers. This will require good understanding of the CPU architecture, the available operations and the services provided by the assembler.
Programming projects: Since we wish to produce programmers we need to produce many programs, somewhere in the range of 6 to 9. Programming projects are normally worth 20 points. There is a late penalty of 10% (normally 2 points) per school day that the program is late. After five days there is no additional penalty, but the program must be turned in within ten working days for any points. The program will be turned in by mailing it to the instructor's account. The mail date will be used to determine lateness. Remember! Programming courses are hazardous to your free time! Warning: if the machine is unavailable at the time a project is due that will not be accepted as an excuse for a late project.
Project cooperation: It is normally the case that students talk to each other about programming projects and this is encouraged. It is also the case that a certain amount of cheating goes on and this is strongly discouraged. Worse yet it is not always clear where to draw the line that separates good cooperation from unacceptable cheating. However an attempt must be made. It is acceptable to: talk about programs, read other student's programs with their permission, suggest changes to programs up to several lines or have group study sessions where several students do any or all of these to each other's programs. What is not acceptable is: two (or more) students turning in one program or two copies of the same program, mailing or disk copying parts or all of a program from one student to another, browsing or copying programs without the author's permission and knowledge, or several students designing the entire program together and then separately typing it in. The standard policy for cheating on a program is for all copies of the program to receive a zero, regardless of who wrote it and who copied it.
Tests: There will be several tests. There will be two or three exams during normal class period, as well as a two hour final. The final is worth two times the amount of an ordinary exam, since it combines the testing of all untested material with that of the comprehensive final. If there are five tests (three during the term and the final counting as two tests), the lowest test will be thrown out. All test grades will be based on the high score for that test, with tests being equally valued regardless of the number of points on the test.
Grading: There will be two components which will determine a final score. Attendance is expected, but not graded. Any homework other than projects or quizzes will be lumped into the project scores. The final score will then be a range of 0 - 100. Given that score, the grades will be determined in a conventional percent way, greater than 90: A, 80 - 89: B etc.
Web Page: In an effort to waste less paper, much important information and most of the important documents are going to put on and maintained on the class web page. This page is linked to Curt's web page, which is in turn linked to the Math department web page, which in turn is linked to the VCSU page. All assignments will be posted to the web page first. In most cases the web page document will be the only one made available. This document, among others will be maintained there.
Topics:
Introduction to Assembly
Review of number representation
Machine organization and CPU 0
Assembly language programming
Program sequencing
Addressing, arrays and strings
I/O - unit record devices
I/O - disks
Other topics as time permits
Last time I updated this page: September 2, 2004. Return to CS 350 Home Page