Course Title
Informatics 121
Software Design I
Winter 2018

Professor
André van der Hoek
http://www.ics.uci.edu/~andre
andre@ics.uci.edu
Office: DBH 5038
Phone: +1 949-824-6326
Office hours: Friday, 10:30-11:30

Teaching Assistants
Kaj Dreef
kdreef@uci.edu
Office hours: Wednesday, 15:05-16:00, ICS 440
Vishal Sharma
vishals1@uci.edu
Office hours: Monday 14:00-15:00, ICS 440

Logistics
Location: ICS 174
Lecture day and time: Monday, Wednesday, and Friday 09:00-09:50
Discussion day and time: Friday 12:00-12:50 (MHICF 100L); Friday 13:00-13:50 (HICF 100K); or Friday 14:00-14:50 (MSTB 110)

Catalogue Description
121 Software Design I (4). Introduction to application design: designing the overall functionality of a software application. Topics include general design theory, software design theory, and software architecture. Includes practice in designing and case studies of existing designs.
Prerequisites: one of INF45/ICS 33/CSE43/ICS 46/CSE46, with a grade of C or better and upper-division standing.

Textbook
M. Petre and A. van der Hoek, Software Design Decoded.

Grades
All students enrolled in the course will earn a letter grade based upon: (a) course projects, (b) midterm, (c) final. Grade distribution will be as follows (adjusted by group attendance and participation as need be):

  • Projects: 60%
  • Midterm: 15%
  • Final: 25%

Course Mailing List
To send mail: 36630-w18@classes.uci.edu
To view the archive: https://eee.uci.edu/classmail/f18/36630/

Piazza
We will use Piazza to manage questions and answers regarding all aspects of the course, including topics discussed in lecture, assignments, schedule, and more: https://piazza.com/uci/winter2018/in4matx121/home. Of course, if you have a private question, you can always e-mail the instructor at andre@ics.uci.edu or visit during office hours.

Students with Disabilities
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-6272 as soon as possible to better ensure that such accommodations are implemented in a timely fashion.

Schedule

Week Date Topic Slides Assignments
1 January 8 No class: André leading the Department of Informatics faculty retreat
January 10 Design Lecture 1
January 12 No class: André traveling to the Future of Software Design workshop
2 January 15 No class: Martin Luther King, Jr. Day
January 17 Defining design Lecture 2
January 19 Design cycle Lecture 3 Design studio 1 out
3 January 22 No class: André traveling to Mozilla
January 24 Design practice Lecture 4
January 26 Four types of design Lecture 5
4 January 29 Design practice Lecture 6
January 31 Design practice
February 1 Design failure Lecture 7
5 February 5 Design studio 1, debrief Lecture 8 Design studio 1 due
February 7 Midterm Design studio 2, part 1 out
February 9 Externalizing designs Lecture 9
6 February 12 Externalizing designs Lecture 10
February 14 Design practice
February 16 Design practice Lecture 11
7 February 19 No class: Presidents' Day
February 21 Design studio 2, part 1, debrief Lecture 12 Design studio 2, part 1 due
Design studio 2, part 2 out
February 23 Design methods Lecture 13
8 February 26 Design methods Lecture 14
February 28 Design methods Lecture 15 Design studio 2, part 2 due
Design studio 3 out
March 2 Design methods Lecture 16
9 March 5 Design methods Lecture 17
March 7 No class: André traveling to the Seoul (esports)
March 9 Architecture design Lecture 18
10 March 12 Design practice Lecture 19
March 14 Design practice Lecture 20
March 16 Wrap up Lecture 21 Design studio 3 due (actually moved to Monday, noon)
Finals week March 21, 08:00 - 10:00 Final