In this class you will learn machine instructions for commonly-used microprocessors and learn how to write programs in assembly language. You will acquire basic elements of computer architecture. You will learn the fundamental relationships between basic elements of computer architectures, machine-level languages and high-level languages. You will also learn the principles behind programming language tools (assemblers, linkers, compilers, debuggers).
This syllabus and an overall view of the course is further described in these lecture notes
The ordered list of course topics is:
The above schedule is not absolutely set in stone. Hopefully the course is dynamic due to interaction with students and some topics may require more or less time than indicated above.
ICS212 (or concurrent), (ICS311 or EE 367), and ICS314.
http://courses.ics.hawaii.edu/ics312_spring2025/
The Website is the authoritative source for all course material. It contains all information regarding the instructor, the TA, their availability in office hours, the schedule of lecture s, and all relevant course announcements.
Some lectures will be inverted in this course. This means that screencasts will be watched by students before lecture periods. Some lecture periods will be spent doing practice exercises based on the screencasts. This is so that, for more difficult or more technical (e.g., mathematical) content, students will have the opportunity to listen to the lecture at their own pace, watch more difficult parts multiple times. Lecture periods will be devoted to supervised practice.
We will use free texts available for download for this class (if you want printed copies, you will have to print them at your own expense, for instance using ITS services and your own paper, not on ICS printers):
There are plenty of texts on assembly programming, which you may find useful, such as:
The overall grade is computed on a total of 1000 points, broken down as follows:
Grading will be as follows:
Extra Credit: Some assignments/exams have extra credit points (i.e., the course is graded on 1000 points but there are more than 1000 points to get). Also, extra credit will be given to all students based on CES evaluation completion rates, as follows:
Turn in your own work. It is okay to discuss homework with others, and is in fact encouraged as it can lead to fruitful discussions and discoveries, but the work you turn in should always be your own. Answers should always include how the answer was derived.
Assignments specify which files to turn in (file names and types) and, whenever applicable, how programs should build. Not matching these specifications will result in grade penalties.
Hand-written (scanned or on a tablet) assignments will not be accepted
All assignments are be turned in via Laulima
It is each student’s responsibility to submit the right files to Laulima. Students should double-check they have submitted correct content, and excuses such as "by mistake I submitted the wrong file" will not be accepted.
If Laulima is down, instead submit your assignment attached in an e-mail to both the TA and the instructor. Do not send a “Laulima is down what should I do?” e-mail, that we would mostly likely get after the due date, at which point you would be facing the late submission penalty.
Assignments are due at 11:55PM on the due day. Late work will be accepted, with a 10% grade penalty for up to 24 hours of lateness. For instance, if the assignment is due on 3/10 and is turned in on 3/11 at 11AM, a 10% penalty if applied to the grade. Turning in assignments more than 24h late will always result in a 0.
All assignments are be turned in via Laulima
It is each student’s responsibility to submit the right files to Laulima. Students should double-check they have submitted correct content, and excuses such as “by mistake I submitted the wrong file” will not be accepted.
If Laulima is down, instead submit your assignment attached in an e-mail to both the TA and the instructor. Do not send a “Laulima is down what should I do?” e-mail, that we would mostly likely get after the due date, at which point you would be facing the late submission penalty.
Quizzes are announced in class the week before, and will take place in class. Quizzes are always at the beginning of the first of the two weekly lectures, unless the first lecture is on a holiday, in which case the quiz is at the beginning of the second lecture.
A student who arrives in class more than 5 minutes late cannot take the quiz. There is no makeup quiz. The worst quiz grade is discarded when computing final grades.
All occurrences of academic dishonesty, as defined below, will result in a grade of 0 for the assignment or exam, a drop of the overall grade for the course by one letter (e.g., a B becomes a C), and in a memo in your ICS department file describing the incident. This will be done for all students involved, and reported to UH’s Office of Judicial Affairs are required by university rules.
Disciplinary sanctions range from a warning to expulsion from the university, as seen at: http://www.catalog.hawaii.edu/about-uh/campus-policies.htm
See relevant excerpts below:
The integrity of a university depends upon academic honesty, which consists of independent learning and research. Academic dishonesty includes cheating and plagiarism. The following are examples of violations of the Student Conduct Code that may result in suspension or expulsion from UH Manoa.
Cheating includes, but is not limited to, giving unauthorized help during an examination, obtaining unauthorized information about an examination before it is administered, using inappropriate sources of information during an examination, altering the record of any grade, altering an answer after an examination has been submitted, falsifying any official UH Manoa record, and misrepresenting the facts in order to obtain exemptions from course requirements.
Plagiarism includes, but is not limited to, submitting, to satisfy an academic requirement, any document that has been copied in whole or in part from another individual’s work without identifying that individual; neglecting to identify as a quotation a documented idea that has not been assimilated into the student’s language and style; paraphrasing a passage so closely that the reader is misled as to the source; submitting the same written or oral material in more than one course without obtaining authorization from the instructors involved; and “dry-labbing,” which includes obtaining and using experimental data from other students without the express consent of the instructor, utilizing experimental data and laboratory write-ups from other sections of the course or from previous terms, and fabricating data to fit the expected results.
The faculty member must notify the student of the alleged academic misconduct and discuss the incident in question. The faculty member may then take academic action against the student as the faculty member deems appropriate, which will consist of:
Reporting the incident to UH’s Office of Judicial Affairs, as required by the university
Giving a grade of zero on the assignment/exam for which cheating occurred
Lowering the overall grade in the course by one full letter step (an “A” becomes a “B”, a “B” becomes a “C”, etc.)
The above actions may be appealed through the Academic Grievance Procedure, available in the Office of Judicial Affairs.