User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2018/12/31 18:21] jonathanstart [2019/04/15 17:45] (current) jonathan
Line 7: Line 7:
   * Please ask all your Lab and Course questions on the Forum, or during the plentiful office hours (see sidebar). Instructors will not be able to answer questions via email.    * Please ask all your Lab and Course questions on the Forum, or during the plentiful office hours (see sidebar). Instructors will not be able to answer questions via email. 
   * Lab0 (not graded) starts the first day of term (Thursday Jan 4th), and Lab1 is now available. See sidebar after logging in.    * Lab0 (not graded) starts the first day of term (Thursday Jan 4th), and Lab1 is now available. See sidebar after logging in. 
-  * See Resources Tab+  * See [[:resources:|Resources]] Tab for textbooks, and other information. You need not purchase any textbooks, as all the information is available via Steacie Library. 
  
 **EECS3311 - Software design - Winter 2019** **EECS3311 - Software design - Winter 2019**
-[[https://www.eecs.yorku.ca/~jackie/teaching/lectures/index.html#EECS3311_W19|Section M slides]]. 
  
-  *EECS3311-W19 Section M (Prof. Wang) +  *EECS3311-W19 Section M (Prof. Wang). Recordings, iPad Notes, and slides are available [[https://www.eecs.yorku.ca/~jackie/teaching/lectures/index.html#EECS3311_W19|here]].  
    *M 13:00-14.30 90 LAS C    *M 13:00-14.30 90 LAS C
    *W 13:00-14.30 90 CLH E    *W 13:00-14.30 90 CLH E
Line 18: Line 17:
    *LAB02 F 10:00-11.30 LAS 1006    *LAB02 F 10:00-11.30 LAS 1006
        
-  * EECS3311-W19 Section Z (Prof. Ostroff). Engineering   +  * EECS3311-W19 Section Z (Prof. Ostroff). Engineering. Slides are available from the [[:protected:svn:|SVN]] Tab (login required).
    *M 16:00-17.30 CB 121    *M 16:00-17.30 CB 121
    *W 16:00-17.30 CB 121    *W 16:00-17.30 CB 121
Line 32: Line 31:
  
  
-===== Information for Section M only =====+==== Information for Section M only ====
  
-[[:sectionE|Section M information]]+[[:Section M Resources|Section M information]]
  
 ===== Fall 2018 Slides and Videos ===== ===== Fall 2018 Slides and Videos =====
Line 42: Line 41:
  
  
-===== Info ===== +
-  +
-  * **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 [[http://touch.ethz.ch/|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. +
-    * [**OOSC2**] 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 +
-    * [[https://wiki.eecs.yorku.ca/project/eiffel/bon:|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 [[http://www.bon-method.com/book_print_a4.pdf|pdf]]. There is a template in Visio to do nice BON diagrams.+
  
 ===== Getting Started ===== ===== Getting Started =====
Line 90: Line 83:
  
 ===== Topics ===== ===== Topics =====
 +
 +In design, the skill you wish to develop is the ability to distill a complex problem into its simplest components, and to organize the components into a cohesive and maintainable product. The following topics will help you to develop these skills and ovation the course learning outcomes. 
 +
 1. Unit Tests, regression testing, using testing tools and debugging 1. Unit Tests, regression testing, using testing tools and debugging
  
start.1546280508.txt.gz · Last modified: 2018/12/31 18:21 by jonathan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki