5/22/2020 Course Overview: I&C SCI 51 LEC A: INTRO COMPUTER ORG (35580)
Course Overview
Course Overview
This course is intended to give you a basic understanding of how computers execute high-level programs such as C/C++, Java, etc. Understanding computers means understanding the hardware/software process and how a low-level language (machine code) is executed by functional units of a computer which
are hardware building blocks.
Instructor and TA teams
Instructor: Prof. Eli Bozorgzadeh (eli@ics.uci.edu)
office hours: Mon-Fri after the lecture for 45 min on Zoom (same meeting ID number as lecture
meeting ID of the day)
Teaching assistants:
Hsin-Yu Ting: hting1@uci.edu
Tootiya Giyahchi: tgiyahch@uci.edu Mihnae Chirila: mchirila@uci.edu Shreyas Devaraju: devaraju@uci.edu AmirHossein Aqajari: saqajari@uci.edu
TA’s office hours are during lab sessions. For details, read the next section.
Remote Learning
The course is fully online given the circumstances. We will have live lectures and follow the same schedule for lectures, discussion sessions, and lab sessions (via online Zoom meetings) as scheduled by UCI campus to deliver the course materials virtually. Make sure you use your uci.edu account to login to Zoom when participating in ICS 51 Zoom meetings. Some parts of lectures are recorded and the videos are uploaded on canvas.
We will be using Canvas heavily for the course. You can access all the materials for the course including the lecture notes, programming assignments, sample problems and short videos on various topics.
We will be using Gradescope/Canvas for exams and assignments.
We will be using Piazza (the link is given at the end of this page) and Canvas announcements and email to
communicate with you all.
The course includes lectures, discussion sessions, and lab sessions. Lectures cover course materials except for details of Assembly programming. Assembly programming will be covered during discussion sessions. This course includes assembly programming assignments that are discussed during discussion sessions and lab sessions. Lab sessions are dedicated to discuss details about programming assignments, homework problems, and exam preparation.
Attending lectures, lab sessions or discussion sessions are highly recommended especially in remote learning schemes, but not mandatory and we don’t take attendance.
Please make sure you can access all these tools. Log in to canvas to access the tools beforehand.
Syllabus:
Information as bit
Binary Number representations and Arithmetics (integer, signed/unsigned, two’s complements, sign- magnitude, floating-point numbers)
https://canvas.eee.uci.edu/courses/25969/pages/course-overview?module_item_id=717189 1/5
5/22/2020 Course Overview: I&C SCI 51 LEC A: INTRO COMPUTER ORG (35580)
Boolean Algebra
Logic Gate
Combinational Circuit design (logic functions, truth table, decoder, muxes, adder, subtractor, comparator, etc.)
Sequential circuit design ( SR latches, D latches, D flip-flops, Register design)
Memory Design (Register file, SRAM, DRAM)
Datapath design of a MIPS processor for R-type, I-type, branch and jump instructions. Assembly:
Intro to MIPS
Operands: Registers, Memory, and Constants MIPS instruction formats
Programming in assembly
The required textbook for the course is :
“Digital Design and Computer Architecture” (2nd edition), by David Harris and Sarah Harris, MK publishers.
Lectures/ Lab sessions /Discussion Sessions
Lectures are scheduled on Mon-Wed-Fri from 9 am- 9:50 am (PST). We will be using Zoom meeting room to have live lectures. Check the announcement for the meeting ID. See you all soon! USE YOUR UCI.EDU EMAIL TO SIGNUP. Here is the Zoom ID: 630-022-247.
Lab sessions will be on Zoom at designated times. Please attend the lab sessions you have enrolled in. Here is the Zoom link: https://uci.zoom.us/j/717178620 (Meeting ID: 717-178-620)
Discussion sessions are held weekly on Mondays via Zoom. Discussion sessions are dedicated to assembly programming and an overview of programming assignments. The lectures do not cover assembly programming. Here is the Zoom link: https://uci.zoom.us/j/754380232 (Meeting ID: 754-380-232)
Lab Assignments
Four lab assignments will be assigned during the terms. All students must enroll in one lab session. Lectures on Assembly programming is separated from lectures on other topics in this course. The lectures on Assembly programming are mainly covered during the discussion sessions. After each Monday’s discussion session, there will be a quiz testing the materials covered in the discussion session on Assembly programming.
We highly recommend attending the discussion sessions for more detailed instructions on your programming projects and lectures on assembly. Lab sessions are dedicated to Q&A on programming assignments. TAs (and tutors) will be running those sessions to help students with their programming assignments. Please check the page on lab assignments for more details and updates.
Homework Problems
https://canvas.eee.uci.edu/courses/25969/pages/course-overview?module_item_id=717189 2/5
5/22/2020 Course Overview: I&C SCI 51 LEC A: INTRO COMPUTER ORG (35580)
There will be several homework problems posted throughout the quarter. You are expected to do your homework but no need to submit your homework. Solutions to homework will be posted later on Canvas. While lab sessions are mainly designed for help with programming assignments, TAs will dedicate parts of the sessions to discuss homework problems and answer questions regarding exams and quizzes.
Week-9 Exam and Final exam
There will be one exam in mid Week 9. The problems in this exam are not short like Quizzes but they target longer and broader questions. The exam is scheduled for Wednesday, May 27, 2020, at 9 am (PST). The duration of exam is about an hour. But you are given 2 hours to complete it in case of internet connection difficulty or having problems with uploading your answers. If you submit the exam within 30 minutes after the due time, your grade will reflect a 20% late submission deduction. After 30 minutes, your exam will NOT be graded.
The final exam is scheduled for Wednesday June 10, at 9 am. The format is similar to Week 9 exam.
If you don’t take the week-9 exam, then you have to take the final exam. Otherwise, you would lose 20% of your total grade. Likewise, the final exam is optional if you have taken the Week-9 exam. If you choose to take both the tests, the highest score will be counted towards your grade.
Quizzes
There will be several quizzes. There are two types of quizzes: 1- Lecture Quizzes: Every Friday, you will be taking a Quiz covering the lecture materials that week (15-20 min). The goal of these quizzes is to ensure you have learned the materials covered in the lecture. 2- Assembly Quizzes: Every Monday after the discussion session, you will take a short quiz on Assembly programming (10-15 min). The goal is to ensure you have learned the materials covered during discussion sessions.
Grading policy
Final grades will be based on the total points earned on quizzes, projects, and exams. Here is the breakdown.
https://canvas.eee.uci.edu/courses/25969/pages/course-overview?module_item_id=717189 3/5
5/22/2020 Course Overview: I&C SCI 51 LEC A: INTRO COMPUTER ORG (35580)
Submit your re-grading requests if you have any concerns within a week your grade is posted for full consideration.
There is no makeup exam for the final exam. The final exam is optional.
The lowest Questionnaire is dropped in the final grade.
The week-9 exam is a real-time exam on Gradescope and starts at 9 am (PDT). It is a one- hour exam. You have 2 hours to complete the test. The one-hour extra time is provided for technology-related delays that may incur. It is due at 11 am (PDT). If you submit the
exam within 30 minutes after the due time, your grade will reflect a 20% late submission deduction. After 30 minutes, your exam will NOT be graded.
Incompletes will generally not be given. According to university policy, doing poorly in a course is not a valid reason for an incomplete. If you are having problems with the course, your best bet is to talk to the instructor as soon as you are aware of them.
Announcements and Updates: Piazza, Canvas Announcements, and Email
With this remote learning, we are relying on various online tools to keep you updated with the progress and deliverables in this course. We will be using Piazza for discussion (not canvas discussion). Student
https://canvas.eee.uci.edu/courses/25969/pages/course-overview?module_item_id=717189 4/5
5/22/2020 Course Overview: I&C SCI 51 LEC A: INTRO COMPUTER ORG (35580)
participation is highly recommended. It keeps us all connected in this virtual classroom. Announcements and notifications are sent via the Canvas announcement section. Please check it regularly. We will be also sending emails to your uci.edu accounts. The system is highly catered to getting you to help fast and efficiently from classmates and us (TAs and instructors). Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza.
Find our Piazza class page at:piazza.com/uci/spring2020/ics51 (sign up using your uci.edu email accounts only and check your email for access code (spring2020) )
You are responsible for reading canvas announcements and your e-mail @uci.edu: class announcements will be sent there.
https://canvas.eee.uci.edu/courses/25969/pages/course-overview?module_item_id=717189 5/5