Difference between revisions of "SOEN6441 - winter 2021"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Lecture Schedule)
(Lecture Schedule)
Line 36: Line 36:
 
! {{tableHeaderCell}}| date
 
! {{tableHeaderCell}}| date
 
! {{tableHeaderCell}}| event
 
! {{tableHeaderCell}}| event
! {{tableHeaderCell}}| topic
+
! {{tableHeaderCell}}| lecture
 +
! {{tableHeaderCell}}| lab
 
|-
 
|-
 
|| week 1
 
|| week 1
 
|| jan 14
 
|| jan 14
||  
+
|| *[[Media:Project.SOEN6441.2021.4.pdf|project description (handout)]]
*[[Media:Project.SOEN6441.2021.4.pdf|project description (handout)]]
+
|| *[[Media:SOEN6441.0.introduction.ppt|introduction to the course & project]]
||  
+
|| *no lab
*[[Media:SOEN6441.0.introduction.ppt|introduction to the course & project]]
+
 
|-
 
|-
 
|| week 2
 
|| week 2
 
|| jan 22
 
|| jan 22
||
+
|| *team lists due - jan 22
*team lists due - jan 22
+
|| *[[Media:SOEN6441.1.process.ppt|software development process]]
||
+
  *[[Media:SOEN6441.2.extremeprogramming.ppt|extreme programming]]
*[[Media:SOEN6441.1.process.ppt|software development process]]
+
|| *introduction
*[[Media:SOEN6441.2.extremeprogramming.ppt|extreme programming]]
+
 
|-
 
|-
 
|| week 3
 
|| week 3
 
|| jan 28
 
|| jan 28
 
||
 
||
||
+
|| *[[Media:SOEN6441.3.repository.ppt|software repositories]]
*[[Media:SOEN6441.3.repository.ppt|software repositories]]
+
  *[[Media:SOEN6441.4.conventions.ppt|coding conventions]]
*[[Media:SOEN6441.4.conventions.ppt|coding conventions]]
+
|| *repositories
 
|-
 
|-
 
|| week 4
 
|| week 4
 
|| feb 4
 
|| feb 4
||
+
|| *[[Media:Build1Grading.SOEN6441.2021.4.pdf|project build 1 requirements/grading scheme (handout)]]
*[[Media:Build1Grading.SOEN6441.2021.4.pdf|project build 1 requirements/grading scheme (handout)]]
+
|| *[[Media:SOEN6441.5.apidocgen.ppt|API documentation generation tools: Javadoc]]
||
+
  *[[Media:SOEN6441.6.unittesting.ppt|unit testing frameworks: JUnit]]
*[[Media:SOEN6441.5.apidocgen.ppt|API documentation generation tools: Javadoc]]
+
  *[[Media:JUnit3and4.zip|JUnit examples from the slides]]
*[[Media:SOEN6441.6.unittesting.ppt|unit testing frameworks: JUnit]]
+
  *[[Media:JUnitTutorial.zip|tutorial on JUnit in Eclipse]]
*[[Media:JUnit3and4.zip|JUnit examples from the slides]]
+
|| *Javadoc
*[[Media:JUnitTutorial.zip|tutorial on JUnit in Eclipse]]
+
  *JUnit
 
|-
 
|-
 
|| week 5
 
|| week 5
 
|| feb 11
 
|| feb 11
 
||
 
||
||
+
|| *[[Media:SOEN6441.7.MVC.ppt|model view controller architecture and observer pattern]]
*[[Media:SOEN6441.7.MVC.ppt|model view controller architecture and observer pattern]]
+
  *[[Media:ClockObserverDemoJavaObserver.zip|source code for Observer example using (deprecated) Java Observer/Observable]]
*[[Media:ClockObserverDemoJavaObserver.zip|source code for Observer example using (deprecated) Java Observer/Observable]]
+
  *[[Media:ClockObserverDemo.zip|source code for Observer example]]
*[[Media:ClockObserverDemo.zip|source code for Observer example]]
+
|| *MVC and observer pattern
 
|-
 
|-
 
|| week 6
 
|| week 6
 
|| feb 18
 
|| feb 18
||  
+
|| *midterm examination <br>[[Media:grades.midterm.online.SOEN6441.paquet.2021.4.pdf|results]]
*midterm examination <br>[[Media:grades.midterm.online.SOEN6441.paquet.2021.4.pdf|results]]
+
 
||
 
||
 +
|| *no lab
 
|-
 
|-
 
|| week 7
 
|| week 7
 
|| feb 25
 
|| feb 25
||
+
|| *project build 1 due (feb 25, 26 - presentations)<br>[[Media:grades.build1.online.SOEN6441.paquet.2021.4.pdf|results]]
*project build 1 due (feb 25, 26 - presentations - no lecture)<br>[[Media:grades.build1.online.SOEN6441.paquet.2021.4.pdf|results]]
+
|| *none
||
+
|| *none
 
|-
 
|-
 
|| midterm break
 
|| midterm break
 
|| mar 1- mar 5
 
|| mar 1- mar 5
 +
||
 
||
 
||
 
||
 
||
Line 97: Line 97:
 
|| week 8
 
|| week 8
 
|| mar 11
 
|| mar 11
||
+
|| *[[Media:Build2Grading.SOEN6441.2021.4.pdf|project build 2 requirements/grading scheme (handout)]]
*[[Media:Build2Grading.SOEN6441.2021.4.pdf|project build 2 requirements/grading scheme (handout)]]
+
|| *[[Media:SOEN6441.8.refactoring.ppt|refactoring]]
||
+
  *[[Media:SOEN6441.9.patterns.ppt|design patterns in Java]]
*[[Media:SOEN6441.8.refactoring.ppt|refactoring]]
+
  *[[Media:Java Patterns.zip|source code for pattern examples]]
*[[Media:SOEN6441.9.patterns.ppt|design patterns in Java]]
+
|| *design patterns - state and adapter
*[[Media:Java Patterns.zip|source code for pattern examples]]
+
 
|-
 
|-
 
|| week 9
 
|| week 9
 
|| mar 18
 
|| mar 18
||
+
|| *design patterns - continued
||
+
|| *design patterns - strategy
 
|-
 
|-
 
|| week 10
 
|| week 10
 
|| mar 25
 
|| mar 25
||
+
|| *[[project build 2 due (mar 25, 26 - presentations)]] <br>[[Media:grades.build2.online.SOEN6441.paquet.2021.4.pdf|results]]
*[[project build 2 due (mar 25, 26 - presentations - no lecture)]] <br>[[Media:grades.build2.online.SOEN6441.paquet.2021.4.pdf|results]]
+
|| *none
||
+
|| *none
 
|-
 
|-
 
|| week 11
 
|| week 11
 
|| apr 1
 
|| apr 1
||
+
|| *[[Media:Build3Grading.SOEN6441.2021.4.pdf|project build 3 requirements/grading scheme (handout)]]
*[[Media:Build3Grading.SOEN6441.2021.4.pdf|project build 3 requirements/grading scheme (handout)]]
+
|| *[[Media:SOEN6441.10.exceptions.ppt|fault tolerance through exception handling]]
||
+
  *[[Media:SOEN6441.code.exceptions.zip|source code for exception examples]]
*[[Media:SOEN6441.10.exceptions.ppt|fault tolerance through exception handling]]
+
|| *exception handling
*[[Media:SOEN6441.code.exceptions.zip|source code for exception examples]]
+
 
|-
 
|-
 
|| week 12
 
|| week 12
 
|| apr 8
 
|| apr 8
 
||
 
||
||
+
|| *[[Media:SOEN6441.11.generics.ppt|Java generics]]
*[[Media:SOEN6441.11.generics.ppt|Java generics]]
+
  *[[Media:SOEN6441.code.generics.zip|source code for Java generics examples]]
*[[Media:SOEN6441.code.generics.zip|source code for Java generics examples]]
+
|| *java generics
 
|-
 
|-
 
|| week 13
 
|| week 13
 
|| apr 15
 
|| apr 15
||
+
|| *project build 3 due (apr 15, 16- presentations)<br>[[Media:grades.build3.online.SOEN6441.paquet.2019.2.pdf|results]]
*project build 3 due (apr 15, 16- presentations - no lecture)<br>[[Media:grades.build3.online.SOEN6441.paquet.2019.2.pdf|results]]
+
|| *none
||
+
|| *none
 
|-
 
|-
 
|| exam week
 
|| exam week

Revision as of 21:29, 6 January 2021

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 *project description (handout) *introduction to the course & project *no lab
week 2 jan 22 *team lists due - jan 22 *software development process
  *extreme programming
*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