Difference between revisions of "SOEN6441 - winter 2024"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Lecture Schedule)
(Lecture Schedule)
Line 45: Line 45:
 
|| jan 18
 
|| jan 18
 
||  
 
||  
*[[[Media:Project.SOEN6441.2024.4.pdf|handout]]] [ [https://bit.ly/3ovwL8l video] ] project description (handout)
+
*[ [[Media:Project.SOEN6441.2024.4.pdf|handout]] ] [ [https://bit.ly/3ovwL8l video] ] project description (handout)
 
||  
 
||  
*[ [[Media:SOEN6441.0.introduction.2021.4.ppt|slides]]] [ [https://bit.ly/2MMvdsw video] ] introduction to the course
+
*[ [[Media:SOEN6441.0.introduction.2021.4.ppt|slides]] ] [ [https://bit.ly/2MMvdsw video] ] introduction to the course
 
||  
 
||  
 
*none
 
*none
Line 56: Line 56:
 
*team lists due (jan 26)
 
*team lists due (jan 26)
 
||  
 
||  
*[[[Media:SOEN6441.1.process.ppt|slides]]] [ [https://bit.ly/38YTrbJ video] ] software development process
+
*[ [[Media:SOEN6441.1.process.ppt|slides]] ] [ [https://bit.ly/38YTrbJ video] ] software development process
*[[[Media:SOEN6441.2.extremeprogramming.ppt|slides]]] [ [https://bit.ly/3sDdunP video] ] extreme programming
+
*[ [[Media:SOEN6441.2.extremeprogramming.ppt|slides]] ] [ [https://bit.ly/3sDdunP video] ] extreme programming
 
||  
 
||  
 
*introduction
 
*introduction
Line 66: Line 66:
 
*[ [[Media:Build1Grading.SOEN6441.2024.4.pdf|handout]] ] [ [https://bit.ly/3rldiIt video] ] project build 1 requirements/grading scheme
 
*[ [[Media:Build1Grading.SOEN6441.2024.4.pdf|handout]] ] [ [https://bit.ly/3rldiIt video] ] project build 1 requirements/grading scheme
 
||  
 
||  
*[[[Media:SOEN6441.3.repository.ppt|slides]]] [ [https://bit.ly/3chX1zI video] ] revision control systems
+
*[ [[Media:SOEN6441.3.repository.ppt|slides]] ] [ [https://bit.ly/3chX1zI video] ] revision control systems
*[[[Media:SOEN6441.4.conventions.ppt|slides]]] [ [https://bit.ly/3iQRH7M video] ] coding conventions
+
*[ [[Media:SOEN6441.4.conventions.ppt|slides]] ] [ [https://bit.ly/3iQRH7M video] ] coding conventions
 
||  
 
||  
*[[[Media:SOEN6441.lab02.repositories.2021.4.pptx|slides]]] [ [https://concordia.yuja.com/V/Video?v=264123&node=1037383&a=1604069730&autoplay=1 video] ] repositories
+
*[ [[Media:SOEN6441.lab02.repositories.2021.4.pptx|slides]] ] [ [https://concordia.yuja.com/V/Video?v=264123&node=1037383&a=1604069730&autoplay=1 video] ] repositories
 
*[[[Media:SOEN6441.lab02.continuousintergration.2021.4.pptx|slides]]] [ [https://concordia.yuja.com/V/Video?v=264123&node=1039799&a=1604069730&autoplay=1 video] ] continuous integration
 
*[[[Media:SOEN6441.lab02.continuousintergration.2021.4.pptx|slides]]] [ [https://concordia.yuja.com/V/Video?v=264123&node=1039799&a=1604069730&autoplay=1 video] ] continuous integration
 
|-
 
|-
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] ] [[Media:JUnit3and4.zip|[code]]] unit testing frameworks: JUnit
+
*[ [[Media:SOEN6441.6.unittesting.ppt|slides]] ] [ [https://bit.ly/3rdLKEQ video] ] [[Media:JUnit3and4.zip|[code]]] unit testing frameworks: JUnit
 
||  
 
||  
*[[[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] ] [ [[Media:JUnitTutorial.zip|tutorial]] ] 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 87:
 
*practice examination (see moodle)
 
*practice examination (see moodle)
 
||  
 
||  
*[[[Media:SOEN6441.7.MVC.ppt|slides]]] [ [https://bit.ly/3cZxWtP video] ] [[Media:ClockMVCDemo.zip|[code]]] 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: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
+
*[ [[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
 
*practice examination during labs
 
*practice examination during labs
 
|-
 
|-

Revision as of 16:09, 14 January 2024

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 H-531 Joey Paquet paquet@encs.concordia.ca
instructor's office hours M------- 11:00-13:00 ER 10-19
zoom
Joey Paquet
lab WW WI ---J--- 20:30-22:20 TBD Sahota, Pankaj Deep pankajdeepsahota2020@gmail.com
lab WW WJ ---J--- 15:45-17:35 TBD Jafarpour, Hamed jafarpour.ha@gmail.com
lab WW WK --W---- 20:30-22:20 TBD Raza, Ahmad Faraz ahmadfaraz123450@gmail.com
marker Sahota, Pankaj Deep pankajdeepsahota2020@gmail.com
marker Jafarpour, Hamed jafarpour.ha@gmail.com
marker Raza, Ahmad Faraz ahmadfaraz123450@gmail.com

Lecture Schedule

wk date event/handout lecture lab
week 1 jan 18
  • none
week 2 jan 25
  • team lists due (jan 26)
  • introduction
week 3 feb 1
  • [ handout ] [ video ] project build 1 requirements/grading scheme
  • [ slides ] [ video ] repositories
  • [[[Media:SOEN6441.lab02.continuousintergration.2021.4.pptx|slides]]] [ video ] continuous integration
week 4 feb 8
week 5 feb 15
  • practice examination (see moodle)
  • [ slides ] [ video ] [code] MVC and observer pattern
  • practice examination during labs
week 6 feb 22
  • project build 1 due (feb 18) (see moodle)
  • [schedule] project build 1 presentations (feb 19-21)
  • [ handout ] [ video ] project build 2 requirements/grading scheme
  • programmer on duty
midterm break feb 26 - mar 3
week 7 mar 7
  • midterm examination (mar 7) (see moodle)
  • midterm examination is held during lecture time
  • none
week 8 mar 14
week 9 mar 21
  • project build 2 due (mar 17) (see moodle)
  • [schedule] project build 2 presentations (mar 18-20)
  • [ handout ] [ video ] project build 2 requirements/grading scheme
  • [ slides ] [ video ] [ code ] design patterns - adapter and strategy pattern
week 10 mar 28
week 11 apr 4
week 12 apr 11
  • project build 3 due (apr 9) (see moodle)
  • [schedule] project build 2 presentations (apr 10-12)
exam week apr 18 - may 1
  • final examination (TBD)

Course Material and Resources