Course Title

Informatics 122

Software Design II

Winter 2015


Professor
Emily Navarro
http://www.ics.uci.edu/~emilyo
emilyo@uci.edu

Office Hours
Tuesdays 3:50-4:50pm

DBH 5221

Reader
Suyash Misra

suyashm@uci.edu

Office Hours: Wednesdays 12-1pm, ICS 364 (ask lab attendant to point you to Suyash)


Logistics
Location: DBH 1300
Day and time: Tuesday and Thursday, 5:00-6:20pm

Catalogue Description
122 Software Design II (4). Introduction to implementation design: designing the internals of a software application. Topics include design aesthetics, design implementation, design recovery, design patterns, and component reuse. Includes practice in designing and case studies of existing designs. Prerequisite: Informatics 121.

Book
Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series, Hardcover), Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995

Grades
All students enrolled in the course will earn a letter grade based upon: (a) class attendance and participation, (b) assignments, (c) the final class project, and (d) team evaluations.

Grade distribution will be as follows (as suitably adjusted with team evaluations):


Course Mailing List
To send mail: 37030-W15@classes.uci.edu
To view the archive: https://eee.uci.edu/classmail/w15/37030/

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. Please 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.

Academic Dishonesty

Academic Dishonesty will not be tolerated in any shape or form. You will be held responsible for any and all actions whether they were performed indirectly (i.e. you left your computer unmonitored, someone stole your password, you left a printed version of your work in the lab). Remember, the burden of proof is on you. The staff must solely determine that academic dishonesty has occurred, and hope that those responsible will own up to their actions. In cases where neither student admits their participation, both will receive the same sanctions on a course-level (Note: campus-wide sanctions are determined by the Associate Dean of your department). Cheating will be detected by TurnItIn.com. Please note that instances of academic dishonesty will be reflected in the final grade because dishonesty devalues the learning experience for the whole class.


Late Work
Late work will not be accepted, except in truly extenuating circumstances for which the student can produce documentation validating their circumstance (e.g., a doctor's note, a police report, etc.)

Copyright
The documents below are included to ensure timely dissemination of scholarly and technical work on a non-commercial basis and are for the sole use of students enrolled in Informatics 122. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be resposted without the explicit permission of the copyright holder.

Schedule (subject to change without notice)

Week

Date

Topic

Slides

Assignments

1

January 6

Review and Preview

Lecture 1



January 8

Design Aesthetics

UML Review

Lecture 2

Assignment 1, part 1 out (individual, moderate)

2

January 13

Design Aesthetics

Changeability

Lecture 3

Assignment 1, part 1 due

Assignment 1, part 2 out (individual, moderate)


January 15

Design Aesthetics (Student Presentations)




3

January 20

Design Aesthetics

(Student Presentations)





January 22

Design Aesthetics

Reflection


Assignment 1, part 2 due

Assignment 1, part 3 out (individual, moderate)


4

January 27

Design Patterns

Lecture 4

sample code

Assignment 1, part 3 due

Assignment 2 out (individual, heavy)


January 29

Design Patterns

Lecture 5

sample code


5

February 3

Design Patterns

Lecture 6

sample code

Assignment 2 due

Assignment 3, part 1 out (individual, moderate)


February 5

Refactoring

Lecture 7

Assignment 3, part 2 out (individual, moderate)

6

February 10

Design Recovery

Lecture 8

Assignment 3 (parts 1 and 2) due

Assignment 4 out (team, heavy)


February 12

Design Recovery



7

February 17

Design Recovery Presentations


Assignment 4 due


February 19

Reuse

Lecture 9

Assignment 5 out (individual, heavy)

8

February 24

Design in the Large

Lecture 10



February 26

Reuse Presentations

Lecture 11

Assignment 5 due

Final Design Project out (team, heavy)

9

March 3

Final Design Project

"Plan of attack" presentations (15 min. per team)



March 5

Final Design Project

Preliminary design presentations (20 min. per team)

Preliminary design documents due

10

March 10

Final Design Project

Detailed design presentations (20 min. per team)

Detailed design documents due


March 12

Final Design Project

Course Wrap-Up

First demos (20 min. per team)

Lecture 12

Updated design documents due

Finals week

March 19, 4:00 - 6:00pm

Final Design Project

Final design and retrospective on design presentation (15 min. per team)

Final demo (15 min. per team)

Final Design Project due:

Updated design documents

Code (via a CM repository)

Final design project team evaluation