Home

Announcements


Schedule


Assignments

 
   


IS206 Distributed Computing Applications and Infrastructure

Fall 2006


Tentative Schedule and Readings

Week
Date
Day
Topic
Assign
Due
Week 1

8/29
T
Introduction and logistics [slides]
Computer architecture: introduction [slides]



8/30
W
Lab: 206 place-out exam (noon-1:30pm)



8/31
R
Computer architecture: data representation [readings][slides]
206 place-in exam assigned (due Friday Sep 1, 6pm)
A1

Week 2

9/5
T
Computer architecture: boolean logic [readings][slides]



9/6
W
Lab: ISchool computing environment & file service; (Guest lecturer: Kevin Heard)(Location: 210 South Hall)



9/7
R
Computer architecture: CPU operation, machine language
A2
A1.1
Week 3

9/12
T
Operating system (Guest lecturer: Dr. Sonja Buchegger) [readings][slides]



9/13
W
Lab: Using Eclipse (Data: Country.zip); open Q&A on A1 and A2



9/14
R
Operating system (Guest lecturer: Dr. Sonja Buchegger)[slides]

A1.2
Week 4

9/19
T
Software design [readings][slides]

A2

9/20
W
Lab: Debugging and Programming Practices; open Q&A on A3



9/21
R
Software design
A3

Week 5

9/26
T
Analysis of algorithms [readings][slides]



9/27
W
Lab: UML and System Modeling; open Q&A on A3



9/28
R
Analysis of algorithms; Data structures [slides]


Week 6

10/3
T
Data structures - stack, queue [readings][slides]
A4
A3.1
A3.2

10/4
W
Lab: Java Collections; open Q&A on A4



10/5
R
Data structures - hash table


Week 7

10/10
T
Data structures - tree, binary tree [readings][slides]

A4.1

10/11
W
Java API; open Q&A on A4



10/12
R
Data structures - heap, distributed hash table [slides]


Week 8

10/17
T
Mid-Semester Review [slides]

A4.2

10/18
W
Lab: open Q&A



10/19
R
Exam 1


Week 9

10/24
T
Regular expressions [readings][slides]
A5


10/25
W
Lab: Regular Expressions; open Q&A on A5



10/26
R
Networking: distributed systems [readings][slides]

Week 10

10/31
T
Networking: inter-process communication [slides]
A6
A5

11/1
W
Lab: Java Networking - Client/Server; open Q&A on A6



11/2
R
Networking: network architecture [slides


Week 11

11/7
T
Networking: network architecture

A6.1

11/8
W
Lab: CVS; open Q&A on A6



11/9
R
Networking: standards and protocols [readings][slides]


Week 12

11/14
T
Networking: standards and protocols

A6.2

11/15
W
Lab: open Q&A on A6



11/16
R
Computer security [readings][slides]
A7

Week 13

11/21
T
Computer security



11/22
W
No Lab



11/23
R
Thanksgiving -- No Class


Week 14

11/28
T
System performance [readings][slides]

A7

11/29
W
Lab: Networks, Threaded Client/Server



11/30
R
System performance


Week 15

12/5
T
Course review and evaluation

A7b

12/6
W
Lab: open Q&A



12/7
R
Exam 2



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/List_(computing)
http://en.wikipedia.org/wiki/Array
http://en.wikipedia.org/wiki/Linked_list
http://en.wikipedia.org/wiki/Stack_(computing)
http://en.wikipedia.org/wiki/Queue
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)


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/