CSCI 360 - COMPUTER PROGRAMMING IN ASSEMBLER LANGUAGE(4)
An indepth study of assembler language programming on a third-generation computer, including internal and external subroutines, conditional assembly, and the macro language. Students are required to write a number of substantial programs. Extensive laboratory work.
Assembler Language with ASSIST and ASSIST/I (Overbeek and Singletary)
IBM 370 Principles of Operation
IBM Assembler Manual
There will be approximately 10-12 homework and programming assignments, and possibly some quizzes. The point value of each assignment or quiz will be announced when it is distributed.
Write the following information in the documentation box at the start of each program you turn in:
To receive full credit, a program must be RUN by the due date and time specified by the instructor, and it must be TURNED IN by the date and time specified by the instructor. The initiation date and time printed in the job log will be used to determine a program's run time.
BACKUP COPIES: You are responsible for keeping a backup copy of each program you hand in. It is possible that a program you hand in will be lost. If the instructor is missing a grade for your program, it will be assumed that you did not hand it in unless you can produce a backup copy that was run on time.
LATE PROGRAM POLICY: You are allowed one free, no questions asked, extension for the course. The extension will give you an extra 24 clock hours. To claim it, you must first get permission from your instructor and write "FREE EXTENSION" in the documentation box of the program.
In addition to the one free extension, each assignment will be available on Blackboard for five days after the assigned due date and is eligible to be submitted for grading during that time. However, a late penalty of 5% will be accessed for each day (OR FRACTION THEREOF) that the assignment is past due (However, the last assignment will not be accepted late.) Weekends don't count as late days. If the program is due on Friday, handing it in on Monday (before the specified run time) is only one day late. After the five day late period, an assignment will receive a grade of 0.
Any program that does not show, in the instructor or TA's opinion, a reasonable attempt at completing the assignment will earn a grade of zero.
MISSING ASSIGNMENTS: Each missing assignment or assignment with a grade of zero will cause your final course grade to be lowered by one letter.
GRADING OF ASSIGNMENTS: The teaching assistant will grade all assignments. If you do not agree with this evaluation, you must confer with the T.A. first. If you still are not satisfied, bring your backup copy to your instructor. The instructor will examine it and give it a final grade (which could be higher, lower, or the same as the original grade). Any protest of assignment scores must be made within one week of the day the assignment is returned to the class.
Programming assignments will be graded on output, coding technique, documentation, and on the extent to which they conform to the objectives of the assignment.
All programs must follow the rules of STRUCTURED programming. Programs with unstructured code will lose points on coding technique.
The grading scheme for programs is as follows:
Compliance with the assignment and program output:
Perfect | 100% |
Correct output short of perfection (no abend) | 96 |
Nearly correct output (no abend) | 88 |
Some correct output (no abend) | 80 |
Any of the above with an abend | 72 |
Little or no correct output with or without an abend | 50 |
No execution (assembly errors or JCL errors) | 10 |
Consideration of coding technique reduces the above by:
Efficient, structured, modifiable | no change |
Some shortcomings | 10% |
Lots of shortcomings | 15 |
Terrible | 25 |
Consideration of documentation reduces the above by:
Ample, accurate, nothing important omitted | no change |
Some important items missing | 5% |
Poor documentation | 15 |
Grossly inadequate | 25 |
Starting with Program 2, you and a partner of your choosing may work together to complete the programming assignments for the course.
The idea behind allowing collaboration on assignments is to help you build programming skills along with another student/classmate. Don't try to just find someone to do your homework for you. This should be a give and take of ideas on how to go about coding an assembly language program to solve the problems that are presented in the assignments. It should be a learning experience for both people in the pairing.
If you copy someone's homework without his/her permission, you are cheating and there will be appropriate penalty.
You may not collaborate in any way on quizzes or exams. At a minimum, the penalty will be a zero on the quiz or test. There is also the chance of other penalties as determined by the University Judicial Office.
There will be one or two exams, plus a final exam. In addition, there may be several quizzes. Any quizzes will be included in the calculation of the exam average. If you must miss an exam due to illness, notify your instructor or the computer science department secretary BEFORE exam time. Be prepared to verify the illness with a note from your doctor.
Any protest of exam or quiz scores must be made within one week of the day the item is graded on Blackboard or returned in class.
Your final course average will be computed as:
40% of your assignment average + 60% of your exam average
assignment average = ( your assignment points / maximum assignment points ) * 100
exam average = ( your exam points / maximum exam points ) * 100
Your grade will be based on the final course average, using a 92(A), 84(B), 76(C), 68(D) percent scale. Your grade will be adjusted, if necessary, as explained under programming assignments above.
There will be no rounding up to the nearest letter grade.
Any quizzes will count as part of the exam average. You must have a passing average (at least 68%) on each of the two parts (assignments and exams) to pass the course.
You are responsible for everything said and handed out in class, including any modification of assignments or course requirements. If you should miss a class, be sure to get notes from one or more classmates, and see your instructor for any handouts you may have missed. There will be no private repeat performances of lectures from your instructor. Reasonable questions, of course, will be answered.
Bring the Reference Summary (yellow booklet) to every class.
Cheating in any form will not be tolerated. Any student caught cheating will receive a grade of F in the class and will be subject to university disciplinary action.
Both "loaning" material to and "borrowing" material from a fellow student are considered cheating. Some discussion of assignments and mutual assistance normally are acceptable, but the discussion or assistance should not be so detailed and extensive that it begins to resemble collaboration. If you feel even the slightest possibility that what your are doing might be considered cheating, DO NOT DO IT! Any assistance needed should be sought from a CSCI 360 teaching assistant or instructor.
This, of course, does not apply to your programming partner (if your section is doing pair programming).
Instructors and teaching assistants are more than willing to help students. When you come for help, you are expected to have made an honest attempt to debug the abended program. We want you to learn to solve your own problems by really thinking about them and taking them as far down the path to solution as possible. Give it your best shot. Then, if you still need help, don't stew over it. Come see us.
Northern Illinois University is committed to providing an accessible educational environment in collaboration with the Disability Resource Center (DRC). Any student requiring an academic accommodation due to a disability should let his or her faculty member know as soon as possible. Students who need academic accommodations based on the impact of a disability will be encouraged to contact the DRC if they have not done so already. The DRC is located on the 4th floor of the Health Services Building, and can be reached at 815-753-1303 (V) or drc@niu.edu.