====== CS25000 Home Page for Fall 2017 ====== =====Computer Architecture===== Welcome to CS 25000 for Spring 2017. This course introduces you to computer architecture, the design and analysis of hardware computing platforms. This courses requires knowledge in C programming. The topics covered are: Digital logic: transistors, gates, and combinatorial circuits; clocks; registers and register banks; arithmetic-logic units; data representation: big-endian and little-endian integers; ones and twos complement arithmetic; signed and unsigned values; Von-Neumann architecture and bottleneck; instruction sets; RISC and CISC designs; instruction pipelines and stalls; rearranging code; memory and address spaces; physical and virtual memory; interleaving; page tables; memory caches; bus architecture; polling and interrupts; DMA; device programming; assembly language; optimizations; parallelism; data pipelining ===The five major units === - Basics. Fundamentals of computing hardware, digital logic circuits, and data representation - Processors. Central Processing Unit (CPU); instruction sets; assembly language. - Memory. Physical and virtual memory systems; memory technologies; memory organization; caching. - Input/Output. Interconnection of computers and external devices; buses; device drivers. - Advanced Topics. Aspects of architecture including parallelism, power management, and hierarchy. The course comprises both lecture-format classes to examine course topics and laboratory hands-on experience with digital circuits and assembly language programming. ===== Course Personnel ===== ==== Instructor ==== Prof. George Adams, HAAS 122, ^ George Adams' Office Hours ^ ^ ^ Time ^ Place ^ | W 10:00am - 11:00am | HAAS 122 | | MW 2:20pm - 3:20pm (the time between LE1 and LE2) | MATH 175 | | R 2:00pm - 6:00pm | HAAS 122 | | M 4:30pm - 5:30pm and W 4:30pm - 6:00pm | HAAS 122 | | By appointment for other times or a private meeting | HAAS 122 | ==== Graduate Teaching Assistants (GTAs) ==== * Ishan Chawla * Sana Nazir * Liliane Ntaganda * Lakshmi Prakash * Mohit Sharma * Animesh Sinha * Rashmi Soni * Vineeth Thomas Alex * Zixun Yu ==== Undergraduate Teaching Assistants (UTAs) ==== * Adhishree Abhyankar, Abhijeet Chakrabarti, Zhe Chen, Jiho Choi, Joey Dafforn, Aditya Dhingra, Yilang Fan, Gunjan Gauri, Yash Gupta, Wen Han Huang, Siyu Jiang, Nanxin Jin, Shane Li, Weizhi Li, Yaoxi Liang, Brandon Marx, Sripath Mishra, Vihar Patel, Yash Pundlik, William Reed, Zachary Rich, Samuel Roberts, Shreeyan Shayan, Jimmy Smagacz, Trevor Tang, Paula Toth, Xi (Amelie) Yang, Hannah Zentner, Kenny (Yuxin) Zheng, Wenya Zhu ===== Course Times and Locations (assigned personnel subject to change )===== ^ Section ^ Time ^ Location ^ Instructor | | | | **13209 Lecture LE1** | MWF 1:30 pm - 2:20 pm | **MATH 175** | Prof. George Adams | | | | **12216 Lecture LE2** | MWF 3:30 pm - 4:20 pm | **MATH 175** | Prof. George Adams | | | ^ Section ^ Time ^ Location ^ Graduate TA ^ Scheduled Undergraduate TAs ^ Alternate UTA ^ | Lab section 04 | T 09:30 am - 11:20 am | LWSN B160 | Sana Nazir | Jiho Choi, Siyu Jiang, Samuel Roberts, Hanna Zentner | | | Lab section 14 | T 11:30 am - 01:20 pm | LWSN B160 | Ishan Chawla | Joey Dafforn, Yash Pundlik, Zachary Rich | | | Lab section 08 | T 01:30 pm - 03:20 pm | LWSN B160 | Rashmi Soni | Abhijeet Chakrabarti, Brandon Marx, Wenya Zhu | | | Lab section 13 | T 03:30 pm - 05:20 pm | LWSN B160 | Animesh Sinha | Aditya Dhingra, Gunjan Gauri, Wen Han Huang, William Reed | | | Lab section 05 | W 11:30 am - 01:20 pm | LWSN B160 | Lakshmi Prakash | Nanxin Jin, Yaoxi Liang, Vihar Patel | | | Lab section 10 | W 01:30 pm - 03:20 pm | LWSN B160 | Lakshmi Prakash | Joey Dafforn, Sripath Mishra, Wenya Zhu | Abhijeet Chakrabarti | | Lab section 06 | W 03:30 pm - 05:20 pm | LWSN B160 | Zixun Yu | Weizhi Li, William Reed, Shreeyan Shayan, Xi (Amelie) Yang | Hanah Zentner | | Lab section 09 | R 09:30 am - 11:20 am | LWSN B160 | Sana Nazir | Zhe Chen, Jiho Choi, Samuel Roberts, Weizhi Li | | | Lab section 01 | R 11:30 am - 01:20 pm | LWSN B160 | Ishan Chawla | Yash Gupta, Paula Toth, Trevor Tang, Kenny Zheng | | | Lab section 12 | R 01:30 pm - 03:20 pm | LWSN B160 | Liliane Ntaganda | Siyu Jiang, Nanxin Jin, Yash Pundlik, Kenny Zheng | Trevor Tang | | Lab section 07 | R 03:30 pm - 05:20 pm | LWSN B160 | Mohit Sharma | Aditya Dhingra, Yilang Fan, Gunjan Gauri, Nanxin Jin, Shane Li | | | Lab section 02 | F 11:30 am - 01:20 pm | LWSN B160 | Rashmi Soni | Abhijeet Chakrabarti, Yaoxi Liang, Vihar Patel | Wen Han Huang | | Lab section 11 | F 01:30 pm - 03:20 pm | LWSN B160 | Liliane Ntaganda | Abhijeet Chakrabarti, Wen Han Huang, William Reed, Trevor Tang | Yilang Fan | | Lab section 03 | F 03:30 pm - 05:20 pm | LWSN B160 | Vineeth Thomas Alex | Adhishree Abhyankar, Yilang Fan, Jimmy Smagacz, Wenya Zhu | | ^ Exams ^ Time ^ Location ^ Date of omitted lecture ^ | Midterm 1 | Thursday, Sep. 21 from 6:30pm to 7:30pm | LE1 in WALC 1055, LE2 in PHYS 112 | Friday, Sep. 22 | | Midterm 2 | Thursday, Oct. 26 from 6:30pm to 7:30pm | LE1 in WALC 1055, LE2 in PHYS 112 | Monday, Nov. 20 | | Final | Monday, Dec. 11 from 10:30am to 12:30pm | LE1 and LE2 in STEW 183 (Loeb Playhouse) | none | ===== Textbook ===== Essentials of Computer Architecture – Second Edition (2016), by Douglas Comer\\ ISBN-13: 978-1138626591\\ We will cover 90+% of its content.\\ Copies are on reserve at MATH Library front desk.\\ =====Lab Session Policy and Lab Kits===== Attendance in laboratory is mandatory. Students must attend their respective registered lab session. If you will not be able to attend a session, you should notify the TA or the professor prior to that lab session. It may be feasible to arrange participation in another session, earlier or later in the week, but see the Late Policy below.\\ If a lab assignment is not due in a given week, then lab attendance is not required that week. Lab circuits submitted for grading must, after circuit operation has been evaluated, be disassembled in the presence of the TA. The first hour of each lab session is reserved for students registered in that session. However, if you wish to ask questions of the TAs or use lab equipment, then you are welcome to attend any lab session during its second hour on a space-available basis and with permission of the graduate teaching assistant in charge. ===* Deadlines:=== Typically, you will be assigned a new lab each week that is due by the end of your lab session the following week. For example, if a lab assignment was given to you in a Tuesday lab session, it is due by the beginning of the next same Tuesday lab session. ===* Late Policy:=== All assignments are due on the date given. The lowest homework score and the lowest lab score will be dropped in computing your semester grade. ===* Regrade:=== Each of your lab grade will be available on Blackboard by the end of the week of grading. From that end of week, you will have one week to request correction of the grade. Your grade will become final after that time. =====Coursework Weighting===== Your course grade is based on in-class quizzes, homework exercises, laboratory projects, in-class exams, and a final exam. Your grade for the semester will be computed using these weights: * 10% Quizzes (requires iClicker, and quizzes are presented in lecture; lowest 3 quiz scores will be dropped) * 15% Homework (lowest homework score will be dropped) * 40% Laboratory projects (lowest lab score will be dropped) * 20% Midterm exams (10% each) * 15% Final exam =====Piazza===== We will be using Piazza to facilitate discussions for the class. See the top sidebar link for instructions on Piazza. Once you have joined the class, you can use the link on the lower sidebar link and simply log on. Sign up by visiting [[https://piazza.com/class/irz7gmefh7t1iw|Fall-2016-CS-25000 on Piazza]] The Piazza discussion forum is for discussions in support of the class and your learning. You can post public questions visible to the entire class or private questions visible only to the instructors. You may post questions including small snippets of code (using the tag), but do not post extensive pieces of code publicly. =====Policies===== (0) Your comments to help improve the course are welcome. (1) Late Homework Policy: There is no partial credit for late homework assignments. Solutions will be distributed shortly after the due time of each homework. (2) Missed In-Class Quiz Policy: The dates of graded in-class quizzes will be announced in advance. If an excused absence is arranged in advance, then a make-up quiz will be available. The lowest two quiz scores will be dropped in computing your semester grade, to allow for some absence from lecture. (3) Requests to re-score homework assignments or exams should be made within one week after the score is posted in Blackboard. (4) Academic Honesty: Course policies are as described at http://spaf.cerias.purdue.edu/cpolicy.html and [[https://www.cs.purdue.edu/academic-programs/courses/integrity.html | Departmental Academic Integrity Policy]]. These policies will be followed unless written exception is provided to you by the course instructor. * All work graded must be done individually and must be your own effort. You are allowed to interact with others to discuss and obtain help with basic concepts covered in lectures or the textbook, homework specification (**but not solution**), and program syntax issues (**but not program design**). However, unless otherwise noted, work turned in needs to reflect your own efforts and knowledge. Sharing or copying solutions is unacceptable. Do not copy code and then make changes (either from the Web or from other students) * Course instructor and staff will not make efforts to determine the source of copied submitted graded work. All instances of copied graded work will receive the same treatment under this academic honesty policy. Therefore, we recommend that you take precautions to prevent the theft of your work. * Be aware that we use a software tool called MOSS (http://theory.stanford.edu/~aiken/moss/) to check for copying among submitted assignments. Additionally, the instructor and TAs will be inspecting all submitted material to ensure honesty. * Penalties * A first instance of academic dishonesty will result in a zero for that assignment. A second instance of academic dishonesty will result in a grade of F. * In accordance with the Purdue University Department of Computer Science Academic Integrity Policy, any instance of academic dishonesty on an exam, project, or assignment will be reported to the Dean of Students Office. =====Changes for Emergencies===== In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances beyond the instructor’s control. If an emergency occurs, you can consult the Purdue web page ( http://www.purdue.edu ) as well as the class web page on Blackboard for information.