3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 1/11 Course Syllabus Jump to Today NOTE: It is advised that you read the syllabus atleast once a week to make sure everything's up to the latest news. Ordinarily, further developments will be announced in both Canvas and Piazza platforms. However, if a cleri cal error is found later into the course in this document, then we would n eed to update it further! CSE12 Spring 21 Google Drive Link : click here (https://drive.google.com/drive/folders/1fEnK_BActxLNS3owE-aWn0IjeExm1Zn5? usp=sharing) Topics to be covered introduction, layers of abstraction transistors inverter / not or, nor, and, nand, xor sum of products, product of sums, decoder, mux, full adder, logical completeness boolean algebra, identities, demorgans binary representation binary conversion clock memory elements: latches, flip flops, registers character representation data representation, unsigned, signed, 2's complement, sign extension, overflow binary integer addition shifts bitwise (ignore the bits about C) floating point representation von Neumann address space, addressability MIPS Registers instruction formats MIPS instructions MIPS addressing modes subroutines stack 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 2/11 Course Staff: Instructor: Dr. Sagnik Nath ( sanath@ucsc.edu (mailto:sanath@ucsc.edu) ) TAs: Course Textbook We will be using a custom online interactive textbook through zyBooks. You must use your UCSC email to register. Cost: $39.95 You will be able to download a PDF copy of this custom textbook. In order to access the book: 1. Sign in or create an account at learn.zybooks.com 2. Enter zyBook code UCSCCSE12NathSpring2021 3.Subscribe NOTE: All the homework and reading list will be based on the Zybook textbook above . Although it is not mandatory for you to purchase this textbook (homework will not be part of the final course grade) , it is highly encouraged that you do so since this book will give you the practice you need to successfully understand the course concepts! The Zybooks option is especially favored because it is very concise and only focuses on the relevant information you need for this introductory course as opposed to general textbooks which are not only very expensive (~$100 - $400) but are filled with many extra bits of text which will be arduous to sift through in order to get at the fundamental course content! 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 3/11 This FREE supplemental textbook below is also required: Charles W. Kann, Introduction to MIPS Assembly Language Programming, Gettysburg College Open Educational Resources, 2015. http://cupola.gettysburg.edu/oer/2/ (http://cupola.gettysburg.edu/oer/2/) (available online for free) Final Grade Weightage Participation(Quiz): 10% Midterm: 20% Final: 20% Lab0: 5% Lab1: 10% Lab2: 10% Lab3: 15% Lab4: 15% Survey:5% Passing Requirements A typical grading scale will be used in assigning grades. I may adjust these scales down as a “curve”, but (for very obvious reasons) I will not reveal my exact rounding off scheme until after all grades have been submitted at the end of this quarter . As a reminder, a C or above is required for this class to satisfy any degree requirements. PASSING : [98, 100+) A+ [92, 98) A [90, 92) A- [88, 90) B+ [82, 88) B [80, 82) B- [78, 80) C+ [72, 78) C FAILING : 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 4/11 [70, 72) C- [68, 70) D+ [62, 68) D [60, 62) D- ( 0, 60) F Exam dates: Midterm: May 5th(tentative) Final exam: Thursday, June 10 8:00–11:00 a.m. (as per registrar's office) IN CASE OF FINAL EXAM TIME CONFLICT WITH ANOTHER COURSE: You must IMMEDIATELY contact me well before the Final Exam date! If you fail to do so and end up NOT taking your final CSE12 exam, I will NOT entertain any requests for consideration. You WILL end up getting a ZERO in your final exam in this case! Attendance (and Office Hours info) The class and lab lectures can be considered asynchronous. That is, the lectures will be recorded and will be available for asynchronous viewing in the course Google Drive. You do not need to be physically present during the live lecture. However, this makes you SOLELY responsible for any IMPORTANT piece of information that was imparted in class lecture which you missed if either you failed to show up during lecture or did not look up the recording afterwards! Regarding labs , there is no sectional lab division like we would have had under pre COVID on campus circumstances. Basically, in the CSE12 Google Drive, you will find a Spreadsheet (https://drive.google.com/file/d/1DXDL_CihYLMD-OLbobebjlOHwYZuSt4x/view?usp=sharing) showing the availability of different tutors and TAs throughout the week (If you cant see it yet, it's because we are still making the spreadsheet). You may approach either the TAs or the tutors according to your own availability and consulting the google spreadsheet. Thus, you will have many office hours throughout the week. The Zoom links to attend these office hours may be found either in the Zoom section of Canvas or directly linked to the names on the spreadsheet itself. Regrades You will have O ne Week only after grades are posted on Canvas to contest any homework, quiz, or lab grade. 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 5/11 Regrading of lab assignments will only be done if we have made a clerical error (i.e., we added points wrong) or we somehow missed your work. Note that this does not include you forgetting to submit or if you made a mistake in the submission process. In addition, we will not regrade because you think you deserve more points. When requesting a regrade, your entire assignment will be regraded. This means that if you initially received more points than you should have, it’s possible that your score could be reduced in the regrade. Only regrades requests that are respectfully worded will be considered. Clerical errors are part of life. T here is never any reason to be rude or snarky. Regrade requests are submitted via Google forms(will be made available for each and every lab assignment), to be posted on Piazza/Canvas. Note You will receive the same grade for CSE 12 and CSE 12L. Assume that CSE 12 and 12L are one 7-unit course. You must enroll in both the lab and lecture to get credit for this course. If you are enrolled in the lab without the lecture, or vice versa, you will receive an F in the course you are enrolled in. Assignment Submission Labs Lab documentation will be provided in the Google Drive folder. Lab assignments are submitted by uploading files to your Git repository. You must register for a UCSC Git (https://git.ucsc.edu/users/sign_in) account in order to have a repository created for you. It is your responsibility to learn how to use Git. There are several Git tutorials available online that go over the basics. For your benefit, Lab0 will essentially be a walkthrough through the basics of a Git commit. Your ONLY task to get FULL POINTS on Lab0 is to just copy the instructions we will provide in the Lab0 word file and demo video! It is THAT EASY to score 100% on Lab0! Please make sure to thoroughly read your lab documentation for things such as the due date! Also, not following all the instructions to the letter can result in points being taken! For example, in the previous quarter, we had instances where students named their file as "rEaDMe12.txt" instead of "README.txt" and they got points deducted for this! Please understand that this is a huge class with over 450 students and if we use automated grading, it becomes very difficult to account for these types of inconsistencies and so we strongly enforce the rules of correctly following lab instructions! 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 6/11 You will get back your Lab reports graded in the form of automated emails. These emails will also inform you how many Grace Hours (see below) you have left after each Lab submission. Grace Period Students will have 72 hours total (over all of the labs) of “grace period” that can be used on lab assignments to allow for unexpected life events that interfere with turning in assignments by the deadline. The grace period hours are consumed in 1 hour increments that is kept track on Canvas. We do NOT need to know why you are using your grace period. If there is some extenuating circumstance that is not covered by the grace period , we need to be informed of this ASAP ( NOT at the end of the quarter!). We will make your remaining grace period information available inside each automated lab result report you receive from us. Sometimes, a student will use up their grace period due to procrastination, and then need the grace period later in the quarter for a legitimate reason. No additional late hours are allocated. If you consume more than 72 late hours, the labs which used those extra hours beyond 72 hours WILL NOT BE GRADED AT ALL (you will receive a 0 in them). Example Assume there are two students with the following late hour usage: Student 1 LAB LATE HOURS USED 0 0 1 0 2 24 3 6 4 27 Student 2 LAB LATE HOURS USED 0 0 1 33 2 50 3 0 4 56 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 7/11 As you can see, Student 1 used up less than 72 late hours total, so this student is going to have no problems :) ! However, Student 2 was irresponsible and used excess of 72 hours starting from Lab 2! Thus, this student will get a ZERO in labs 2 and 4 since the student had crossed the late hours upper bound of 72 hours total. Important information for Waitlisted students As of now, if enrolled students drop the course, then waitlisted students in the upper ranks should automatically be enrolled to take their place. These students would not need an access code. However, around week 2 of instruction (4/14/2021), I will only be given 10 access codes . Thus, only the top 10 students in the waitlist at that point would be given these codes. As you can see, I cannot answer for sure at this point how much likely a waitlisted student is going to be enrolled or not. Disability Accommodations UC Santa Cruz is committed to creating an academic environment that supports its diverse student body. If you are a student with a disability who requires accommodations to achieve equal access in this course, please: 1. Rename the soft copy of your DRC Accommodation Authorization Letter with your CruzID (NOT YOUR STUDENT NUMBER, all lowercase, e.g. rrashkin.pdf) 2. Email me and Majid (mamoghad@ucsc.edu) , your TA, the letter (please don't provide a hard copy) Accommodations for midterm, final exam and quizzes based on DRC can only be guaranteed for students who submit their Accommodation Authorization Letter within the first two weeks of class. We will not follow DRC based time extensions for Lab submissions! If you are a DRC student and feel you may need more than the 72 hours grace period provided, you have to IMMEDIATELY contact Majid and CC me in an email so that we can assess the situation. Note that this does not guarantee in itself if we can fully accommodate your late lab submission beyond the total of 72 hours. Academic Integrity We have a zero tolerance policy for academic dishonesty. Academic dishonesty is submitting work that does not represent your own understanding of the material. It also means sharing code with your classmates unless explicitly told that it is permitted. If a student is caught cheating, they will receive an F for the quarter. In addition, an academic misconduct form will be filed to document the incident. The consequence can range from a warning to expulsion from the university. For more information about the process visit https://ue.ucsc.edu/academic-misconduct.html (https://ue.ucsc.edu/academic-misconduct.html) 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 8/11 Course Summary: Date Details Due Mon Mar 29, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193257&include_contexts=course_42698) 1:20pm to 2:20pm Wed Mar 31, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193258&include_contexts=course_42698) 1:20pm to 2:20pm Fri Apr 2, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193259&include_contexts=course_42698) 1:20pm to 2:20pm Mon Apr 5, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193260&include_contexts=course_42698) 1:20pm to 2:20pm Wed Apr 7, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193261&include_contexts=course_42698) 1:20pm to 2:20pm This class offers many opportunities to work with your classmates (i.e. homework and quizzes); however, labs are individual assignments and must be completed independently. You are encouraged to form study groups to review concepts presented in class and strategies for solving problems at a high level. However, under no circumstances are you permitted to share your code with your classmates. On each assignment, in your README.txt, you must document any external resources that you used (other than course materials) and anyone that you discussed the assignment with. If you are flagged for cheating, you will receive a zero on the assignment. If you do not explicitly document your collaborators, you will also be written up for academic misconduct, and will receive an F in the course. We have provided some scenarios of instances that may or may not count as academic cheating in the document Academic Cheating.pdf (https://drive.google.com/file/d/1W-02v- UoipjNx1t4xlruk3xIx7ay622b/view?usp=sharing) available in the google drive. You are encouraged to go through them to see what does/does not constitute cheating! 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 9/11 Date Details Due Fri Apr 9, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193262&include_contexts=course_42698) 1:20pm to 2:20pm Mon Apr 12, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193263&include_contexts=course_42698) 1:20pm to 2:20pm Wed Apr 14, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193264&include_contexts=course_42698) 1:20pm to 2:20pm Fri Apr 16, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193265&include_contexts=course_42698) 1:20pm to 2:20pm Mon Apr 19, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193266&include_contexts=course_42698) 1:20pm to 2:20pm Wed Apr 21, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193267&include_contexts=course_42698) 1:20pm to 2:20pm Fri Apr 23, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193268&include_contexts=course_42698) 1:20pm to 2:20pm Mon Apr 26, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193269&include_contexts=course_42698) 1:20pm to 2:20pm Wed Apr 28, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193270&include_contexts=course_42698) 1:20pm to 2:20pm Fri Apr 30, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193271&include_contexts=course_42698) 1:20pm to 2:20pm Mon May 3, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193272&include_contexts=course_42698) 1:20pm to 2:20pm 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 10/11 Date Details Due Wed May 5, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193273&include_contexts=course_42698) 1:20pm to 2:20pm Fri May 7, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193274&include_contexts=course_42698) 1:20pm to 2:20pm Mon May 10, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193275&include_contexts=course_42698) 1:20pm to 2:20pm Wed May 12, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193276&include_contexts=course_42698) 1:20pm to 2:20pm Fri May 14, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193277&include_contexts=course_42698) 1:20pm to 2:20pm Mon May 17, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193278&include_contexts=course_42698) 1:20pm to 2:20pm Wed May 19, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193279&include_contexts=course_42698) 1:20pm to 2:20pm Fri May 21, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193280&include_contexts=course_42698) 1:20pm to 2:20pm Mon May 24, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193281&include_contexts=course_42698) 1:20pm to 2:20pm Wed May 26, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193282&include_contexts=course_42698) 1:20pm to 2:20pm Fri May 28, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193283&include_contexts=course_42698) 1:20pm to 2:20pm 3/30/2021 Syllabus for Computer Systems and Assembly Language https://canvas.ucsc.edu/courses/42698/assignments/syllabus 11/11 Date Details Due Mon May 31, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193284&include_contexts=course_42698) 1:20pm to 2:20pm Wed Jun 2, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193285&include_contexts=course_42698) 1:20pm to 2:20pm Fri Jun 4, 2021 CSE12 lectures (https://canvas.ucsc.edu/calendar? event_id=193286&include_contexts=course_42698) 1:20pm to 2:20pm