Tentative
Schedule and Readings
Week
|
Date
|
Day
|
Topic
|
Assign
|
Due
|
Week 1
|
|
8/28
|
T
|
Introduction and logistics [ slides]
Computer architecture: introduction [ slides]
|
|
|
|
8/29
|
W
|
Lab: 206 place-out exam (noon-1pm)
|
|
|
|
8/30
|
R
|
Computer architecture: data
representation [ readings][ slides]
206 place-in exam (due Friday August 31, 2pm)
|
|
|
Week 2
|
|
9/4
|
T
|
|
A1
|
|
|
9/5
|
W
|
Lab: open Q&A on A1
|
|
|
|
9/6
|
R
|
Computer architecture: CPU operation
|
|
|
Week 3
|
|
9/11
|
T
|
Computer architecture: machine
language; memory hierarchy
|
|
|
|
9/12
|
W
|
Lab: Eclipse,
and javadocs [Country.zip]
|
|
|
|
9/13
|
R
|
|
|
A1
|
Week 4
|
|
9/18
|
T
|
|
|
|
|
9/19
|
W
|
Lab: Java
API; Debugging
and Programming Practices |
|
|
|
9/20
|
R
|
|
A2
|
|
Week 5
|
|
9/25
|
T
|
|
|
|
|
9/26
|
W
|
Lab: UML and
System Modeling
|
|
|
|
9/27
|
R
|
|
|
|
Week 6
|
|
10/2
|
T
|
Data structures - stack, queue [ readings]
|
A3
|
A2
|
|
10/3
|
W
|
Lab: Java
Collections
|
|
|
|
10/4
|
R
|
Data structures - hash table [slides]
|
|
|
Week 7
|
|
10/9
|
T
|
|
A4 |
A3 |
|
10/10
|
W
|
Lab: Regular
Expressions |
|
|
|
10/11
|
R
|
|
|
|
Week 8
|
|
10/16
|
T
|
Data structures - heap, graph
|
|
|
|
10/17
|
W
|
Lab: open Q&A on A4, Test 2 Review
|
|
|
|
10/18
|
R
|
Data structures - graph routing;
Test 2 Review [slides]
|
|
A4
|
Week 9
|
|
10/23
|
T
|
Test 2 |
|
|
|
10/24
|
W
|
No Lab
|
|
|
|
10/25
|
R
|
Networking [readings]:
distributed systems [slides];
inter-process
communication [slides]
|
|
|
Week 10
|
|
10/30
|
T
|
Networking: inter-process
communication; network architecture [ slides]
|
A5 |
|
|
10/31
|
W
|
Lab:
Java Networking - Client/Server
|
|
|
|
11/1
|
R
|
Networking: network architecture
|
|
|
Week 11
|
|
11/6
|
T
|
Networking: network architecture
|
|
|
|
11/7
|
W
|
Lab: open Q&A on A5
|
|
|
|
11/8
|
R
|
|
|
|
Week 12
|
|
11/13
|
T
|
Networking: standards and protocols
|
|
A5 |
|
11/14
|
W
|
Lab: TBD
|
|
|
|
11/15
|
R
|
|
A6
|
|
Week 13
|
|
11/20
|
T
|
Computer security
|
|
|
|
11/21
|
W
|
No Lab
|
|
|
|
11/22
|
R
|
Thanksgiving -- No Class
|
|
|
Week 14
|
|
11/27
|
T
|
|
|
|
|
11/28
|
W
|
Lab: open Q&A on A6
|
|
|
|
11/29
|
R
|
System performance; Test 3 Review [ slides]
|
|
A6 |
Week 15
|
|
12/4
|
T
|
Course review and evaluation
|
|
|
|
12/5
|
W
|
Lab: open Q&A
|
|
|
|
12/6
|
R
|
Test 3
|
|
|
Reading Assignments (to be completed before date of
lecture):
1. Data Representation and Storage
Read: Brookshear Chapter 0, Chapter 1.1-1.5
Optional: Brookshear Chapter 1.6-1.9
2. CPU Operation, Boolean Logic
Read: Brookshear Chapter 2.1-2.5, Appendix C
Optional: Brookshear Chapter 2.6
3. Operating System
Read: Brookshear Chapter 3.1-3.5
Read:
http://en.wikipedia.org/wiki/Operating_system
http://en.wikipedia.org/wiki/Process_(computing)
http://en.wikipedia.org/wiki/Thread_(computer_science)
Optional:
http://en.wikipedia.org/wiki/Semaphore_(programming)
http://en.wikipedia.org/wiki/Deadlock
http://en.wikipedia.org/wiki/Dining_philosophers_problem
http://en.wikipedia.org/wiki/Virtual_memory
4. Software Design and Software
Engineering
Read: Brookshear Chapter 5.1-5.5, 6.1
Review: Brookshear Chapter 6.2-6.3, 6.5
Read: Brookshear Chapter 7
Read:
http://en.wikipedia.org/wiki/Unified_Modeling_Language
Optional::
http://en.wikipedia.org/wiki/Software_engineering
http://en.wikipedia.org/wiki/Class-Responsibility-Collaboration_card
5. Analysis of Algorithms
Read:
Brookshear Chapter 5.6
http://en.wikipedia.org/wiki/Analysis_of_algorithms
http://en.wikipedia.org/wiki/Big_O_notation
6. Data Structures
Read: Brookshear Chapter 8.1-8.4
Read:
http://en.wikipedia.org/wiki/Data_structure
http://en.wikipedia.org/wiki/Abstract_data_type
http://en.wikipedia.org/wiki/Array
http://en.wikipedia.org/wiki/Linked_list
http://en.wikipedia.org/wiki/Stack_(data_structure)
http://en.wikipedia.org/wiki/Queue
(data_structure)
http://en.wikipedia.org/wiki/Hash_table
Java Collections Framework: http://java.sun.com/j2se/1.5.0/docs/guide/collections/
7. More Data Structures
Read:
http://en.wikipedia.org/wiki/Tree
(data_structure)
http://en.wikipedia.org/wiki/Binary_search_tree
http://en.wikipedia.org/wiki/Heap
(data_structure)
http://en.wikipedia.org/wiki/Graph_(data_structure)
8. Regular Expressions
Read: http://en.wikipedia.org/wiki/Regular_expression
Java tutorial on regular expressions: http://java.sun.com/docs/books/tutorial/essential/regex/
9. Networking
Read:
Brookshear Chapter 4.1-4.3
Sierra and Bates, Chapter 15, pp. 471-488 (Optional: read rest
of chapter on multi-threading)
Java tutorial on network sockets: http://java.sun.com/docs/books/tutorial/networking/sockets/
10. Internetworking Protocols
Read: Brookshear Chapter 4.4
Read:
http://en.wikipedia.org/wiki/Internet_protocol_suite
http://en.wikipedia.org/wiki/Internet_Protocol
http://en.wikipedia.org/wiki/Transmission_Control_Protocol
Skim:
http://en.wikipedia.org/wiki/User_Datagram_Protocol
http://en.wikipedia.org/wiki/Ethernet
http://en.wikipedia.org/wiki/IEEE_802.11
http://en.wikipedia.org/wiki/Domain_name_system
http://en.wikipedia.org/wiki/HTTP
Feel free to explore other protocols of interest to you.
11. Security
Read:
Brookshear Chapter 4.5, 11.6
http://en.wikipedia.org/wiki/Computer_security
http://en.wikipedia.org/wiki/Cryptography
http://en.wikipedia.org/wiki/Symmetric_key_algorithm
http://en.wikipedia.org/wiki/Public-key_cryptography
http://en.wikipedia.org/wiki/Cryptographic_hash_function
http://en.wikipedia.org/wiki/Digital_signature
Optional: learn about the following specific standards:
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
http://en.wikipedia.org/wiki/RSA
http://en.wikipedia.org/wiki/SHA-1
Optional: short overview article on economics of information
security
Anderson and Moore, The Economics of Information Security, Science
27 October 2006: Vol. 314. no. 5799, pp. 610 - 613
http://www.sciencemag.org/cgi/content/full/314/5799/610
12. System Performance
Read:
http://en.wikipedia.org/wiki/Queueing_theory
Skim:
Chapters 1 and 3 of Quantitative System Performance: Computer
System Analysis Using Queueing Network Models, by Edward D. Lazowska,
John Zahorjan, G. Scott Graham, Kenneth C. Sevcik [http://www.cs.washington.edu/homes/lazowska/qsp/]
|