UMBC CMSC313
Computer Organization & Assembly Language

UMBC | CSEE |


Course Syllabus

Instructor:

Name: Gary Burt
Office: ITE225
Office Hours: By appointment/walk-in
Telephone: (410) 455-3298 (No voice mail)
E-mail: burt@umbc.edu

Teaching Assistant:

Section: 0101/0201
Name: TBA
Office:  
Office Hours:  
Telephone:  
E-mail: gshiv1@umbc.edu

Time and Place

Section Date and Time Room
0101 MW 2:30 - 3:45 pm ITE227
0201 TTh 5:30 - 6:45 pm ITE227

Textbook

Course Web Page

All course material will be available in the Blackboard account for this class.

Prerequisites

You should have mastered the material covered in the following courses:

In particular, we will assume that you have had extensive programming experience with C/C++. Also, you must be familiar with and able to work with truth tables, Boolean Algebra and modulus arithmetic.

Objectives

The purpose of this course is to introduce computer science majors to computing systems below that of a high-level programming language, using MASM32. The material covered can be broadly separated into the categories of assembly language and computer organization. Under the heading of assembly language students will be introduced to the i386 instruction set, low-level programming, the Microsoft Windows memory model, as well as the internal workings of compilers, assemblers, and linkers. Topics under computer organization includes digital logic design (combinational circuits, sequential circuits, finite state machines) and basic computer architecture (system bus, memory hierarchy and input/output devices). A secondary goal of this course is to prepare computer science majors for CMSC411 Computer Architecture.

This course is based on three hours of lecture each week.

Grading

Your final grade will be based upon:

programming homework assignments 100 points each
short programming assignments 10 - 50 points each
pop-quizzes 5 - 15 points each
assembly mid-term exam 150 points each
assembly final exam 300 points each
short digital logic assignments 10 - 50 points each
digital logic mid-term exam 150 points each
digital logic final exam 300 points each

Your grade is given for work done during the semester; incomplete grades will only be given for medical illness or other such dire circumstances.

Lecture Policy

Your are expected to attend all lectures. You are responsible for all materials covered in the lecture as well as those in the assigned reading. There is material in the lectures that is not covered in the book and there is material in the book not covered in the lecture! You can be tested on both! However, this subject cannot be learned simply by listening to the lectures and reading the book. In order to master the material, you need to spend time outside the classroom on programming assignments, simulation exercises and homework assignments. If you miss a lecture, you will need to get the material you missed from a classmate!

Due Dates

There will be homework or exercises due on most weeks. When homework, exercises, and projects are to be turned in via on-line submissions are due by 11:59 of the due date. All others will be turned in during class on the day due.

Exams

The exams will be closed-book, closed-notes, and no calculators! The date of the midterm and final will be announced at a later time. The midterm will cover the material from the first part of the course and the final exam will cover the mater presented after the midterm. (Note: If the material is presented twice, it could be on both exams.)

Policy on Programming Projects and Exercises

Critical programming skills cannot be learned by attending lecture only. You should budget enough time to work on the programming assignments as well. Please consult the time table given on the lecture schedule and plan ahead. Programs are due by 11:59 of the due date. Programs will be submitted using the Blackboard system at UMBC. Late assignments will not be accepted. Programs will be graded on five criteria: correctness, design, style, documentation, and efficiency. So, turning in a project that merely "works" is not sufficient to receive full credit. For this course, programming projects must be developed using the MASM assembler running on an Intel Pentium CPU with Microsoft Windows.

Academic Conduct Policy

UMBC POLICY:

"By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory [or for graduate courses, the Graduate School."

The following is taken from the UMBC Student Handbook:

DEFINITIONS OF ACADEMIC MISCONDUCT

Academic misconduct may include but is not limited to the following:

Cheating: knowingly using or attempting to use unauthorized material, information, or study aids in any academic exercise.

Fabrication: Intentional and unauthorized falsification or invention of any information or citation in an academic exercise.

Facilitating Academic Dishonesty: Intentionally or knowingly helping or attempting to help another commit an act of academic dishonesty.

Plagiarism: Knowingly representing the words or ideas of another as one's own in any academic exercise, including works of art and computer-generated information/images.

POLICY FOR RESOLVING CASES OF ACADEMIC MISCONDUCT

Individual faculty members have the right and responsibility to deal directly with any cases of academic misconduct which arise in their courses. Instances of academic misconduct may be identified in one of two ways. If a faculty member believes a student has committed an act of academic misconduct--for example, by direct observation of student behavior, by comparing the contents of an assignment with that submitted by another student, or by reviewing notated sources or references--the faculty member, in consultation with the Chair of the Academic Conduct Committee, will assess the student's alleged misconduct and the faculty member's options. If a student believes that academic misconduct has occurred, the student will notify either the faculty member or the Chair of the Academic Conduct Committee.

It is particularly important that the Chair of the Academic Conduct Committee be consulted. The Chair can provide knowledge and insight for the faculty member. Communication of instances of academic misconduct also protects the integrity of the university by providing a means of recording infractions that may be repeated by a particular student, or which may prove endemic to a particular course or department. Consultation with the Chair of the Academic Conduct Committee provides a formal record of the infraction and resolution, protecting the student, professor, and university should any questions later arise.

The student will have the opportunity to respond to an accusation of academic misconduct.

ADA Compliance

We recognize that some of you might have needs that require special attention from the instruction staff. Please make us aware of them so that UMBC can make suitable arrangements. Student Services works with students and faculty members to assist us in providing you with the necessary learning environment.
UMBC | CSEE |