|
Synopsis
Purpose. Prepares students to engineer well-structured software systems. Students learn a wide range of software architectural styles, architectural platforms that provide standard services to applications, and formal architecture description languages. Book. "Software Architecture: Foundations, Theory, and Parctice" by Richard Taylor, Nenad Medvidovic, Eric Dashofy Evaluation. Homework/lab projects (1/3) + Quizzes (1/3) + Exam (1/3) Pedagogy. |
Instructor: Prof. Cristina Lopes, DBH 5076, lopes
at ics dot uci
dot edu; Office hours: Mondays and Wednesdays,
10-11am.
Assistant: Mehryar Rahmatian
Lectures: Mon & Wed 12:30-1:50, DBH 1423
Discussion section: Mon 4-4:50, DBH 1425
Homework/Lab Projects
There will be 5 assignments, including one of the first week. Assignments are usually due Sundays by midnight. Late assignments will be accepted with penalties.
Submission
See instructions in each homework.
Quizzes
There will be 4 quizzes throughout the course. Quizzes are on Wednesdays during the lecture. They will cover material that has been taught the previous weeks.
Week | Date | Topic | Weekly materials | Deliverables | Notes |
1 | 3/29 | Software Architecture |
* Textbook Chapter 1: The Big Idea; * Textbook Chapter 3: Basic Concepts; * Textbook Chapter 17: People, Roles and Teams * Wikipedia entry on Software Architecture * The OpenSimulator project |
Assignment 1 due 4/5 |
Slides |
3/31 | Slides | ||||
2 | 4/5 | Distributed Systems overview:
Architectures and Protocols * The OSI model of Interconnection * Transport-Level Protocols: TCP and UDP |
* Wikipedia entry on ARPANET
* TCP/IP |
Assignment 2 due 4/11 |
Slides |
4/7 *Mehryar | Slides | ||||
3 | 4/12 | Decentralized Systems: The Web
* The Web and HTTP * The RESTful Architectural style |
* Textbook Chapter 11 (part 1): Applied Architectures and Styles | Quiz 1 (4/14) |
Slides Discussion |
4/14 | Slides | ||||
4 | 4/19 | The Web and Interoperability (Part 1)
* XML-RPC & SOAP * Web Services & WSDL |
* Roy Fielding's PhD dissertation, chapters 5 and 6 |
Assignment 3 due 4/25 |
Slides |
4/21 | Slides | ||||
5 | 4/26 | Distributed Objects (RMI)
Data representations |
* Textbook Chapter 4 (part 3): Designing Architectures | Quiz 2 (4/28) |
Slides |
4/28 | Slides | ||||
6 | 5/3 |
Software Architecture Recovery Decentralized Architectures* Decentralization vs. Distribution: Authority * Grid computing and cloud computing * Peer 2 peer |
* Textbook Chapter
4 (part 2): Designing Architectures
* Textbook Chapter 11 (part 2): Applied Architectures and Styles |
Assignment 4 due 5/9 |
Slides Discussion |
5/5 | Slides | ||||
7 | 5/10 | * Event-Based and Pub/Sub Architectures * The internet, part 2, Security * Firewalls * SSL and HTTPS |
* Textbook Chapter 4: Designing Architectures | Quiz 3 (5/12) |
Slides |
5/12 | Slides | ||||
8 | 5/17 | Security:
* Common vulnerabilities Interoperability, Part 2: * Emerging standards: OpenID and OAuth |
* Textbook Chapter
13: Security
* Http Echo app, with HTTP redirects |
Slides Vulnerabilities |
|
5/19 | Slides | ||||
9 | 5/24 | Trust
* Certificates / PKI * Programming for security | * The Lazy Programmer's Guide to Secure Computing | Quiz 4 (5/26) | Slides |
5/26 | |||||
10 | 5/31 *No class | Recap | Assignment 5 due 6/2
|
||
6/2 | Slides |
Exam: Mon, June 7, 1:30-3:30pm
Academic Honesty
I trust all students are honest and do not cheat. Those who break my trust at any point will get an F in the course - no excuses or apologies will be accepted.Additional penalties may also be imposed by the department and the university. Very severe incidents of academic dishonesty can result in suspension or expulsion from the university.
So don't risk it! If, for some reason, you can't do the homework on time or can't study for the Quiz, you're better off skipping it than cheating it. Do the math!
Students with Disability
Any student who feels he or she may need an accommodation based on the impact of a disability should contact me privately to discuss his or her specific needs. Also contact the Disability Services Center at (949) 824-7494 as soon as possible to better ensure that such accommodations are implemented in a timely fashion.