From Dr. Joey Paquet Web Site
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
|
- [[[Media:Project.SOEN6441.2024.4.pdf|handout]]] [ video ] project description (handout)
|
|
|
week 2
|
jan 25
|
|
- [[[Media:SOEN6441.1.process.ppt|slides]]] [ video ] software development process
- [[[Media:SOEN6441.2.extremeprogramming.ppt|slides]]] [ video ] extreme programming
|
|
week 3
|
feb 1
|
- [ handout ] [ video ] project build 1 requirements/grading scheme
|
- [[[Media:SOEN6441.3.repository.ppt|slides]]] [ video ] revision control systems
- [[[Media:SOEN6441.4.conventions.ppt|slides]]] [ video ] coding conventions
|
- [[[Media:SOEN6441.lab02.repositories.2021.4.pptx|slides]]] [ video ] repositories
- [[[Media:SOEN6441.lab02.continuousintergration.2021.4.pptx|slides]]] [ video ] continuous integration
|
week 4
|
feb 8
|
|
- [[[Media:SOEN6441.5.apidocgen.ppt|slides]]] [ video ] API documentation generation tools: Javadoc
- [[[Media:SOEN6441.6.unittesting.ppt|slides]]] [ video ] [code] unit testing frameworks: JUnit
|
- [[[Media:SOEN6441.lab03.Javadoc.2021.4.pptx|slides]]] [ video ] Javadoc
- [[[Media:SOEN6441.lab03.JUnit.2021.4.pptx|slides]]] [ video ] [ tutorial ] JUnit
|
week 5
|
feb 15
|
- practice examination (see moodle)
|
- [[[Media:SOEN6441.7.MVC.ppt|slides]]] [ video ] [code] model view controller architecture and observer pattern
|
- [[[Media:SOEN6441.lab04.MVC.2021.4.pptx|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
|
|
|
midterm break
|
feb 26 - mar 3
|
|
|
|
week 7
|
mar 7
|
- midterm examination (mar 7) (see moodle)
|
- midterm examination is held during lecture time
|
|
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
|
|
|
|
Course Material and Resources