SOEN6441 - winter 2021

From Dr. Joey Paquet Web Site
Revision as of 20:30, 6 January 2021 by Paquet (Talk | contribs)

Jump to: navigation, search

Contents

Course Description

SOEN 6441 - Advanced programming practices (4 credits)

Problems of writing and managing code. Managing code complexity and quality through a programming process. Coding conventions. Inline software documentation. Software configuration management. Tools and techniques for testing software. Multithreading concurrency. Code reuse in software development. Quality in coding, fault tolerance. A project. Laboratory: two hours per week.

Course Schedule and Contacts

component day time location name e-mail address
lecture WW ---J---- 17:45-20:15 zoom Joey Paquet paquet@encs.concordia.ca
instructor's office hours --W----- 10:00-12:00 zoom Joey Paquet
lab WW WI ---J--- 20:30-22:20 zoom TBD
lab WW WJ ---J--- 15:45-17:35 zoom TBD
lab WW WK --W---- 20:30-22:20 zoom TBD
marker TBD
marker TBD

Lecture Schedule

wk date event lecture lab
week 1 jan 14
  • no lab
week 2 jan 22
  • team lists due - jan 22
  • introduction
week 3 jan 28 *software repositories
  *coding conventions
*repositories
week 4 feb 4 *project build 1 requirements/grading scheme (handout) *API documentation generation tools: Javadoc
  *unit testing frameworks: JUnit
  *JUnit examples from the slides
  *tutorial on JUnit in Eclipse
*Javadoc
  *JUnit
week 5 feb 11 *model view controller architecture and observer pattern
  *source code for Observer example using (deprecated) Java Observer/Observable
  *source code for Observer example
*MVC and observer pattern
week 6 feb 18 *midterm examination
results
*no lab
week 7 feb 25 *project build 1 due (feb 25, 26 - presentations)
results
*none *none
midterm break mar 1- mar 5
week 8 mar 11 *project build 2 requirements/grading scheme (handout) *refactoring
  *design patterns in Java
  *source code for pattern examples
*design patterns - state and adapter
week 9 mar 18 *design patterns - continued *design patterns - strategy
week 10 mar 25 *project build 2 due (mar 25, 26 - presentations)
results
*none *none
week 11 apr 1 *project build 3 requirements/grading scheme (handout) *fault tolerance through exception handling
  *source code for exception examples			
*exception handling
week 12 apr 8 *Java generics
  *source code for Java generics examples	
*java generics
week 13 apr 15 *project build 3 due (apr 15, 16- presentations)
results
*none *none
exam week apr 24 - may 9

Course Material and Resources