CEN 591(502) - Topic: Computer Systems II (Fall 2012)

Lecture M, W 1:30 PM - 2:45 PM. BYAC150
Instructor Sandeep Gupta
Office BY522
Email Sandeep.Gupta@asu.edu
Office Hours TBA




The combination of CEN501 and CEN502 (CEN 591 in current offering) serves to integrate the required knowledge of electrical engineering and computer science to ensure that all students have the necessary background to pursue advanced study in the areas of computer engineering. CEN501 focuses on circuit and logic design, topics that span the electrical engineering to computer engineering interface. CEN502 begins with fundamentals of computer architecture and focuses on basic principles of systems programming, operating systems, compilers, and networking topics that cover the computer science to computer engineering interface. Together this pair of courses provides a common and necessary background for all students in the program to pursue further advanced study in the six areas of the program. As such, these courses must be taken early in the student's course of graduate study.
The goal of CEN502 is to prepare incoming computer engineering graduate students for taking advance level computer systems courses in the areas such as computer architecture, compilers, operating systems, mobile and embedded systems.


  • Advanced topics in Computer Architecture: Memory hierarchy, virtual machine memory protection, instruction-level parallelism, data level parallelism and GPU architecture, thread level parallelism and multi-core processors performance
  • Operating systems basic concepts: interrupt handling, monitors, semaphores, protection mechanisms
  • System software basic concepts: compilers, linkers, loaders
  • System programming basic concepts: C, assembly language, concurrent programming
  • Networking: MAC layer, TCP/IP, network programming
  • Warehouse-scale computers and cloud computing: Architecture, Physical structure, costs, programming models, workload, and crosscutting issues

Course Work

  • Homework and Programming Assignments (one every two to three weeks, 20%)
  • Reading assignments and quizzes (every week)(10%)
  • Midterm and Final Exam (70%)


Graduate students in Computer Engineering or related areas.


Assignment Points Date Assigned Due Date Files
Programming assignmnet 1 Tue., Sept 4 Mon., Sept 17 [instruction], [handout for linux], [handout for cygwin], [slides]
Assignmnet 2 Mon., Sept 24 Sun., Oct 7 (11:59 pm) [instruction], [handout], [slides]
Assignmnet 3 Wed, Oct 24 Tue., Nov. 6 (11:59 pm) [instruction]
Assignmnet 4 Mon, Nov. 12 Mon, Nov. 26 (11:59 pm) [instruction]


Week Date Topic Materials
1 8/27 Course introduction Slides
8/29 Introduction to Computer systems Slides
2 9/5 Computer System Design Principles(1) Slides
3 9/10 Computer System Design Principles(1) See slides of the previous class
9/12 Computer System Design Principles(2) Slides
4 9/17 Computer System: : Evaluating Correctness and Performance(1) Slides
9/19 Computer System: : Evaluating Correctness and Performance(2) Slides
5 9/24 Computer System: : Evaluating Correctness and Performance(3) Slides
9/26 Computer System: : Evaluating Correctness and Performance(review) Quiz is uploaded in the Blackboard uder the "Course documents"
6 10/1 Computer System: : Evaluating Correctness and Performance(4) Slides
10/3 Web Caching Performance Evaluation Quiz
7 10/9 Web caching performance evaluation (2) Quiz is uploaded in the Blackboard under "Course documents"
10/10 First Midterm exam
8 10/15 Fall break
10/17 Discussion on Midterm exam solutions(1)
9 10/22 Discussion on Midterm exam solutions(2)
10/24 TCP - Adaptive Distributed Reliable Transport Protocol(1) Slides
10 10/29 TCP-Adaptive Distributed Reliable Transport Protocol(2) Slides
10/31 Parallel Computer Architecture (1) 1- Hill, Mark D., and Michael R. Marty. "Amdahl's law in the multicore era." Computer 41.7 (2008): 33-38.
2- Patterson, David A. "Latency lags bandwith." Communications of the ACM 47.10 (2004): 71-75.
11 11/5 Parallel Computer Architecture (2) Slides
1- Woo, Dong Hyuk, and H-HS Lee. "Extending Amdahl's law for energy-efficient computing in the many-core era." Computer 41.12 (2008): 24-31.
2-Kung, H. T. "Memory requirements for balanced computer architectures." ACM SIGARCH Computer Architecture News. Vol. 14. No. 2. IEEE Computer Society Press, 1986.
3-Williams, Samuel, Andrew Waterman, and David Patterson. "Roofline: an insightful visual performance model for multicore architectures." Communications of the ACM 52.4 (2009): 65-76.
11/7 Parallel Computer Architecture (3)
12 11/12 No class
11/14 Parallel Computer Architecture(4) Slides
14 12/3 Green computing Slides
Final Exam Format
12/5 Final Project Presentation(1) Slides
15 12/10 Final Project Presentation(2) Slides


Course textbook
Reference books
  • Computer Networking: A Top-Down Approach, Kurose and Ross.
  • Computer Architecture: A quantitative approach, John L. Hennessy and David A Patterson.
  • Operating Systems Concepts, Silberschatz et al.
  • Compilers, Principles, Techniques, and Tools, Aho et al.
  • Fundamentals of Mobile and Pervasive Computing, Adelstein et al.


Any incidence of cheating in this class will be severely dealt with. This applies to homework assignments, programming assignments, quizzes and tests. The minimum penalty for cheating will be that the student will not obtain any credit for that particular assignment. (This means that if in a test and/or assignment a student is found have cheated, he/she will obtain zero in that test and/or assignment.) For the homework and the programming assignments students may discuss the problems with others, but one is expected to turn in the results of one's own effort (not the results of a friend's efforts). One tends to get very suspicious if two identically wrong results show up in the homework assignment and/or tests. The names of the offenders will be maintained in the departmental files. The repeat offenders may be debarred from the University.

Home | Projects | People | Publications | Courses | Resources | Contact