User Tools

Site Tools


start

EECS3311 - Software design - Winter 2015

Info

  • Lectures: EECS3311 | Mon./Wed. 4-5.30pm |Mon. LSB 106 | Wed. LSB 103
  • Textbooks: the following texts are highly recommended and are available on reserve in the Library:
    • Bertrand Meyer, Touch of Class: Learning how to Program Well, with Objects and Contracts, Springer Verlag, revised printing, 2013, book page here (this is a complete course with slides, videos and exercises). The text Touch of Class is available with online access via Steacie Library. The book describes computational thinking with the Eiffel language. Use this text to learn about design by contract, polymorphism, static typing, dynamic binding, genericity, multiple inheritance, and lambda expressions (agents). These are all topics needed for this course.
    • Bertrand Meyer. Object-Oriented Software Construction. Second edition. Prentice Hall, 1997. This is a classic text on software design principles.
    • Design Patterns: Elements of Reusable Object-Oriented Software, 1994, by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
    • BON (Business Object Notation). The BON method for analysis and design of object-oriented software is a means of extending the higher-level concepts of the Eiffel programming language into the realm of analysis and design aided by a graphical notation akin to but different from UML. BON is described in depth in the book Seamless Object-Oriented Software Architecture, Prentice Hall 1994, by Kim Waldén and Jean-Marc Nerson. The book is out of print but is available as a pdf. There is a template in Visio to do nice BON diagrams.
  • Informal Labs: In addition to the assignments, Labtest, and project, you will also be provided with 5 Labs (provided one week in advance of the due date). We have scheduled an informal 60 minute session in LAS1006 every Monday 5.30 - 6.30pm, so that you can work in the Prism facility with a TA present to provide help. Doing these exercises is an important step in developing your design skills. You can, of course, also do the Labs on your own time provided you submit them by the deadline. You can also ask questions in the forum or attend regular office hours.

Getting Started

* Important: Subscribe to the forum for the latest announcements. Please ask all questions relating to the course material on the forum (not via email). For all other questions, see the course instructor during office hours.

  • See bottom of this page for login with your Prism password. Slides are available from the SVN repository (see link in the sidebar, once you have logged on).
  • Office hours: A TA will be available during the Lab hour (5.30pm to 6.30pm) on Mondays in LAS1006. Office hours Thursdays 5.30-6.30pm in the SEL (CSE2056). Ask all course information on the forum.
  • Get started using the Eiffelstudio IDE on the first day of class (here). Compile and execute a hello world program. Then use the ESpec library to write and execute your first test. You might want to run through this introductory tutorial.

Workload

The work load in this course, as in most computer science and engineering courses, is high. The course has a large unscheduled laboratory component to it which involves writing and testing Eiffel programs. 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.

start.txt · Last modified: 2015/01/23 15:30 by jonathan