Monday, January 21, 2013

Topic & Milestones


Selected topic:
15-213: Introduction to Computer Systems (ICS)
Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.
This is a course of CMU main campus. I am still trying to figure out how to do the lab homework and get graded.

Reason for selecting the topic
The ICS course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables me to become more effective programmers, especially in dealing with issues of performance, portability and robustness.

Research materials
Book: Randal E. Bryant and David R. O’Hallaron, Computer Systems: A Programmer’s Perspective,
Second Edition (CS:APP2e), Prentice Hall, 2011

Metrics of success
Consistently follow the class schedule and do the labs(class homework) to practice.

Introduction to your blog

Milestones
Here is the schedule of the class, I’ll try to follow that:
Date
Lecture/Recitation
Lec1*  
Reading  
Labs

Jan
14
No recitations
Jan
15
Overview
scg/agr
1
Jan
17
Bits and Bytes
scg
2.1
L1 (datalab) out

Jan
21
Recitation 2
Jan
22
Integers
scg
2.2-2.3
Jan
24
Floating Point
scg
2.4

Jan
28
Recitation 3
Jan
29
Machine Prog: Basics
scg
3.1-3.5, 3.13.1-3.13.3
Jan
31
Machine Prog: Control
agr
3.6, 3.13.4
L1 due, L2 (bomblab) out

Feb
4
Recitation 4
Feb
5
Machine Prog: Procedures
agr
3.7
Feb
7
Machine Prog: Data
agr
3.8-3.9, 3.13.5

Feb
11
Recitation 5
Feb
12
Machine Prog: Advanced
agr
3.10-3.12, 3.14-3.15
L2 due, L3 (buflab) out
Feb
14
The Memory Hierarchy
scg
6.1-6.3

Feb
18
Recitation 6
Feb
19
Cache Memories
scg
6.4-6.7
L3 due, L4 (cachelab) out
Feb
21
Linking
scg
7

Feb
25
Recitation 7
Feb
26
ECF: Exceptions & Processes
scg
8.1-8.4
Feb
28
ECF: Signals & Nonlocal Jumps
scg
8.5-8.8
L4 due

Mar
4
Recitation 8 - Exam Review
Mar
5
Midterm Exam
Mar
7
System Level I/O
tbd
10
L5 (tshlab) out

Mar
11
Spring Break, No classes

Mar
18
Recitation 9
Mar
19
Virtual Memory: Concepts
tbd
9.1-9.6
Mar
21
Virtual Memory: Systems
tbd
9.7-9.8

Mar
25
Recitation 10
Mar
26
Dynamic Memory Allocation: Basic
tbd
9.9
Mar
28
Dynamic Memory Allocation: Advanced
tbd
9.10-9.13
L5 due, L6 (malloclab) out

Apr
1
Recitation 11
Apr
2
Internetworking
tbd
11.1-11.3
Apr
4
Network Programming
tbd
11.4

Apr
8
Recitation 12
Apr
9
Web Services (1up, 4up}
tbd
11.5-11.7
Apr
11
Concurrent Programming
tbd
12.1-12.3
L6 Due, L7 (proxylab) out

Apr
15
Recitation 13
Apr
16
Synchronization: Basic
tbd
12.4, 12.5.1-3
Apr
18
No class (Carnival)

Apr
22
Recitation 14
Apr
23
Synchronization: Advanced
tbd
12.5.4-5, 12.7-8
Apr
25
Thread-Level Parallelism
tbd
12.6
L7 due

Apr
29
Recitation 15
Apr
30
Intro to some Advanced Topics
May
2
Review Session

Final goal
Become a better programmer by learning the basic concepts underlying all computer systems. Understand what really happens when the programs run, so that when things go wrong (as they always do) I will have the intellectual tools to solve the problem.

No comments:

Post a Comment