Spring 2022 Syllabus

  1. Catalog Description
  2. Topics and Learning Objectives
  3. Prerequisites
  4. Textbook
  5. Instruction Modes
  6. Assignment Categories
  7. Student Expectations
  8. Grading
  9. Tips to Succeed
  10. Code of Conduct
  11. List of Changes

Catalog Description

3 Credit Hours

Gate level logic, binary number representation and arithmetic, data path and memory hierarchy with focus on code impact, parallel computing, instruction set architecture.

(RE) Prerequisite(s): COSC 102 with a grade of C or better.

Items or topics not covered in this syllabus are per UT policy or instructor’s discretion.

Topics and Learning Objectives

At the end of this course, students should be able to understand and/or perform the following.

Computer Organization

  • Understand what components make up a computer.
  • Understand how computer components fit together to perform tasks.
  • Understand the physical and academic limitations to computer organization.

Binary Numbers and Arithmetic

  • Be able to add, subtract, multiply, and divide binary numbers.
  • Be able to convert among binary, decimal, and hexadecimal.

Digital Logic

  • Be able to identify basic logic components, such as AND, OR, and NOT.
  • Understand how digital logic is implemented using transistors.
  • Be able to combine logic to perform a task.
  • Understand how clocking sequences logic.
  • Be able to build combinational logic.
  • Be able to build sequential logic.
  • Differentiate between level and edge triggered circuits.

Processing Elements

  • Understand what the components of a central processing unit do.
  • Identify certain technologies that improve general purpose processing.
  • Understand how instructions are decoded to perform a task in the CPU.
  • Understand how branching instructions operate.
  • Be able to differentiate different addressing modes.
  • Understand how the arithmetic and logic unit (ALU) performs integer arithmetic.
  • Understand how CPU registers are used to read and write data in the CPU.

Computer Components

  • Understand how the CPU can communicate with hardware through memory-mapped IO (MMIO) or port IO (PIO).
  • Understand how data transfers can be made without CPU involvement through direct-memory access (DMA).
  • Understand how dynamic RAM (DRAM) stores a single bit.
  • Understand how a memory address translates into a row and column in a DRAM grid.
  • Differentiate between serial and parallel I/O.
  • Understand how devices can be connected through a bus, such as PCIe, SPI, I2C, or USB.
  • Understand modern computer specifications and what they mean.

Processor and Memory Architecture

  • Differentiate between virtual memory and physical memory.
  • Understand how the memory management unit (MMU) translates virtual memory address (VMA).
  • Understand how memory can be protected using an MMU.
  • Understand a page fault and when this condition arises.
  • Understand how the translation-lookaside buffer speeds up MMU translations.

RISC-V Instruction Set Architecture

  • Be able to write an assembly program using RISC-V instructions.
  • Understand how the RISC-V instruction set architecture (ISA) is built.
  • Be able to encode and decode RISC-V instructions.
  • Understand the components of an assembly program, including labels, directives, and instructions.

Performance Enhancing Techniques

  • Understand the pipelining concept.
  • Be able to identify data hazards and branch hazards.
  • Understand multi-level cache systems.
  • Be able to differentiate direct-mapped, set-associative, and fully-associative cache.
  • Be able to differentiate write-back and write-through cache write policies.
  • Understand how basic branch prediction (speculation) works.
  • Understand parallel processing, multiprocessing, and multi-core processing.


Students are assumed to have satisfactory knowledge of the following topics prior to taking this course.

  1. Program in C / C++ / Java
    1. Students will be graded on writing good comments and formatting code.
    2. Students will be graded on some aspects of good coding, such as not repeating code.
    3. Students will be graded on writing well-structured code, such as using functions, constants, and not using global variables.
    4. Read and write binary files
    5. Allocate memory dynamically
    6. Understand data types and sizes
    7. Be able to use bitwise operators (AND, OR, NOT, left shift, right shift)
  2. Be able to use the Canvas LMS
  3. Be able to use SSH and SCP to work on assignments remotely (on Hydra or Tesla machines)


Modern Computer Architecture and Organization: Learn x86, ARM, and RISC-V architectures and the design of smartphones, PCs, and cloud servers 1st Edition by Jim Ledin. (REQUIRED).


Homework and exam questions will come from this textbook. Students may have either the physical or electronic version or both.

Instruction Modes

  • Textbook – the textbook is the primary source material, and is the most in-depth material for the students.
  • Lecture Pages – these online web pages are meant to boil down the textbook into more manageable sections.
  • In-person Lectures – the purpose of the in-person lectures is to take your surface-level understanding and improve upon it. In-person lectures will explain a topic in much more depth than the lecture pages and lecture slides. The lecture slides will be used during lectures as a bookmark so students understand the general topic that is being discussed. Students should take notes on the side of the lecture slides with the understanding of the material in his or her own words.

Assignment Categories

Students will be evaluated on the following assignment categories. The weight of each category will be listed on Canvas. Information about assignments, including due dates, will be listed on Canvas.

  • Practice – students will have the ability to practice several concepts in class using Canvas-based “quiz” system.
  • Exams – timed examinations to ensure students are meeting the learning objectives.
  • Project – students will have a guided project to meet coding and learning requirements.

Student Expectations

  1. Students must come to class prepared by reviewing the lecture slides, lecture notes, and/or lecture videos.
  2. Students must use the discussion system (e.g., Teams, Piazza, and so forth) to ask questions. Do not email the professor or TAs directly. Doing so could slow responses. We use a discussion system so that everyone that can help you can see your messages and the responses. This ensures you get the most accurate and timely information.
    • The discussion system being used and associated links will be on Canvas.
  3. Students must attend all classes in-person and submit all assignments.
    • Students who cannot attend class are still responsible for the material they missed.
      • Students may request a recorded version of the class. Not all classes can be recorded, so it is the responsibility of the student to coordinate with the instructor.
    • Students who suspect they have been in close contact or have COVID-19 must not attend class. Students must follow the guidance listed here: https://utk.edu/coronavirus.
    • If a student misses an exam, it will be considered unexcused until the student submits and absence request with the Dean of Students, and it is approved. Unexcused exams will not be eligible to be taken at a later time and will be graded 0.
    • Clicker questions will be asked throughout the semester. Students who are forced to miss class for ANY reason, including quarantine, broken car, hospitalization, and so forth will receive a 0 for the clicker questions they miss.
      • All students will receive drops to their lowest clicker questions to accommodate anyone who needs to miss class for any reason, including COVID. These drops are no-questions-asked and will be granted to all students even if no clickers were missed. Students must check Canvas > Assignments for the exact number of drops and for any “exceptions” to this policy.
  4. Students who require a disability accommodation for class or for exams must be approved by the Office of Student Disability Services (SDS): https://sds.utk.edu. Without an accommodation, students will not be provided with additional services or additional time on exams.
    • Every exam must be coordinated with SDS. All exams with accommodations must be taken at the SDS testing center due to time limitations in the classroom.
  5. Students will need a Mac or Windows PC capable of loading the appropriate software. Students may (but are not required to) purchase laptop computers at the UT Volshop for a discount price at: https://www.utvolshop.com/shop-voltech/pcs?page=1.
  6. Students are expected to spend at least double the number of credit hours outside of class studying, doing homework, or other work for this course every week. For more information, please see https://catalog.utk.edu (Academic Policies and Procedures) for more information.


  1. Some assignments may be submitted early for additional points. Students must check the assignment for more information. Assignments that do not include a note for additional points are not eligible.
  2. Some late assignments are accepted with a 15% per day penalty. Students must check Canvas for due dates as well as closing dates.
  3. Students must coordinate before missing an exam. Students who are absent must submit an absence request through the Dean of Students. If the absence request is approved, the student will be able to make-up the exam, or the exam may be excused depending on circumstances.
  4. Students who score less than 70% on any assignment category (average of all assignments under the category), such as exams, projects, or homework, will be assigned the next lower letter grade for each failed category. For example, a student who earns a C, but scores a 69% on the exam category will be assigned a C-.
    • Below 70% is considered unsatisfactory performance.
    • Scoring assignment categories as well as individual assignments ensures students are diligent in every learning methodology and are not focusing just on one method, such as exams.
  5. Final grades are not rounded and are not curved. Individual assignments, such as an exam, may be curved to support a more normalized distribution. Such curves will only improve scores, and a “natural” curve will not be used.

Grading Appeals

  • Students may appeal an assignment grade provided:
    • The appeal is made within 7 days of the grade being revealed.
    • The student uses the grade appeal form on Canvas.
    • Students must document their grievances and why the grade should be changed.
      • Appeals can only be made when an error has been made in graded.
      • Appeals can NOT be used for relief or an exception to policy.
    • Appeals with no or invalid justification will be denied.
  • An appeal will force a regrade of your work. Your old score will be deleted and NOT be considered when your work is regraded.
    • It is possible to get a lower score after a regrade.

Letter Grades

LetterScore (>=)LetterScore (>=)
Letter Grade Schema

Tips To Succeed

  1. Try different forms of instruction. If you can’t learn from the textbook, try the lecture notes, or lecture. There are several forms that present the material. It may seem repetitive to you, but it is to offer you different avenues to learning the material.
  2. Review and update your lecture notes. Your notes should be an evolving process. You need to write them over in your own words after you understand them. Just like learning anything else, repetition is important to the learning process!
  3. Get help early. The instructors and TAs will hold regular office hours. The time goes by much easier when we have students to talk to. Even if you don’t have specific questions, come over to office hours and introduce yourself. You will see where we’re coming from and we can see where you’re coming from.
  4. Start early. For most (I’d dare say all) cases, if you’re late submitting an assignment, it will either suffer a penalty or not be accepted at all. This is the item where most students who struggle can get ahead. You reduce access to the TAs and instructors when you wait until the last minute to start your assignments.
  5. Do NOT cheat. No matter how many office hour sessions, discussion boards, and so forth that we make, we still get students who think they need to go to stackoverflow or Chegg and download “their” solution. Nothing will kill your grade faster than cheating. We have sophisticated tools that help us find and prosecute cheating. Cheating will result in your permanent student record being flagged!
  6. Try outside help. The Student Success Center has tutoring and supplemental instruction. Their schedule changes every semester (and even sometimes during a semester). Here at EECS, the Systers group might be able to offer you help.
  7. Know what is required. I’ve seen several students earn a terrible score due to either not reading the assignment or not asking for clarification if a question arises. This essentially means the student is doing a different assignment. You will not be graded on what assignment you do, but instead, the assignment that is given to you.
    • In many cases, this course provides a narrative, hints/tips, and a rubric. Students must read and understand all different forms. If anything seemingly contradicts, a student should ask for clarification.

Code of Conduct

Cheating and Plagiarism

Students who are accused of cheating or plagiarism on any single assignment worth 5 points or more towards their final grade will receive an F for the course. Otherwise, students will receive a 0 for the assignment and a 10 point drop to his or her final grade.

The instructor and/or TAs are not investigation units. If there is contention about a cheating case, it will be investigated by the Office of Student Conduct and Community Standards (SCCS): https://studentconduct.utk.edu. At that point, they will determine the outcome and sentence. Any communications must be in writing for both informal and formal portions of the standards review process. Students may be submitted to SCCS before receiving an informal response if the evidence is overwhelming or if the semester is close to ending, such as with a final exam.

Examples of Cheating

  • Plagiarism and cheating may result from a student copying an assignment or sections of an assignment from another student, from an online source, or from the student’s own previous assignment (from a previous attempt at the course). Students may not use a tool to produce their lab submission, including but not limited to external sources, a disassembler, or a compiler.
  • SECTION 10.4 FROM HILLTOPICS. Plagiarism is using the intellectual property or product of someone else without giving proper credit. The undocumented use of someone else’s words or ideas in any medium of communication (unless such information is recognized as common knowledge) is a serious offense, subject to disciplinary action that may include failure in a course and/or dismissal from the University. Specific examples of plagiarism include, but are not limited to:
    1. Using without proper documentation (quotation marks and citation) written or spoken words, phrases, or sentences from any source.
    2. Summarizing without proper documentation (usually a citation) ideas from another source (unless such information is recognized as common knowledge).
    3. Borrowing facts, statistics, graphs, pictorial representations, or phrases without acknowledging the source (unless such information is recognized as common knowledge).
    4. Collaborating on a graded assignment without the instructor’s approval.
    5. Collaborating on a graded assignment without citing all collaborators.
    6. Submitting work, either in whole or partially created by a professional service or used without attribution (e.g., paper, speech, bibliography, or photograph).
  • SECTION 10.5 FROM HILLTOPICS. Specific examples of other types of academic dishonesty include, but are not limited to:
    1. Providing or receiving unauthorized information during an examination or academic assignment, or the possession and/or use of unauthorized materials during an examination or academic assignment.
    2. Providing or receiving unauthorized assistance in connection with laboratory work, field work, scholarship, or another academic assignment.
    3. Falsifying, fabricating, or misrepresenting data, laboratory results, research results, citations, or other information in connection with an academic assignment.
    4. Serving as, or enlisting the assistance of, a substitute for a student in the taking of an examination or the performance of an academic assignment.
    5. Altering grades, answers, or marks in an effort to change the earned grade or credit.
    6. Submitting without authorization the same assignment for credit in more than one course, including if that student is repeating the same course.
    7. Forging the signature of another or allowing forgery by another on any class or University-related document such as a class roll or drop/add sheet.
    8. Gaining an objectively unfair academic advantage by failing to observe the expressed procedures or instructions relating to an exam or academic assignment.
    9. Engaging in an activity that unfairly places another student at a disadvantage, such as taking, hiding, or altering resource material, or manipulating a grading system

Tips to Avoid Cheating

  • Students are encouraged to work together provided the students cannot see each other’s code.
  • Students should work where their laptop screens are back-to-back. You can talk algorithms and logic, but not code.
  • Do not allow students to even peek at your code. If a student gets their hands on your code, both will be in violation of the plagiarism policy regardless of who actually wrote the code.
  • Google is a great tool; however, it is the primary way students cheat. They will find code on the internet and copy it as their own. Try using the lectures, notes, and videos given in the class.
  • ALWAYS cite who you worked with and where you got help, including any TA or instructor.

List of Changes

This syllabus is subject to change before, during, or after the semester. Any changes will be listed below sorted by descending date.

  • (5-Jan-2022) Initial release