This page is for a past semester (f14) 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 and note there is no mavs subdomain)

Office Number:

Engineering Research Building 559

Office Telephone Number:

817-272-3610

Section Information:

CSE 2312-002, Fall 2014 (84690)

Course Website:

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

Time and Place of Class Meetings:

Tuesdays/Thursdays 2:00pm-3:20pm, Nedderman Hall 109 (NH 109)

Office Hours:

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

Graduate Teaching Assistant (GTA):

Nathan Hervey

Graduate Teaching Assistant Email Address:

nhervey@mavs.uta.edu

Graduate Teaching Assistant Office Hours:

Mondays / Wednesday 2:00pm-3:30pm, ERB 562

Graduate Teaching Assistant (GTA):

Lalit Naidu

Graduate Teaching Assistant Email Address:

firstname.lastname@mavs.uta.edu

Graduate Teaching Assistant Office Hours:

Mondays / Wednesday 10:30am-12:30pm, ERB 562

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 Patterson and Hennessy unless otherwise noted. All assignment dates are approximate at this point and will be updated on this website as the semester progresses.
Date Content Slides / Resources Assignments
8/21 Introduction Slides (pdf), Covered Through Slide 26 Reading: Chapter 1
8/26 Structured Computers; Computer Components: Processors, Memory, Input/Output Slides (pdf). Covered Through Slide 30. Homework 1 Assigned (pdf, docx); Reading: Chapter 1
8/28 Quantifying Computer Components: Performance Metrics like Clock Speed, Memory Sizes, etc. Slides (pdf). Covered remaining slides for chapter 1. Reading: Chapter 1
9/2 Signed Numbers, Hexadecimal, Intro to Instructions Slides pdf. Covered through slide 33. Reading: ARM Version Chapter 2 (2.1 to 2.4)
9/4 Instructions, Memory, Endianness Slides pdf. Covered through slide 36. Homework 1 Due; Homework 2 Assigned (pdf, docx); Assigned; Reading: ARM Version Chapter 2 (2.5 to 2.7)
9/9 Logical Operations, Control Flow Instructions (Guest Lecturer: Vassilis Athitsos) Slides pdf). Covered through slide 51. Reading: ARM Version Chapter 2 (2.9 to 2.12)
9/11 Memory, Caches and Storage (Guest Lecturer: Feraydune Kashefi) Slides pdf). Covered through slide 50. Reading: ARM Version Chapter 2 (2.14 to 2.17)
9/16 Memory Addressing Modes Slides pdf). Covered through slide 35. Homework 2 Due; Homework 3 Assigned (pdf, docx); Reading: ARM Version Chapter 2 (2.8, 2.13, and 2.18 to 2.19)
9/18 Procedures, Recursion, and the Stack Slides pdf. Covered through slide 24. Reading: Appendix A.1 through A.6 (skip specific details on MIPS)
9/23 Stack and Recusion Slides pdf. Covered through slide 23. Reading: Appendix A.1 through A.6 (skip specific details on MIPS), and ARM Version Appendix B2 (skim, look at the tables)
9/25 More Flow of Control Slides pdf. Covered through slide 26. Homework 3 Due; Homework 4 Assigned (pdf, docx); Reading: ARM Version Appendix B1 (read all, except skim section B1.3, although it's a useful resource as it has examples of all the instructions)
9/30 Assembly Process and Macros Slides pdf. Covered through slide 43. Reading: Review Chapter 1, 2 (ARM), Appendix A1-A6, Appendices B1-B2 (ARM)
10/2 Loading and Strings Slides pdf. Covered all slides. Reading: Review Chapter 1, 2 (ARM), Appendix A1-A6, Appendices B1-B2 (ARM)
10/7 Midterm Review (Guest Lecturer: Feraydune Kashefi) Slides pdf Homework 4 Due; Homework 5 Assigned (pdf, docx, extra files); Reading: Review Chapter 1, 2 (ARM), Appendix A1-A6, Appendices B1-B2 (ARM)
10/9 Midterm Exam (In Class; Covers Chapter 1, 2 (ARM), Appendix A1-A6, Appendices B1-B2 (ARM))
10/14 Running ARM Programs with QEMU and Debugging ARM Programs with gdb Slides pdf, examples (zip)
10/16 Intro to Pipelines and Parallelism, and Debugging QEMU and ARM with gdb Slides pdf, examples (zip) Reading: Chapter 4 (Section 4.5); Homework 5 Due
10/21 More Pipelining and Parallelism Slides pdf (Covered Through Slide 14) Reading: Chapter 4 (Section 4.6-4.7)
10/23 More Pipelining and Parallelism: Data and Control Hazards and Solutions (slides pdf, ARM pipeline slides pdf [original source for ARM slides]) Programming Assignment 1 Assigned (pdf, docx, extra files) Assigned; Reading: Chapter 4 (Sections 4.8, 4.10-4.11)
10/28 Interrupts, Exceptions/Traps, and Input/Output (I/O) slides pdf; examples Reading: Chapter 4 (Section 4.9); UART Manual, Section 3.2 and 3.3.1 [local copy]; versatile pb manual, Section 4.1 and page 4-97 [local copy]
10/30 Memory Hierarchies (Registers, Caches, Main Memory, Storage) slides pdf (Covered through slide 49) Reading: Chapter 5 (Sections 5.1-5.2); Optional Reading About SRAM vs. DRAM (Appendices B.8-B.9)
11/4 Caches slides pdf (Covered through slide 41) Programming Assignment 1 Due; Programming Assignment 2 Assigned (pdf, docx, given files); Reading: Chapter 5 (Sections 5.3-5.4)
11/6 Direct-Mapped and Associative Caches slides pdf (Covered through slide 43) Reading: Chapter 5 (Sections 5.3-5.4)
11/11 Cache Coherence / Consistency and Memory Hierarchy Performance slides pdf (Covered through slide 38) Reading: Chapter 5 (Sections 5.8-5.10, 5.13, 5.15-5.16)
11/13 Virtual and Dependable Memory slides pdf (Covered through slide 50) Reading: Chapter 5 (Sections 5.5 and 5.7); Programming Assignment 2 Due; Programming Assignment 3 Assigned (pdf, docx, given files)
11/18 Dependable Memory and Overflow, Starting Floating Point Numbers (IEEE 754) slides pdf (Covered through slide 49) Reading: ARM Edition Chapter 3 (Sections 3.5 and 3.9)
11/20 Floating Point Numbers (IEEE 754); Combining C and Assembly; Multiple Issue and ARM Pipeline Performance slides pdf (Covered through slide 51) Reading: Chapter 4.10-4.11
11/25 Computer Organization Review using ARM as an Example slides pdf, Covered Through Slide 21 Programming Assignment 3 Due; Programming Assignment 4 Assigned (pdf, docx, extra files) Assigned
11/27 Thanksgiving Holiday (no classes)
12/2 Final Review Class, Last Day of Our Class final review slides pdf, midterm review slides pdf
12/3 Last Day of University Classes Programming Assignment 4 Due
12/9 Final Exam (2:00pm-4:30pm)

Required Textbook and Other Course Materials:

Linux Tutorials

Optional Textbooks and Additional References:

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 3 of the Patterson and Hennessy textbook. The second half of the course will include fewer homework assignments, but several programming assignments in assembly language, and a final exam cover roughly chapters 4 and 5 of the Patterson and Hennessy textbook. In class quizzes and discussions will make up a portion of the grade. Approximate due dates of assignments are shown in the course schedule.

Attendance:

At The University of Texas at Arlington, taking attendance is not required. Rather, each faculty member is free to develop his or her own methods of evaluating students' academic performance, which includes establishing course-specific policies on attendance. As the instructor of this section, students are strongly encouraged to attend lectures (particularly due to some graded in class quizzes), come to office hours, and make use of all available educational resources.

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: 25%
  • Quizzes and Participation: 10%
  • 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, Exams, and Late Assignment Submission:

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). If you submit an assignment late, it will have points taken off at a rate of 33% per day.

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.

Title IX:

The University of Texas at Arlington is committed to upholding U.S. Federal Law "Title IX" such that no member of the UT Arlington community shall, on the basis of sex, be excluded from participation in, be denied the benefits of, or be subjected to discrimination under any education program or activity. For more information, visit www.uta.edu/titleIX.

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.

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.

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 at www.uta.edu/resources.

Emergency Phone Numbers:

In case of an on-campus emergency, call the UT Arlington Police Department at 817-272-3003 (non-campus phone), 2-3003 (campus phone). You may also dial 911.

Last modified:

July 19, 2015 19:10:25.