**University**** of ****Ottawa****, School**** of ****IT**** and Engineering**

**CSI1102, Winter 2005**

**Fundamentals
of software design ** (3 hours of
lecture per week, 3 hours of lab per week, 4 credits)

This course introduces students to the fundamentals of software design.
We will introduce the concepts of software design and pseudo-code;
object-oriented programming; and abstraction principles including virtual
machines, information hiding and encapsulation. Also, the course introduces
simple data structures, including linked lists, stacks, and queues, and
their applications. Students will also be introduced to the iterative and
recursive processing of data structures.

Lab work will be done in the Java programming language. **Prerequisite**:
GNG1101 or CSI1100

**Anouncements**

**The unofficial final marks are posted here.**

If you want to see your exam paper, come by for "exam viewing office hours" on Wed, May 4, 11:00-17:00, in CBY A611. If you want to ask for exam re-marking, you will be filling this form (note that if you ask for re-marking you automatically loose the 3 extra marks added to all the exams in order to compensate for any possible marking mistakes).**The solution to the final exam is here.****The solution to the midterm is here.****The solutions to Lab assignment 1, 2, 3, 4 are posted (see the link Lab Assignments 2005). So are the solutions to Quiz 1, 2, 3, 4.**

**Lab webpage
maintained by the head TA** (info about the
marking schedule; it also includes **marks for Lab1,
2, 3 Quiz 1, 2 and Midterm**).

Theory
Course Outline 2005 and Link to Slides

**Lab Assignments
2005 About the
Labs**

**Java Resources
**(includes links to documentation) ** Course FAQ page**

**Professor’s
Details (Section C)**

Dr.
Diana Inkpen

Office:
Room A611 CBY

Class
webpage: http://www.site.uottawa.ca/~diana/csi1102

Email:diana@site.uottawa.ca Phone: 562
5800 x 6711

**Lectures:
** ** Wed 14:30-16:00, Fri
13:00-14:30, Room SITE A0150**

**Office
hours**: Mon 13:15-14:30 and Wed 13:15-14:30
(in CBY A611), or by e-mail appointment.

**Prescribed
Book**

Java Software Solutions, **Third
Edition**, J. Lewis and W. Loftus, Addison Wesley, 2003, ISBN 0-201-78129-8

This is
a ** required** text, available at the bookstore. We will follow the
prescribed book quite closely. It is therefore essential that you do purchase a
copy. Older editions can be used too. The fourth edition it not recommended
since the programming examples might be slighly different.

The final mark will be calculated as follows.

4 Labs
4
x 5 points = 20 points

4
Quizzes (in class)
4
x 0.5 points = 2 points

1
Midterm
20 points

Examination
58 points

**Total 100
points**

The
final mark will be computed as max(20% labs + 2% quizzes + 20% midterm + 58%
exam, 20%labs + 2% quizzes + 78% exam). In this way, a bad midterm day can be
compensated by a good final exam.

You
are, however, ** required** to obtain at least 50% for the final
examination in order to pass this course.

There will be bonus points for class
participation.