Syllabus
Instructor: Tevfik Bultan (bultan@cs.ucsb.edu, Phone: x3735),
Office Hours: Monday, Friday 2:00-2:50PM, HFH 2123
Teaching Assistant:
Chris Coakley (ccoakley@cs.ucsb.edu),
Office Hours: Monday 3:00-3:50, Wednesday 2:00-2:50, CSIL
Lectures: Monday/Wednesday/Friday 1:00-1:50PM, 387 101
Discussion: Friday 3:00-3:50 GIRV 1116
Class Webpage: URL: http://www.cs.ucsb.edu/~cs189/
Class Mailing List: cs189@cs.ucsb.edu
Project
Students will work in teams (3-5 students per team) to build a significant software project. We will establish partnerships between student project teams and companies which will provide challenge problems to the students based on the challenges they face in their industry. Representatives from participating companies will present the challenge problems in the first week of classes.Course Work and Grading
The main component of the course work will be building a prototype for the project. Each week one member from each team is going to present their progress. The deliverables for the project will include a vision statement, requirements specification, architecture specification and detailed design specification. (Please turn in everything either in pdf or html format. All project artifacts by all teams will be accessible by the all the students taking the class through the class webpage.) Each team will do a demo at the end of the class. Also there will be some reading assignments and quizzes.You will be graded on the project deliverables, quizzes, and your performance in presentations and discussions. You will also receive a peer grade.
Course Goals
- To learn the issues and problems involved in large software projects.
- To learn phases of software development and evolution: requirements analysis and specification, software design and specification, implementation, testing, and maintenance.
- To learn basic software engineering techniques and principles.
- To gain experience in large scale software development by working on a team project.