DEPARTMENT OF COMPUTING

CS 2810: Computer Organization and Architecture

Spring 2024 Syllabus

Required of students pursuing a Computer Science degree or emphasis, open to any student with a strong interest in computer programming. Covers digital hardware design and systems programming, including numeric representations, digital logic, processor architecture, instruction sets, assembly language, and other low-level programming topics.

Prerequisites

CS 1410 with a C or better

Fees

Computer lab access fee: $20, used to assist in maintaining computing infrastructure.

Sections

Two sections:

  1. MW 1:30–2:45 PM in Smith 109

    CRN: 20197

    Final exam: Wednesday, May 1 at 1:00–2:50 PM

  2. TR 12:00–1:15 PM in Smith 109

    CRN: 22262

    Final exam: Thursday, May 2 at 11:00 AM–12:50 PM

Instructor

Instructor: Dr Russ Ross

Email: russ.ross@utahtech.edu

Phone: 435-652-7971 (note: email preferred)

Office: North Burns 226

Office Hours: MTWR 3:00–4:00 PM, Friday by appt

Program learning outcomes

At the successful conclusion of this program, students will be able to:

  1. Design, implement, and evaluate computational systems to address needs in a variety of contexts and disciplines.
  2. Devise new solutions from foundational principles informed by current practice.
  3. Weigh and apply ethical, legal, and social responsibilities in all aspects of practice.
  4. Construct effective solutions in teams to accomplish a common goal.
  5. Author effective visual, oral, and written communication for a range of audiences.

Course learning outcomes

At the successful conclusion of this course, students will be able to:

  1. Convert between number systems including binary, hexadecimal, octal, and decimal. [PLO #1]
  2. Debate and compare the design of computer instruction sets and assembly languages. [PLO #1]
  3. Compose low-level solutions to programming problems that interact directly with the operating system. [PLO #2]
  4. Generate structured assembly language solutions to algorithmic problems. [PLO #2]

Resources

Texts

There is one recommended text for this class:

Computers

Students are expected to have access to a personal computer running Linux (this includes the Windows Subsystem for Linux) or Mac OS. The instructor will provide basic help setting up the tools and environment for homework, but students are generally responsible for installing and configuring software as well as performing basic troubleshooting and maintenance tasks as needed.

Specifically, you should have Debian 12 “Bullseye” or Ubuntu 22.04 or later as your Linux distribution. These are both free and widely available.

Course Web Site

This course has an accompanying website. You are responsible for announcements, the schedule, and other resources posted on the website. Grades will be managed using Canvas.

Assignments and exams

Assignments

There will be approximately two assignments every week during the semester. Projects are designed to take a few hours of work for successful completion. These assignments will involve various activities to promote a deeper understanding of the course materials. Most of the projects build upon previous work, so students who fall behind will not be able to complete the course successfully.

It is important that you start early and get each of your assignments done before its due date. Many problems will take much longer to solve in a single sitting than in many shorter sessions. Give yourself time to think; sleep on difficult problems. Finish early so you can go back and refine your initial approach.

Exams

This course has three exams. These exams will consist of questions based on the projects, reading, and lecture material.

Grading

Assignments, exams, and in-class activities each contribute to your point total. The assignments will comprise 50% of the total, in-class participation 15%, the first exam 5%, the second exam 15%, and the final exam 15%.

Letter grades are assigned based on the percentage of possible points attained, according to the following chart:

Minimum Percentage Letter Grade
93 A
90 A-
87 B+
83 B
80 B-
77 C+
73 C
70 C-
67 D+
63 D
60 D-
0 F

Course Policies

Attendance

Students are responsible for material covered and announcements made in class. School-related absences may be made up only if prior arrangements are made. The class schedule presented is approximate. The instructor reserves the right to modify the schedule according to class needs. Changes will be announced in class. Exams and quizzes cannot be made up unless arrangements are made prior to the scheduled time.

Occasional absences are acceptable as long as the student keeps up with assignment work. Students who miss more than two consecutive weeks of class or who miss more than 20% of scheduled classes during the semester without making prior arrangements will receive a failing grade. Students who miss any scheduled exam (including midterm exams and the final exam/presentation) or fail to complete a final project without making prior arrangements will receive a failing grade.

This course can only be completed by attending classes and completing all assigned work to a satisfactory level. There is no procedure for testing out of the class.

Distractions

Electronics—including laptops—in class have been demonstrated to have a negative impact on student learning (see Shriram Krishnamurthi’s writeup for background This class has a NO DISTRACTIONS policy, with a few exceptions:

  1. When I ask you to use your laptop (or phone) for a specific activity in class. In this case you are permitted to use it for the duration of the activity, but not during the rest of the class.
  2. If you need a laptop to accommodate a disability. If this is the case, please talk to me in advance and please visit the Disability Resource Center to document your need. To help other students in the class, please sit near one of the edges so your laptop does not distract other students more than necessary.

This policy extends to phones, tablets, and other electronic devices. I encourage you to pay full attention to class and take notes on paper.

Time Commitment

Courses should require about 45 hours of work per credit hour of class. This class will require about 135 hours of work on the part of the student to achieve a passing grade, which is approximately 9 hours per week. If you do not have the time to spend on this course, you should probably rethink your schedule.

Late Policy

Each assignment will have a deadline posted in Canvas. To receive full credit you must submit your work on time.

In addition, you may submit any regular homework up to two weeks late with a penalty of 1% per day. After two weeks no late work will be accepted.

In-class activities, including quizzes, must be completed in class and cannot be made up.

Collaboration

Limited collaboration with other students in the course is permitted. Students may seek help learning concepts and developing programming skills from whatever sources they have available, and are encouraged to do so. Collaboration on assignments, however, must be confined to course instructors, lab assistants, and other students in the course. Students are free to discuss strategies for solving programming assignments with each other, but this must not extend to the level of programming code. Each student must code his/her own solution to each assignment. See the section on cheating.

Cheating

Cheating will not be tolerated, and will result in a failing grade for the students involved as well as possible disciplinary action from the college. Cheating includes, but is not limited to, turning in homework assignments that are not the student’s own work. It is okay to seek help from others and from reference materials, but only if you learn the material. As a general rule, if you cannot delete your assignment, start over, and re-create it successfully without further help, then your homework is not considered your own work.

You are encouraged to work in groups while studying for tests, discussing class lectures, discussing algorithms for homework solutions, and helping each other identify errors in your homework solutions. If you are unsure if collaboration is appropriate, contact the instructor. Also, note exactly what you did. If your actions are determined to be inappropriate, the response will be much more favorable if you are honest and complete in your disclosure.

Where collaboration is permitted, each student must still create and type in his/her own solution. Any kind of copying and pasting is not okay. If you need help understanding concepts, get it from the instructor or fellow classmates, but never copy another’s code or written work, either electronically or visually. The line between collaborating and cheating is generally one of language: talking about solutions in English or other natural languages is usually okay, while discussions that take place in programming languages are usually not okay. It is a good idea to wait at least 30 minutes after any discussion to start your independent write-up. This will help you commit what you have learned to long-term memory as well as help to avoid crossing the line to cheating.

College Policies

Spring 2024 Important Dates

Spring 2024 Important Links

Disability Statement

Utah Tech strives to make learning materials and experiences accessible for all students so If you are a student with a medical, psychological, or learning disability or anticipate physical or academic barriers based on disability, you are welcome to let me know so we can discuss options. Students with documented disabilities are required to contact the Disability Resource Center located in the North Plaza Building, Next to the Testing Center (435-652-7516) to explore eligibility process and reasonable accommodations related to disability.

Title IX Statement

Utah Tech seeks to provide an environment that is free of bias, discrimination, and harassment. If you have been the victim of sexual harassment/misconduct/assault we encourage you to report this to the college’s Title IX Director, Hazel Sainsbury, (435) 652-7747, hazel.sainsbury@utahtech.edu. If you report to a faculty member, she or he must notify the Title IX Director about the basic facts of the incident.

Email Disclaimer

You are required to frequently check your university email account. Important class and university information will be sent to your account, including bills, financial aid/scholarship notices, notices of cancelled classes, reminders of important dates and deadlines, and other information critical to your success at Utah Tech and in your courses. To access your account, visit mail.utahtech.edu. Your username is your Digital ID (e.g. D00111111) If you have forgotten your PIN, visit my.utahtech.edu and click the Forgot Pin button.

Last Updated 01/07/2024