User Tools

Site Tools


course_outline

Differences

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

Link to this comparison view

Next revision
Previous revision
course_outline [2007/07/31 19:53] – external edit 127.0.0.1course_outline [2016/07/04 22:02] (current) pawluk
Line 1: Line 1:
 ====== Course Outline ====== ====== Course Outline ======
  
-The course outline is a guideline to topics that will be discussed in the course, and when they will be discussed:+==== Calendar description ==== 
 +A study of design methods and their use in the correct implementationmaintenance and evolution of software systems. Topics include design, implementation, testing, documentation needs and standards, support tools. Students design and implement components of a software system. Weekly 1.5 hour laboratory (starting 2017). PrerequisitesGeneral prerequisites; including SC/MATH 1090 3.00; LE/EECS 2031 3.00.
  
-===== Week 1 =====+===== Learning outcomes ===== 
 +Software designers are experts at developing software products that are correct, robust, efficient and maintainable. Correctness is the ability of software products to perform according to specification. Robustness is the ability of a software system to react appropriately to abnormal conditions. Software is maintainable if it is well-designed according to the principles of abstraction, modularity, and information hiding. At the end of the course, students will be able to:
  
-Your notes here.+  - Specification: Describe software specifications via Design by Contract, including the use of preconditions, postconditions, class invariants, loop variants and invariants 
 +  - Construction: Implement specifications with designs that are correct, efficient and maintainable. 
 +  - Testing: Develop systematic approaches to organizing, writing, testing and debugging software. 
 +  - Analysis: Develop insight into the process of moving from an ambiguous problem statement to a well-designed solution. 
 +  - Architecture: Design software using appropriate abstractions, modularity, information hiding, and design patterns. 
 +  - Tools: Develop facility in the use of an IDE for editing, organizing, writing, debugging, testing and documenting code including the use of BON/UML diagrams for documenting designs. Also the ability to deploy the software in an executable form. 
 +  - Documentation: Develop the ability to write precise and concise software documentation that also describes the design decisions and why they were made.
  
-===== Week 2 =====+===== Weekly topical outline ===== 
 +The course outline is a guideline to topics that will be discussed in the course, and when they will be discussed. It is a tentative outline and may be modified during the term.
  
-===== Midterm =====+===== Week 1, May 9 =====
  
-===== Drop Deadline =====+  * [[http://www.eecs.yorku.ca/~pawluk/3311/Course%20overview.pptx|Course overview]] 
 +  * [[http://www.eecs.yorku.ca/~pawluk/3311/03-Notes-on-Eiffel.pdf|Notes on Eiffel]] 
 +  * [[http://www.eecs.yorku.ca/~pawluk/3311/04-Classes.pdf|Classes]] 
 +  * [[http://www.eecs.yorku.ca/~pawluk/3311/05-Objects.pdf|Objects]]
  
-===== Week 13 =====+==== Reading ==== 
 +Chapters 1 - 6
  
-===== Final Exam =====+===== Week 2, May 16 =====
  
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/14-Modularity.pdf|Modularity]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/09-TuplesAgents.pdf|Agents and Tuples]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/13-ADTdocumentation.pdf|Documenting ADT]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/02-DesignContext.pdf|Memory management]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/07-Genericity.pdf|Generic types]]
 +
 +==== Reading ====
 +Chapters 7 - 10
 +
 +===== Week 3, May 23 =====
 +
 +Victoria Day, University is closed
 +
 +===== Week 4, May 30 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/26a-Class-Design.pdf|Design within a class]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/08-Assertions.pdf|Assertions]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/11-StepwiseRefinement.pdf|Top down design]]
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/case_studies/banks.tar.gz|Bank 1-5]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/case_studies/dictionary.tar.gz|Dictionaray]]
 +
 +==== Reading ====
 +Chapter 19
 +
 +===== Week 5, June 6 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/15-DesignContract.pdf|Design by contract]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2006-07/W/3311/slides/m_jan22.pdf|eSpec and TDD]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/10-Espec.pdf|Notes on eSpec]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/16-Exceptions.pdf|Exceptions]]
 +
 +==== Reading ====
 +Chapters 11 - 13
 +
 +
 +
 +===== Week 6, June 13 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/17-BON.pdf|BON static model]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/19-Inheritance.pdf|Inheritance]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/20a-PolyAndDynamic.pdf|Polymorphism and dynamic typing]]
 +  
 +==== Reading ====
 +Chapters 14 - 17
 +
 +**Assignment 1 Due on midnight**
 +
 +===== Week 7, June 20 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/20b-InheritAdaptation.pdf|Inheritance adaptation]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/21-InheritMultiple.pdf|Multiple inheritance]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/26-Inherit-Uses.pdf|Inheritance and uses design]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/22-InheritDBC.pdf|Inheritance and Design by Contract]]
 +
 +===== Week 8, June 27 =====
 +
 +**Midterm test**
 +
 +===== Week 9, July 4 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/17b-BON-Dynamic-Model.pdf|BON dynamic model]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/A4-DesignPatterns.pdf|Design patterns]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/28-8-Behave-MVC.pdf|MVC]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/27-1-Structure-Adapter.pdf|Adapter pattern]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/28-9-Behave-Observer.pdf|Observer pattern]]
 +
 +===== July 6, Drop Deadline =====
 +
 +**Deadline to drop the course without grade**
 +
 +===== Week 10, July 11 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/23-GlobalObjects.pdf|Global objects]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/29-5-Create-Singleton.pdf|Singleton]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/27-3-Structure-Composite.pdf|Composite]]
 +  
 +===== Week 11, July 18 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/28-13-Behave-Visitor.pdf|Visitor]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/28-4-Behave-Iterator.pdf|Iterator]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/28-2-Behave-Command.pdf|Command]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/25-CScmdDOundo.pdf|Command do-undo case study]]
 +
 +===== Week 12, July 25 =====
 +
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/27-4-Structure-Decorator.pdf|Decorator]]
 +  * [[http://www.eecs.yorku.ca/course_archive/2015-16/F/3311/slides/28-10-Behave-State.pdf|State]]
 +
 +  * Review 
 +
 +===== Week 13, August 1 =====
 +
 +Civic Holiday, University closed
 +
 +===== August 2-7 =====
 +
 +Study days
 +
 +===== Week 14, August 8 =====
 +
 +Summer term ends
 +
 +===== Final Exam =====
  
 +Exams will be scheduled on **August 11-19, 2016**
 +Specific information will be provided in the later time.
course_outline.1185911597.txt.gz · Last modified: 2016/05/08 17:37 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki