Difference between revisions of "SOEN6441 - winter 2024"
From Dr. Joey Paquet Web Site
(→Lecture Schedule) |
|||
(27 intermediate revisions by one user not shown) | |||
Line 19: | Line 19: | ||
|| instructor's office hours || <tt>M-------</tt> || <tt>11:00-13:00</tt> || ER 10-19<br>[https://concordia-ca.zoom.us/j/84565410380 zoom] || Joey Paquet || | || instructor's office hours || <tt>M-------</tt> || <tt>11:00-13:00</tt> || ER 10-19<br>[https://concordia-ca.zoom.us/j/84565410380 zoom] || Joey Paquet || | ||
|- | |- | ||
− | || lab WW WI || <tt>---J---</tt> || <tt>20:30-22:20</tt> || | + | || lab WW WI || <tt>---J---</tt> || <tt>20:30-22:20</tt> || H-907 || Sahota, Pankaj Deep || <tt>pankajdeepsahota2020@gmail.com</tt> |
|- | |- | ||
− | || lab WW WJ || <tt>---J---</tt> || <tt>15:45-17:35</tt> || | + | || lab WW WJ || <tt>---J---</tt> || <tt>15:45-17:35</tt> || H-843 || Jafarpour, Hamed || <tt>jafarpour.ha@gmail.com</tt> |
|- | |- | ||
− | || lab WW WK || <tt>--W----</tt> || <tt>20:30-22:20</tt> || | + | || lab WW WK || <tt>--W----</tt> || <tt>20:30-22:20</tt> || H-907 || Raza, Ahmad Faraz || <tt>ahmadfaraz123450@gmail.com</tt> |
+ | |- | ||
+ | || lab WW WL || <tt>---J---</tt> || <tt>15:45-17:35</tt> || H-847 || Prajapati, Harshil || <tt>prajapatiharshil3107@gmail.com</tt> | ||
|- | |- | ||
|| marker || || || || Sahota, Pankaj Deep || <tt>pankajdeepsahota2020@gmail.com</tt> | || marker || || || || Sahota, Pankaj Deep || <tt>pankajdeepsahota2020@gmail.com</tt> | ||
Line 31: | Line 33: | ||
|| marker || || || || Raza, Ahmad Faraz | || marker || || || || Raza, Ahmad Faraz | ||
|| <tt>ahmadfaraz123450@gmail.com</tt> | || <tt>ahmadfaraz123450@gmail.com</tt> | ||
− | |} | + | |} |
==Lecture Schedule== | ==Lecture Schedule== | ||
Line 45: | Line 47: | ||
|| jan 18 | || jan 18 | ||
|| | || | ||
− | *[[Media:Project.SOEN6441.2024.4.pdf| | + | *[ [[Media:Project.SOEN6441.2024.4.pdf|handout]] ] [ [https://bit.ly/3ovwL8l video] ] project description (handout) |
|| | || | ||
− | *[[Media:SOEN6441.0.introduction. | + | *[ [[Media:SOEN6441.0.introduction.2024.4.ppt|slides]] ] [ [https://bit.ly/2MMvdsw video] ] introduction to the course and project |
|| | || | ||
*none | *none | ||
Line 54: | Line 56: | ||
|| jan 25 | || jan 25 | ||
|| | || | ||
− | *team lists due | + | *team lists due (jan 26) |
|| | || | ||
− | *[[Media:SOEN6441.1.process.ppt| | + | *[ [[Media:SOEN6441.1.process.ppt|slides]] ] [ [https://bit.ly/38YTrbJ video] ] software development process |
− | *[[Media:SOEN6441.2.extremeprogramming.ppt| | + | *[ [[Media:SOEN6441.2.extremeprogramming.ppt|slides]] ] [ [https://bit.ly/3sDdunP video] ] extreme programming |
|| | || | ||
*introduction | *introduction | ||
Line 64: | Line 66: | ||
|| feb 1 | || feb 1 | ||
|| | || | ||
+ | *[ [[Media:Build1Grading.SOEN6441.2024.4.pdf|handout]] ] [ [https://bit.ly/3rldiIt video] ] project build 1 requirements/grading scheme | ||
|| | || | ||
− | *[[Media:SOEN6441.3.repository.ppt| | + | *[ [[Media:SOEN6441.3.repository.ppt|slides]] ] [ [https://bit.ly/3chX1zI video] ] revision control systems |
− | *[[Media:SOEN6441.4.conventions.ppt| | + | *[ [[Media:SOEN6441.4.conventions.ppt|slides]] ] [ [https://bit.ly/3iQRH7M video] ] coding conventions |
|| | || | ||
− | *[[Media:SOEN6441.lab02.repositories.2021.4.pptx| | + | *[ [[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| | + | *[ [[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 |
|- | |- | ||
|| week 4 | || week 4 | ||
|| feb 8 | || feb 8 | ||
|| | || | ||
− | |||
|| | || | ||
− | *[[Media:SOEN6441.5.apidocgen.ppt| | + | *[ [[Media:SOEN6441.5.apidocgen.ppt|slides]] ] [ [https://bit.ly/3rtv8cz video] ] API documentation generation tools: Javadoc |
− | *[[Media:SOEN6441.6.unittesting.ppt| | + | *[ [[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| | + | *[ [[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| | + | *[ [[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 | ||
|| feb 15 | || feb 15 | ||
|| | || | ||
+ | *practice examination during labs (see moodle) | ||
|| | || | ||
− | *[[Media:SOEN6441.7.MVC.ppt| | + | *[ [[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| | + | *[ [[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 | ||
|- | |- | ||
|| week 6 | || week 6 | ||
|| feb 22 | || feb 22 | ||
− | |||
− | |||
|| | || | ||
− | * | + | *project build 1 due (feb 18) (see moodle) |
+ | *[schedule] project build 1 presentations (feb 19-21) | ||
+ | *[ [[Media:Build2Grading.SOEN6441.2024.4.pdf|handout]] ] [ [https://bit.ly/3ethJ0Q video] ] project build 2 requirements/grading scheme | ||
+ | || | ||
+ | *[ [[Media:SOEN6441.8.refactoring.ppt|slides]] ] [ [https://bit.ly/30x16sA video] ] refactoring | ||
+ | *[ [[Media:SOEN6441.9.patterns.ppt|slides]] ] [ [https://bit.ly/3v73ZOZ video] ] [ [[Media:SOEN6441.source.state-command.paquet.2021.4.zip|code]] ] design patterns - introduction/concept | ||
|| | || | ||
− | * | + | *programmer on duty |
|- | |- | ||
|| midterm break | || midterm break | ||
Line 108: | Line 115: | ||
|| mar 7 | || mar 7 | ||
|| | || | ||
− | * | + | *midterm examination (mar 7) (see moodle) |
|| | || | ||
− | * | + | *midterm examination is held during lecture time |
|| | || | ||
*none | *none | ||
Line 117: | Line 124: | ||
|| mar 14 | || mar 14 | ||
|| | || | ||
− | + | || | |
− | | | + | *[ [[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 |
− | + | ||
− | *[ [[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 | + | |
|| | || | ||
*[ [[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 | *[ [[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 | ||
Line 127: | Line 132: | ||
|| mar 21 | || mar 21 | ||
|| | || | ||
+ | *project build 2 due (mar 17) (see moodle) | ||
+ | *[schedule] project build 2 presentations (mar 18-20) | ||
+ | *[ [[Media:Build3Grading.SOEN6441.2024.4.pdf|handout]] ] [ [https://bit.ly/3ethJ0Q video] ] project build 3 requirements/grading scheme | ||
|| | || | ||
− | *[ [[Media:SOEN6441.9.patterns.ppt|slides]] ] [ [https://bit.ly/2P4zxok video] ] [ [[Media:SOEN6441.source.adapter-strategy.paquet.2021.4.zip|code]] ] design patterns - | + | *[ [[Media:SOEN6441.9.patterns.ppt|slides]] ] [ [https://bit.ly/2P4zxok video] ] [ [[Media:SOEN6441.source.adapter-strategy.paquet.2021.4.zip|code]] ] design patterns - strategy and adapter pattern |
|| | || | ||
*[ [[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 | *[ [[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 | ||
Line 135: | Line 143: | ||
|| mar 28 | || mar 28 | ||
|| | || | ||
− | |||
|| | || | ||
− | * | + | *[ [[Media:SOEN6441.10.exceptions.ppt|slides]] ] [ [https://bit.ly/3rLbo3S video] ] [ [[Media:SOEN6441.code.exceptions.zip|code]] ] fault tolerance through 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 11 | || week 11 | ||
|| apr 4 | || apr 4 | ||
|| | || | ||
− | |||
|| | || | ||
− | *[ [[Media:SOEN6441. | + | *[ [[Media:SOEN6441.11.generics.ppt|slides]] ] [ [https://bit.ly/31SdggI video] ] [ [[Media:SOEN6441.code.generics.zip|code]] ] Java generics |
|| | || | ||
− | *[ [[Media:SOEN6441. | + | *[ [[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 12 | || week 12 | ||
|| apr 11 | || apr 11 | ||
|| | || | ||
+ | *project build 3 due (apr 9) (see moodle) | ||
+ | *[https://docs.google.com/spreadsheets/d/1cVtgFRLAteOGhN8OTKMO_KC4H14I5vHZPR_d8b2akW0/edit#gid=1074696973 schedule] project build 3 presentations (apr 10-12) | ||
|| | || | ||
− | * | + | *none - contact hours with the instructor for project demonstrations |
− | + | || | |
− | + | *final examination practice (see moodle quiz) | |
− | + | ||
− | + | ||
− | + | ||
− | || | + | |
− | * | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
|| exam week | || exam week | ||
||apr 18 - may 1 | ||apr 18 - may 1 | ||
|| | || | ||
− | *final examination ( | + | *final examination (April 25th, 19h00-22h00) |
|| | || | ||
|| | || | ||
Line 177: | Line 176: | ||
==Course Material and Resources== | ==Course Material and Resources== | ||
− | *[[Media:Syllabus.SOEN6441.paquet. | + | *[[Media:Syllabus.SOEN6441.paquet.2024.4.pdf|Course outline]] |
*[https://fis.encs.concordia.ca/eas/ ENCS Electronic Student Submission System] | *[https://fis.encs.concordia.ca/eas/ ENCS Electronic Student Submission System] | ||
− |
Latest revision as of 13:33, 12 April 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 | H-907 | Sahota, Pankaj Deep | pankajdeepsahota2020@gmail.com |
lab WW WJ | ---J--- | 15:45-17:35 | H-843 | Jafarpour, Hamed | jafarpour.ha@gmail.com |
lab WW WK | --W---- | 20:30-22:20 | H-907 | Raza, Ahmad Faraz | ahmadfaraz123450@gmail.com |
lab WW WL | ---J--- | 15:45-17:35 | H-847 | Prajapati, Harshil | prajapatiharshil3107@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 |
| ||
week 2 | jan 25 |
|
| |
week 3 | feb 1 | |||
week 4 | feb 8 | |||
week 5 | feb 15 |
|
||
week 6 | feb 22 |
| ||
midterm break | feb 26 - mar 3 | |||
week 7 | mar 7 |
|
|
|
week 8 | mar 14 | |||
week 9 | mar 21 | |||
week 10 | mar 28 | |||
week 11 | apr 4 | |||
week 12 | apr 11 |
|
|
|
exam week | apr 18 - may 1 |
|