CEN 502 - Topic: Computer Systems II (Fall 2013)

Lecture T, Th 4:30 PM - 5:45 PM. BYAC110
Instructor Sandeep Gupta
Office BY522
Email Sandeep.Gupta@asu.edu
Office Hours TBA


CONTENTS

ANNOUNCEMENT


COURSE DESCRIPTION

The combination of CEN501 and CEN502 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.

Topics

  • Computer system design and evaluation
  • Formal models and correctness
  • Programming representation and system level programming
  • Parallel computing and architectur
  • Networking
  • Algorithms and data structure

Course Work

  • Midterm exams
  • Reading assignments and quizzes
  • Final exam




PRE-REQUISITE

Graduate students in Computer Engineering or related areas.



TOPICS

Week Date Topic Materials
1 8/22 Prerequisite test
2 8/27 Course introduction,
Module one: Algorithm Design (1)
Stable matching
Course introduction slides
Stable matching
Reading materials:[AD, Ch 1]
Dictionary of Algorithms and Data Structures
Lecture
8/29 Algorithm design (2)
Stable matching efficient implementation and representative problems
Algorithm analysis
Greedy algorithms
Stable matching
Algorithm analysis
Greedy algorithms
Reading material: [AD, Ch1, Ch2, and Ch4]
Dictionary of Algorithms and Data Structures
3 9/03 Algorithm design(3)
Greedy algorithms(1)
Greedy algorithms
Reading material: [AD,Ch4]
Lecture
9/05 Algorithm design (4)
Graphs
Greedy algorithms(2)
Minimum spanning tree
Huffman codes
Graphs
Minimum spanning tree
Huffman codes
Reading material: [AD,Ch3, and 4]
Lecture
4 09/10 Algorithm design (5)
Dynamic Programming
Dynamic Programming
Reading material: [AD,Ch6]
Lecture
09/12 Algorithm design (6)
Dynamic programming
Divide and Conquer
Dynamic Programming
Divide and Conquer
Reading material: [AD, Ch5 and Ch6]
Lecture
5 9/17 Algorithm design (7)
Divide and Conquer
Divide and Conquer
Reading material: [AD, Ch6]
Lecture
9/19 Module one test
6 9/24 Module two: Computer networks
-pretest
-Introduction
Computer Network Introduction
Lecture
Audio
9/26 Application layer Application layer
Lecture
Audio
7 10/01 Transport Layer (1) Transport layer
Lecture
Audio
10/03 Transport layer (2)
Network layer (1)
Network layer
Lecture
Audio
8 10/08 Network layer (2) Network layer
10/10 Class project description Project phase I report requirements
9 10/15 Fall break
10/17 Project phase I report due date
Network layer(3)
Network layer
Lecture
Audio
10 10/22 Link layer Link layer
Lecture
Audio
10/24 Module two test Project phase II report requirements
11 10/29 (Module two test review)
Module 3: Advanced Computer Architecture
-pretest
10/31 -Introduction to advanced computer architecture:
Fundamentals of Quantitative Design and Analysis
Lecture
12 11/05 Instruction-Level Parallelism and Its Exploitation Lecture
Dynamic scheduling (Tumasulo Algorithm)
11/07 Data-Level Parallelism in Vector, SIMD, and GPU Architectures Lecture 1
Lecture 2
13 11/12 Project phase II report (due date Nov. 11)
Multiprocessors and Thread-Level Parallelism
Lecture
11/14 Warehouse-Scale Computers to Exploit Request-Level and Data-Level Parallelism Lecture(audio)
14 11/19 Module 3 test
11/21
15 11/26
11/28 no class
16 12/03 Course reveiw (1)
12/05 project presentation Project phase III report requirements
17 12/10 Final exam (4:50-6:40pm))


BOOKS

Course textbook
Reference books
  • [AD] Algorithm Design, Kleinberg and Tardos.
  • [CNTA] Computer Networking: A Top-Down Approach, Kurose and Ross.
  • [CAQA] Computer Architecture: A quantitative approach, John L. Hennessy and David A Patterson.
  • [CAPP] Computer Systems: A programmer's perspective, Randal E. Bryant and David R. O'Hallaron.
  • [OSC] Operating Systems Concepts, Silberschatz et al.
  • [CPTT] Compilers, Principles, Techniques, and Tools, Aho et al.
  • [FMPC] Fundamentals of Mobile and Pervasive Computing, Adelstein et al.

POLICY ON CHEATING

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