User Tools

Site Tools


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

  1. Basics. Fundamentals of computing hardware, digital logic circuits, and data representation
  2. Processors. Central Processing Unit (CPU); instruction sets; assembly language.
  3. Memory. Physical and virtual memory systems; memory technologies; memory organization; caching.
  4. Input/Output. Interconnection of computers and external devices; buses; device drivers.
  5. 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


Prof. George Adams, HAAS 122,

George Adams' Office Hours
Time Place
MWR 10:00am - 11:00am HAAS 122
MWF 2:20pm - 3:20pm (the time between LE1 and LE2) MATH 175
W 4:30pm - 6:00pm HAAS 122
R 4:00pm - 6:00pm HAAS 122
By appointment for other times and private meeting HAAS 122

Graduate Teaching Assistants (GTAs)

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, Ammar Husain, Siyu Jiang, Shane Li, Weizhi Li, Yaoxi Liang, Brandon Marx, Sripath Mishra, Sanat Mouli, Vihar Patel, Yash Pundlik, William Reed, Zachary Rich, Samuel Roberts, Devaunsh Sambhav, James Shao, Shreeyan Shayan, Jimmy Smagacz, Trevor Tang, Paula Toth, Xi (Amelie) Yang, Hannah Zentner, Kenny 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, Ammar Husain, Brandon Marx Wenya Zhu
Lab section 13 T 03:30 pm - 05:20 pm LWSN B160 Animesh Sinha Aditya Dhingra, Gunjan Gauri, Devaunsh Sambhav, James Shao
Lab section 05 W 11:30 pm - 01:20 pm LWSN B160 Lakshmi Prakash Yaoxi Liang, Sanat Mouli, Vihar Patel, Devaunsh Sambhav
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, 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, 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 (tba) to be announced
Final tba, may be as late as Saturday, Dec. 16 tba none


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


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 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 <code> tag), but do not post extensive pieces of code publicly.


(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 and 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 ( 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 ( ) as well as the class web page on Blackboard for information.

cs25000/fall2017/start.txt · Last modified: 2017/09/19 14:14 by gba