|
CS 6600: Topics in Software Architecture Monsoon 2008 Faculty: Vasudeva Varma TA: Jaideep Dhok
Class Meetings: Mon and Wed: 11:30—13:00 Room: 325, Main Building
Course Overview - TopicsSoftware Architecture Software Architecture as a Problem Solving Discipline: Polya’s Problem Solving Approach “How to Solve it?”, Systems Thinking Service Orientation and Service Oriented Architecture (SOA) Distributed / Grid Computing: Distributed Computing, Distributed File Systems, Hadoop as DFS environment – (Industry Partner: Yahoo) Cloud Computing: Cloud as a development environment, Web Services – AWS, EC2, S3 (Industry Partner: Amazon) Virtualization - (Industry Partner: Microsoft) Evaluation:An implementation Project – Hadoop Cloud in SIEL or EC2 of Amazon Exploration of a Research problem—Term paper Enriching discussions in the class meetings Tentative weight for each: 40-50-10 Ranked Peer evaluation No conventional exams
Starting point: Read and explore about Google File System (GFS), Map-Reduce, BigTable, Amazon Web Services (AWS), EC2, S3 and Hadoop—Most of them have Wikipedia entries and that’s a good starting point. Will announce a list of resources and a list of projects – your responsibility to choose the one that interests you. Talk to the TA/mentors if you need any help Timelines:Explore the domain 4/08/08 – 18/08/08 Choose the project 18/08/08 Choose the term paper topic: 25/08/08 First Evaluation: 15/09/08 Second Evaluation: 20/10/08 Final Evaluation: November 17-26, 2008 Lectures:Module 1: Software Architecture: 1. Course Introduction—Course outline, grading, Topics overview (Aug 4, 2008) 2. Learn to ask some fundamental questions about software architecture—Discuss Jim Gray’s observations about software architecture, differences between software, engineering and architecture, relation between programming, software engineering and software architecture, importance of structural and functional decomposition, journey from the problem space to solution space (Aug 6, 2008) 3. Analogy between Software architecture and movie making. The process of movie making—phases, structure and genre, interesting insights (Aug 11, 2008) 4. Commonalities and differences - what can we learn from the process of movie making. Software Architecture primer. Important concepts of SA - architectural drivers, styles, views and view points etc. (Aug 13, 2008) Module II: SA as a problem solving discipline—This module will be conducted as a separate thread during the course 1. How to Solve it? Insights from G. Polya’s classic work 2. Systems Thinking I 3. Systems Thinking II 4. Connecting them all Module III: Cloud Computing Fundamentals: 1. Hadoop introduction (Jaideep) (Aug 18, 2008) 2. Hadoop Hands-on details (Jaideep) (Aug 20, 2008) 3. Amazon Web Services I (Jinesh Varia, AWS Evangelist) (Aug 25, 2008) 4. Amazon Web services II (Jinesh Varia, AWS Evangelist) (Aug 25, 2008) Module IV: Cloud Computing Topics
Resources:The following links are useful for the course: Wikipedia - > http://en.wikipedia.org/wiki/Cloud_computing Google Code - > http://code.google.com/edu/parallel/index.html Software Architecture Primer - this material is supplied in the class room |