User Tools

Site Tools


start

CSE3311 Software Design (Summer 2013)

In the office

I am in the office TEL 2003 today (August 19, 2013) until 5pm if you want to discuss final or other grades.

Please be advised that there will be no such thing as “grade bumping”. Your final grade is a result of your work through the term.

Tomorrow, I will submit your marks.

FINAL GRADES

Final grades are now posted. Please verify if all your marks are listed.

NOTE: The grades are not official until they are approved by the office and entered to the system.

FINAL EXAM GRADES

Final exam grades are now posted.

FINAL EXAM

Registrar Office has published schedule of Summer Final Examination. Final test for CSE3311 is scheduled on

Wed, 14 Aug 2013 at 14:00 (2:00pm) in CLH H (duration 180 min/3h)

About The Course

Check new page for updates

About The Course

The course deals with the problem of designing software which can be used, understood and modified by people other than the original developer. Software design is in itself a large topic as design can deal with various classes of programs and systems: small, medium and large; batch; real time; distributed; and interactive (visual and graphical). Every design class has its own problems. In this course we will deal with the design of small to medium non-interactive programs and small systems that work without time constraints.

We will study the following design methods: top down design, bottom up design and abstract data types, object-oriented design and design by contract. A robust design method combines the advantages of each of the methods and uses them at appropriate times.

Some of techniques we will look at will be: backtracking, exception handling, and the use of design patterns.

The design methods and techniques can be applied to most programming paradigms but this course will primarily use object-oriented programming.

Graphical documentation will use BON (Business Oriented Notation). Programming will be in Eiffel.

Why Eiffel?

Students enrolling in this course may wonder why we use Eiffel. The Eiffel programming language is used in this course because it supports several OO concepts that are not supported in other, more popular languages e.g., Java, such as inheritance from multiple classes. The most important however feature offered by Eiffel is support for contracts on the language level.

Textbooks

The following required course text book may be purchased at Bookstore.

  • Betrand Meyer, Object-Oriented Software Construction, Prentice Hall, 1997. ISBN 0-13-629155-4

The following book on programming in Eiffel is suggested reading.

  • Pete Thomas, Ray Weedon, Object-Oriented Programming in Eiffel, second edition, Addison-Wesley, 1998, ISBN 0-201-33131-4.

Lecture Times

  • Wednesday 19:00 - 22:00 (7-10pm), LSB 106

Office Hours

  • Wednesday 17:00 - 19:00 (5-7pm), LAS 2013 (TA Advisory office)

Workload

The work load in this course, as in most computer science and engineering courses, is high. As a part of this course you will be required to work independently in the laboratory on at home. This work involves writing and testing Eiffel programs and writing reports. You should be prepared to devote 12 hours a week on average to the course; this includes class time. With proper planning and discipline, you can spread most of the work load fairly evenly throughout the course.

It is up to you to read and study relevant material without explicit instructions. You are expected to find the required readings in the references and any other sources you can find. Part of the university experience is to acquire a measure of self reliance. The instructor for the course can only guide you as to what is useful to learn; the effort must come from you. The course classes will not cover all the topics in detail. Instead, the classes will cover the most important points and give you pointers as to how the rest of the material can be studied.

Classes

You are encouraged to participate in class. The time in class is to guide you and you should use it to ask questions, discuss problems and practice critical thinkings and problem solving skills.

Reports / Assignments

You will hand in for grading a set of reports. Reports may be done individually or in pairs; (no groups larger than 2).

Tests and Examinations

There will be one in-class test and a formal three hour examination held during the examination period at the end of the term. The grading page describes the grading scheme used and the algorithm for computing your final grade. The class schedule gives the dates and times for the tests and examination.

The test questions will be based on all the course material: texts, readings, classes, reports, exercises, and on-line notes and slides. Example test questions from previous tests and examinations, and variations on them can be found here.

Acknowledgements

The content of this course is based on materials developed by prof Gunnar Gotshalks and prof Jonathan Ostroff for provious editions of CSE3311 Software Design course.

start.txt · Last modified: 2013/08/19 17:32 by pawluk