This page is for a past semester (f13) and is for archival purposes only

Computer Organization and Assembly Language Programming (CSE 2312)

University of Texas at Arlington

Computer Science and Engineering

Instructor:

Taylor Johnson

Email Address:

firstname.lastname@uta.edu (replace firstname with Taylor and lastname with Johnson)

Office Number:

Engineering Research Building 559

Office Telephone Number:

817-272-3610

Section Information:

CSE 2312-002, Fall 2013 (85233)

Course Website:

http://www.taylortjohnson.com/class/cse2312/f13/

Time and Place of Class Meetings:

Nedderman Hall 111 (NH111), Tuesdays/Thursdays 2pm-3:20pm

Office Hours:

ERB559, Tuesdays/Thursdays 3:30pm-4:30pm and by appointment (email me to schedule)

Graduate Teaching Assistant:

Mohammadhani (Hani) Fouladgar

Graduate Teaching Assistant Email Address:

firstname.lastname@mavs.uta.edu

Graduate Teaching Assistant Office Hours:

Wednesdays/Thursdays, 9am-11am, ERB 124 (was ERB 408)

Undergraduate Teaching Assistant:

Eric Nelson

Undergraduate Teaching Assistant Email Address:

firstname.lastname@mavs.uta.edu

Undergraduate Teaching Assistant Office Hours:

Mondays, noon-3pm, ERB 124 (was ERB 323)

Lab Rooms with QEMU and ARM Software:

ERB 124, 125, and 131

Course Schedule (Syllabus; note that all information appearing on this website supersedes that appearing in the syllabus PDF, that is, the website is more up-to-date):

The instructor for this course reserves the right to adjust this schedule in any way that serves the educational needs of the students enrolled in this course. All readings refer to Tanenbaum unless otherwise noted. All assignment dates are approximate at this point and will be updated on this website as the semester progresses.
  • 8/22: Introduction
  • 8/27: Structured Computers (Reading: Chapter 1; HW1 Assigned)
  • 8/29: Computer Components: Processors, Memory, Input/Output
  • 9/3: Quantifying Computer Components: Metrics like Clock Speed, Memory Sizes, etc.
  • 9/5: More Processor Fundamentals (HW 1 Due; Reading: Chapter 2; HW2 Assigned)
  • 9/10: Memory, Endianess, and Error Correcting Codes
  • 9/12: Caches and Storage (Reading: 4.5.1)
  • 9/17: Instruction Set Architectures: Data and Instruction Types (HW2 Due via Blackboard; Reading: Chapter 5; HW3 Assigned)
  • 9/19: Memory Addressing Modes
  • 9/24: Midterm Review
  • 9/26: Midterm Exam (Chapters 1, 2, and part of Chapter 5 [Sections 5.1 through 5.5, excludes 5.5.5 and 5.5.7])
  • 10/1: Flow of Control
  • 10/3: ARM Overview (HW3 Due; HW4 Assigned)
  • 10/8: Assembly Language, Directives, and Basic ARM Examples (examples; Reading: Chapter 7)
  • 10/10: Assembly Process and Macros (examples)
  • 10/15: Procedures (HW4 Due; HW5 Assigned)
  • 10/17: Recursive Procedures (Examples)
  • 10/22: Debugging QEMU and ARM with gdb (PA01 Assigned)
  • 10/24: ARM Memory Map Details, Linking and Loading
  • 10/29: Binary Arithmetic and Bit Manipulations (Reading: Appendix A)
  • 10/31: Interrupts, Traps, and I/O: Focus on Output (Reading: Chapter 5, Sections 5.6.4-5.6.5; versatile pb manual, Section 4.1 and page 4-97)
  • 11/5: More I/O (Focus on Input) (Reading: UART Manual, Section 3.2 and 3.3.1)
  • 11/7: More I/O (Focus on DMA) (examples; PA01 Due; PA02 Assigned)
  • 11/12: Floating Point Numbers (IEEE 754) and Floating Point Instructions on ARM (Reading: Appendix B; ARM Floating Point Instructions)
  • 11/14: More Floating-Point and More Debugging QEMU and ARM with gdb
  • 11/19: Advanced Flow of Control (examples)
  • 11/21: More GDB Debugging and Combining C and Assembly (examples; PA3 Assigned)
  • 11/26: Computer Organization Review using ARM as an Example (PA2 Due)
  • 11/28: Thanksgiving Holiday (no classes)
  • 12/3: Final Review Class
  • 12/4: Last Day of Classes (PA3 Due)
  • 12/10: Final Exam (2:00pm-4:30pm)

Textbooks and Other Course Materials:

Description of Course Content:

Computer organization from the viewpoint of software, including: the memory hierarchy, instruction set architectures, memory addressing, input-output, integer and floating-point representation and arithmetic. The relationship of higher-level programming languages to the operating system and to instruction set architecture are explored. Some programming in an assembly language.

Prerequisites:

All students are expected to have passed the courses CSE 1320 Intermediate Programming and CSE 1310 Introduction to Computers and Programming or an equivalent before attending this course. Students are expected to have working experiences with software development.

Student Learning Outcomes:

The objective of this course is to introduce computer science and engineering students to the architecture, organization, and low-level (assembly) programming of computing systems. At course conclusion, students should be able to:
  • Define components of a computer system, such as input/output devices, memory, processors, etc.
  • Define different types and levels of computer systems, such as instruction set architectures, device level architectures, microcontrollers, RISC, CISC, etc.
  • Compute and compare basic performance metrics of programs on different architectures and levels
  • Convert between binary and decimal representations, binary and character encodings like ASCII, real numbers and floating-point approximations, and perform manipulations of these information representations (arithmetic, etc.)
  • Write, assemble, and execute assembly language programs to solve problems
  • Write assembly programs using different endianness, addressing modes, stack features, and other architecture and ISA specific features

Descriptions of major assignments and examinations:

Coursework for roughly the first half of the course will include homework assignments and a midterm exam covering roughly chapters 1, 2, and 5 of the textbook. The second half of the course will include fewer homework assignments, but several programming assignments in assembly language, and a final exam. Approximate due dates of assignments are shown in the course schedule.

Attendance:

Students are strongly encouraged to attend lectures and come to office hours.

Other Requirements:

Exams will be closed book, but students will be allowed to bring a two-sided sheet of letter-size paper. Students are expected to check the course website for updates to the course schedule throughout the semester.

Grading:

Grade percentages will be calculated based on the following weights:
  • Homework: 25%
  • Programming Assignments: 35%
  • Midterm Exam: 20%
  • Final Exam: 20%
Letter grades will be determined based on the following ranges:
  • 100 >= A >= 90
  • 90 > B >= 80
  • 80 > C >= 70
  • 70 > D >= 60
  • 60 > F >= 0
The instructor reserves the right to move the thresholds down based on the distribution of final percentages, but they will not move up (e.g., if a grade percentage is between 90 and 100, this will receive an A). Students are expected to keep track of their performance throughout the semester and seek guidance from available sources (including the instructor) if their performance drops below satisfactory levels.

Make-Up Assignments and Exams:

If you miss an exam or quiz due to unavoidable circumstances (e.g., health), you must notify the instructor in writing via email as soon as possible and request a makeup approval. If it is a planned (non-emergency) abcense, you must inform the instructor ahead of time! Do NOT ask for make-ups if you do not complete something due to travel (except when you are required to travel to represent the university or department on official business, but request at least 3 days ahead of the due date or exam time).

Grade Grievances:

Any appeal of a grade in this course must follow the procedures and deadlines for grade-related grievances as published in the current undergraduate catalog (see here).

The first step is as follows. If you do not believe a grade on a particular assignment is correct, you may appeal the grade in writing (by email) within 5 days. Grade appeals must be appealed to the appropriate GTA first, then to the instructor if necessary.

Drop Policy:

Students may drop or swap (adding and dropping a class concurrently) classes through self-service in MyMav from the beginning of the registration period through the late registration period. After the late registration period, students must see their academic advisor to drop a class or withdraw. Undeclared students must see an advisor in the University Advising Center. Drops can continue through a point two-thirds of the way through the term or session. It is the student's responsibility to officially withdraw if they do not plan to attend after registering. Students will not be automatically dropped for non-attendance. Repayment of certain types of financial aid administered through the University may be required as the result of dropping classes or withdrawing. For more information, contact the Office of Financial Aid and Scholarships.

Americans with Disabilities Act:

The University of Texas at Arlington is on record as being committed to both the spirit and letter of all federal equal opportunity legislation, including the Americans with Disabilities Act (ADA). All instructors at UT Arlington are required by law to provide "reasonable accommodations" to students with disabilities, so as not to discriminate on the basis of that disability. Any student requiring an accommodation for this course must provide the instructor with official documentation in the form of a letter certified by the staff in the Office for Students with Disabilities, University Hall 102. Only those students who have officially documented a need for an accommodation will have their request honored. Information regarding diagnostic criteria and policies for obtaining disability-based academic accommodations can be found here or by calling the Office for Students with Disabilities at 817-272-3364.

Academic Integrity:

Students enrolled in this course are expected to adhere to the UT Arlington Honor Code: I pledge, on my honor, to uphold UT Arlington's tradition of academic integrity, a tradition that values hard work and honest effort in the pursuit of academic excellence. I promise that I will submit only work that I personally create or contribute to group collaborations, and I will appropriately reference any work from other sources. I will follow the highest standards of integrity and uphold the spirit of the Honor Code. UT Arlington faculty members may employ the Honor Code as they see fit in their courses, including (but not limited to) having students acknowledge the honor code as part of an examination or requiring students to incorporate the honor code into any work submitted. Per UT System Regents' Rule 50101, Section 2.2, suspected violations of university's standards for academic integrity (including the Honor Code) will be referred to the Office of Student Conduct. Violators will be disciplined in accordance with University policy, which may result in the student's suspension or expulsion from the University.

Student Support Services:

UT Arlington provides a variety of resources and programs designed to help students develop academic skills, deal with personal situations, and better understand concepts and information related to their courses. Resources include tutoring, major-based learning centers, developmental education, advising and mentoring, personal counseling, and federally funded programs. For individualized referrals, students may visit the reception desk at University College (Ransom Hall), call the Maverick Resource Hotline at 817-272-6107, send a message to resources@uta.edu, or view the information here.

Electronic Communication:

UT Arlington has adopted MavMail as its official means to communicate with students about important deadlines and events, as well as to transact university-related business regarding financial aid, tuition, grades, graduation, etc. All students are assigned a MavMail account and are responsible for checking the inbox regularly. There is no additional charge to students for using this account, which remains active even after graduation. Information about activating and using MavMail is available here.

Student Feedback Survey:

At the end of each term, students enrolled in classes categorized as "lecture," "seminar," or "laboratory" shall be directed to complete an online Student Feedback Survey (SFS). Instructions on how to access the SFS for this course will be sent directly to each student through MavMail approximately 10 days before the end of the term. Each student's feedback enters the SFS database anonymously and is aggregated with that of other students enrolled in the course. UT Arlington's effort to solicit, gather, tabulate, and publish student feedback is required by state law; students are strongly urged to participate. For more information, visit here.

Final Review Week:

A period of five class days prior to the first day of final examinations in the long sessions shall be designated as Final Review Week. The purpose of this week is to allow students sufficient time to prepare for final examinations. During this week, there shall be no scheduled activities such as required field trips or performances; and no instructor shall assign any themes, research problems or exercises of similar scope that have a completion date during or following this week unless specified in the class syllabus. During Final Review Week, an instructor shall not give any examinations constituting 10% or more of the final grade, except makeup tests and laboratory examinations. In addition, no instructor shall give any portion of the final examination during Final Review Week. During this week, classes are held as scheduled. In addition, instructors are not required to limit content to topics that have been previously covered; they may introduce new concepts as appropriate.

Emergency Exit Procedures:

Should we experience an emergency event that requires us to vacate the building, students should exit the room and move toward the nearest exit, which is located to the east side of Nedderman Hall. When exiting the building during an emergency, one should never take an elevator but should use the stairwells. Faculty members and instructional staff will assist students in selecting the safest route for evacuation and will make arrangements to assist handicapped individuals.