Difference between revisions of "SOEN6441 - winter 2021"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Lecture Schedule)
(Lecture Schedule)
 
(42 intermediate revisions by one user not shown)
Line 76: Line 76:
 
||  
 
||  
 
*[[Media:SOEN6441.5.apidocgen.ppt|[slides]]] [ [https://bit.ly/3rtv8cz video] ] API documentation generation tools: Javadoc
 
*[[Media:SOEN6441.5.apidocgen.ppt|[slides]]] [ [https://bit.ly/3rtv8cz video] ] API documentation generation tools: Javadoc
*[[Media:SOEN6441.6.unittesting.ppt|[slides]]] [ [https://bit.ly/3rdLKEQ video] ] unit testing frameworks: JUnit
+
*[[Media:SOEN6441.6.unittesting.ppt|[slides]]] [ [https://bit.ly/3rdLKEQ video] ] [[Media:JUnit3and4.zip|[code]]] unit testing frameworks: JUnit
*[[Media:JUnit3and4.zip|JUnit examples from the slides]]
+
*[[Media:JUnitTutorial.zip|tutorial on JUnit in Eclipse]]
+
 
||  
 
||  
 
*[[Media:SOEN6441.lab03.Javadoc.2021.4.pptx|[slides]]] [ [https://concordia.yuja.com/V/Video?v=271897&node=1055802&a=1449572281&autoplay=1 video] ] Javadoc
 
*[[Media:SOEN6441.lab03.Javadoc.2021.4.pptx|[slides]]] [ [https://concordia.yuja.com/V/Video?v=271897&node=1055802&a=1449572281&autoplay=1 video] ] Javadoc
*[[Media:SOEN6441.lab03.JUnit.2021.4.pptx|[slides]]] [ [https://concordia.yuja.com/V/Video?v=271155&node=1053832&a=1015456312&autoplay=1 video] ] JUnit
+
*[[Media:SOEN6441.lab03.JUnit.2021.4.pptx|[slides]]] [ [https://concordia.yuja.com/V/Video?v=271155&node=1053832&a=1015456312&autoplay=1 video] ] [ [[Media:JUnitTutorial.zip|tutorial]] ] JUnit
 
|-
 
|-
 
|| week 5
 
|| week 5
Line 87: Line 85:
 
||
 
||
 
||  
 
||  
*[[Media:SOEN6441.7.MVC.ppt|model view controller architecture and observer pattern]]
+
*[[Media:SOEN6441.7.MVC.ppt|[slides]]] [ [https://bit.ly/3cZxWtP video] ] [[Media:ClockMVCDemo.zip|[code]]] model view controller architecture and observer pattern
*[[Media:ClockObserverDemoJavaObserver.zip|source code for Observer example using (deprecated) Java Observer/Observable]]
+
*[[Media:ClockObserverDemo.zip|source code for Observer example]]
+
 
||  
 
||  
*MVC and observer pattern
+
*[[Media:SOEN6441.lab04.MVC.2021.4.pptx|[slides]]] [ [https://concordia.yuja.com/V/Video?v=279219&node=1071566&a=572515194&autoplay=1 video] ] [[Media:ClockMVCDemo.zip|[code]]] 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
 
||
 
||
 
*none
 
*none
Line 105: Line 101:
 
|| 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)
 
||  
 
||  
 
*none
 
*none
Line 120: Line 116:
 
|| mar 11
 
|| mar 11
 
||  
 
||  
*[[Media:Build2Grading.SOEN6441.2021.4.pdf|project build 2 requirements/grading scheme (handout)]]
+
*[ [[Media:Build2Grading.SOEN6441.2021.4.pdf|handout]] ] [ [https://bit.ly/3ethJ0Q video] ] project build 2 requirements/grading scheme
 
||  
 
||  
*[[Media:SOEN6441.8.refactoring.ppt|refactoring]]
+
*[ [[Media:SOEN6441.8.refactoring.ppt|slides]] ] [ [https://bit.ly/30x16sA video] ] refactoring
*[[Media:SOEN6441.9.patterns.ppt|design patterns in Java]]
+
*[ [[Media:SOEN6441.9.patterns.ppt|slides]] ] [ [https://bit.ly/3v73ZOZ video] ] [ [[Media:SOEN6441.source.state-command.paquet.2021.4.zip|code]] ] design patterns - state and command pattern
*[[Media:Java Patterns.zip|source code for pattern examples]]
+
 
||  
 
||  
*design patterns - state and adapter
+
*[ [[Media:SOEN6441.lab07.design-command-patterns.ppt|slides]] ] [ [https://concordia.yuja.com/V/Video?v=301574&node=1130682&a=1024526759&autoplay=1 video] ] [ [[Media:SOEN6441.source.state-command.paquet.2021.4.zip|code]] ] design patterns - state and command
 
|-
 
|-
 
|| week 9
 
|| week 9
Line 132: Line 127:
 
||  
 
||  
 
||
 
||
*design patterns - continued
+
*[ [[Media:SOEN6441.9.patterns.ppt|slides]] ] [ [https://bit.ly/2P4zxok video] ] [ [[Media:SOEN6441.source.adapter-strategy.paquet.2021.4.zip|code]] ] design patterns - adapter and strategy pattern
 
||  
 
||  
*design patterns - strategy
+
*[ [[Media:SOEN6441.lab09.strategy-adapter-patterns.2021.4.pptx|slides]] ] [ [https://concordia.yuja.com/V/Video?v=308656&node=1139820&a=1245114870&autoplay=1 video] ] [ [[Media:SOEN6441.strategy-adapter.2021.4.zip|code]] ] design patterns - strategy and adapter
 
|-
 
|-
 
|| 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)
 
||  
 
||  
 
*none
 
*none
Line 148: Line 143:
 
|| apr 1
 
|| apr 1
 
||  
 
||  
*[[Media:Build3Grading.SOEN6441.2021.4.pdf|project build 3 requirements/grading scheme (handout)]]
+
*[ [[Media:Build3Grading.SOEN6441.2021.4.pdf|handout]] ] [ [https://bit.ly/31CNyMM video] ] project build 3 requirements/grading scheme
 
||  
 
||  
*[[Media:SOEN6441.10.exceptions.ppt|fault tolerance through exception handling]]
+
*[ [[Media:SOEN6441.10.exceptions.ppt|slides]] ] [ [https://bit.ly/3rLbo3S video] ] [ [[Media:SOEN6441.code.exceptions.zip|code]] ] fault tolerance through exception handling
*[[Media:SOEN6441.code.exceptions.zip|source code for exception examples]]
+
 
||  
 
||  
*exception handling
+
*[ [[Media:SOEN6441.lab11.exception-handling.2021.4.pptx|slides]] ] [ [https://concordia.yuja.com/V/Video?v=323353&node=1182285&a=1697622741&autoplay=1 video] ] [ [[Media:SOEN6441.code.exceptions.zip|code]] ] exception handling
 
|-
 
|-
 
|| week 12
 
|| week 12
Line 159: Line 153:
 
||
 
||
 
||  
 
||  
*[[Media:SOEN6441.11.generics.ppt|Java generics]]
+
*[ [[Media:SOEN6441.11.generics.ppt|slides]] ] [ [https://bit.ly/31SdggI video] ] [ [[Media:SOEN6441.code.generics.zip|code]] ] Java generics
*[[Media:SOEN6441.code.generics.zip|source code for Java generics examples]]
+
 
||  
 
||  
*java generics
+
*[ [[Media:SOEN6441.lab12.generics.2021.4.ppt|slides]] ] [ [https://concordia.yuja.com/Dashboard/Permalink?authCode=748164266&b=338734&linkType=video video] ] [ [[Media:SOEN6441.code.generics.zip|code]] ] java generics
 
|-
 
|-
 
|| week 13
 
|| week 13
 
|| apr 15
 
|| apr 15
 
||  
 
||  
*project build 3 due (apr 15, 16- presentations)<br>results
+
*project build 3 due (apr 15, 16- presentations)
 
||  
 
||  
 
*none
 
*none
Line 176: Line 169:
 
||apr 24 - may 9
 
||apr 24 - may 9
 
||
 
||
*final examination (TBD) [[Media:Grades.final.online.SOEN6441.paquet.2021.4.pdf|results]]
+
*final examination (apr 29 - 9h00-12h00am - confirmed)  
 +
||
 
||
 
||
 
|}
 
|}

Latest revision as of 16:05, 7 April 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 Piyush Kumar piyush.pku@gmail.com
lab WW WJ ---J--- 15:45-17:35 zoom Komal Panchal komal31p@gmail.com
lab WW WK --W---- 20:30-22:20 zoom Vashisht Marhwal v_marhwa@live.concordia.ca
marker Piyush Kumar
marker Komal Panchal
marker Vashisht Marhwal

Lecture Schedule

wk date event/handout lecture lab
week 1 jan 14
  • no lab
week 2 jan 22
  • team lists due - jan 22
  • introduction
week 3 jan 28
week 4 feb 4
week 5 feb 11
week 6 feb 18
  • midterm examination
  • none
  • none
week 7 feb 25
  • project build 1 due (feb 25, 26 - presentations)
  • none
  • none
midterm break mar 1- mar 5
week 8 mar 11
  • [ handout ] [ video ] project build 2 requirements/grading scheme
week 9 mar 18
  • [ slides ] [ video ] [ code ] design patterns - adapter and strategy pattern
week 10 mar 25
  • project build 2 due (mar 25, 26 - presentations)
  • none
  • none
week 11 apr 1
  • [ handout ] [ video ] project build 3 requirements/grading scheme
week 12 apr 8
week 13 apr 15
  • project build 3 due (apr 15, 16- presentations)
  • none
  • none
exam week apr 24 - may 9
  • final examination (apr 29 - 9h00-12h00am - confirmed)

Course Material and Resources