Difference between revisions of "SOEN6441 - fall 2014"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
(Lecture Schedule)
(Lecture Schedule)
 
(37 intermediate revisions by one user not shown)
Line 3: Line 3:
 
'''SOEN 6441 - Advanced programming practices''' (4 credits)
 
'''SOEN 6441 - Advanced programming practices''' (4 credits)
  
Problems of writing and managing code. Managing complexity: programming process. Pragmatic Programming. Coding conventions, software documentation. Software configuration management. Advanced debugging techniques: program tracing, dynamic inspection and tools. Testing: coding techniques for testing software. Multithreading concurrency and distributed programming. Multi-language programming. A project. Laboratory: two hours per week. Note: Students who have received credit for COMP 6441 may not take this course for credit.
+
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==
 
==Course Schedule and Contacts==
  
Line 16: Line 16:
 
! {{tableHeaderCell}} | web page
 
! {{tableHeaderCell}} | web page
 
|-
 
|-
|| lecture U      || <tt>M------</tt> || <tt>14:45-17:30</tt> || <tt>H-431</tt>    || Paquet, J. || paquet@encs.concordia.ca  ||
+
|| lecture U      || <tt>M------</tt> || <tt>14:45-17:30</tt> || <tt>H-431</tt>    || Paquet, Joey      || paquet@encs.concordia.ca  ||
 
|-
 
|-
|| office hours D  || <tt>--W---</tt> || <tt>11:00-13:00</tt> || <tt>EV-3-221</tt>  || Paquet, J. ||                            ||
+
|| office hours D  || <tt>---—F--</tt> || <tt>10:00-12:00</tt> || <tt>EV-3-221</tt>  || Paquet, Joey      ||                            ||
 
|-
 
|-
|| lab hours UI    || <tt>M------</tt> || <tt>12:45-14:35</tt> || <tt>H-929</tt>    || TBA        ||                           ||  
+
|| lab hours UI    || <tt>M------</tt> || <tt>12:45-14:35</tt> || <tt>H-929</tt>    || Patel, Jaiminkumar || jai_p@encs.concordia.ca    ||  
 
|-
 
|-
|| lab hours UJ    || <tt>-T-----</tt> || <tt>17:45-19:35</tt> || <tt>H-929</tt>    || Ricci, D.  || da_ricci@encs.concordia.ca ||  
+
|| lab hours UJ    || <tt>-T-----</tt> || <tt>17:45-19:35</tt> || <tt>H-929</tt>    || Ricci, Daniel      || da_ricci@encs.concordia.ca ||  
 
|}
 
|}
  
 
==Lecture Schedule==
 
==Lecture Schedule==
NOTE: Links in red are pointing to last year's material and will be updated as the semester proceeds.
+
NOTE: Links in red are pointing to previous material and will be updated as the semester proceeds.
  
 
{| {{simpleTable}}
 
{| {{simpleTable}}
Line 46: Line 46:
 
*[sep 19] team lists due
 
*[sep 19] team lists due
 
||
 
||
*[[extreme programming|<span style="color:#FF0000">extreme programming]]
+
*[[Media:SOEN6441.process.ppt|software development process]]
*[[incremental models|<span style="color:#FF0000">incremental software development]]
+
*[[Media:SOEN6441.extremeprogramming.ppt|extreme programming]]
*[[agile software development|<span style="color:#FF0000">agile vs predictive methods]]
+
 
|-
 
|-
 
|| week 3
 
|| week 3
Line 54: Line 53:
 
||
 
||
 
||
 
||
*[[Media:SOEN6441.repository.ppt|Software repositories]]
+
*[[Media:SOEN6441.repository.ppt|software repositories]]
*[[implementation|<span style="color:#FF0000">coding style and standards]]
+
*[[Media:SOEN6441.conventions.ppt|coding conventions]]
*[[Media:java_doc.ppt|<span style="color:#FF0000">inline documentation tools: javadoc]]
+
*[[Media:SOEN6441.apidocgen.ppt|API documentation generation tools: Javadoc]]
 
|-
 
|-
 
|| week 4
 
|| week 4
 
|| oct 29
 
|| oct 29
 
||
 
||
*[[Media:Build1Grading.SOEN6441.2011.2.pdf|<span style="color:#FF0000">Project build 1 requirements/grading scheme]]
+
*[[Media:Build1Grading.SOEN6441.2014.2.pdf|project build 1 requirements/grading scheme]]
 
||
 
||
*[[Media:JUnit_eclipse.ppt|<span style="color:#FF0000">Using JUnit in Eclipse]]
+
*[[Media:SOEN6441.unittesting.ppt|unit testing frameworks: JUnit]]
*[[Media:JUnitTutorial.zip|<span style="color:#FF0000">Tutorial on JUnit in Eclipse]]
+
*[[Media:JUnit3and4.zip|JUnit examples from the slides]]
 +
*[[Media:JUnitTutorial.zip|tutorial on JUnit in Eclipse]]
 
|-
 
|-
 
|| week 5
 
|| week 5
Line 70: Line 70:
 
||
 
||
 
||
 
||
*[[Media:Design patterns java.ppt|<span style="color:#FF0000">Design patterns in Java]]
+
*[[Media:SOEN6441.MVC.ppt|model view controller architecture and observer pattern]]
 +
*[[Media:ClockObserverDemo.zip|source code for observer example]]
 
|-
 
|-
 
||  
 
||  
Line 88: Line 89:
 
|| oct 27
 
|| oct 27
 
||
 
||
*[[Project build 1 presentations schedule SOEN6411 Fall 2011|<span style="color:#FF0000">project build 1 due (presentations-no lecture)]]
+
*[[Project build 1 presentations schedule SOEN6411 Fall 2011|project build 1 due (presentations-no lecture)]]
 
||
 
||
 
|-
 
|-
Line 94: Line 95:
 
|| nov 3
 
|| nov 3
 
||
 
||
*[[Media:Build2Grading.SOEN6441.2011.2.pdf|<span style="color:#FF0000">Project build 2 requirements/grading scheme (to be updated!)]]
+
*[[Media:Build2Grading.SOEN6441.2014.2.pdf|project build 2 requirements/grading scheme]]
 
||
 
||
*[[fault tolerance through exception handling|<span style="color:#FF0000">fault tolerance through exception handling]]
+
*[[Media:SOEN6441.patterns.ppt|design patterns in Java]]
 +
*[[Media:Java Patterns.zip|source code for pattern examples]]
 
|-
 
|-
 
|| week 9
 
|| week 9
Line 102: Line 104:
 
||
 
||
 
||
 
||
*[[Media:QualityInCoding1.ppt|<span style="color:#FF0000">Quality in coding]]
+
*[[Media:SOEN6441.codeQuality.ppt|code quality]]
*[[Media:Refactoring.ppt|<span style="color:#FF0000">Refactoring]]
+
*[[Media:SOEN6441.refactoring.ppt|refactoring]]
 
|-
 
|-
 
|| week 10
 
|| week 10
 
|| nov 17
 
|| nov 17
 
||
 
||
*[[Project build 2 presentations schedule SOEN6441 Fall 2011|<span style="color:#FF0000">project build 2 due (presentations-no lecture)]]
+
*[[Project build 2 presentations schedule SOEN6411 Fall 2014|project build 2 due (presentations-no lecture)]]
 
||
 
||
 
|-
 
|-
Line 114: Line 116:
 
|| nov 24
 
|| nov 24
 
||
 
||
*[[Media:Build3Grading.SOEN6441.2011.2.pdf|<span style="color:#FF0000">Project build 3 requirements/grading scheme]]
+
*[[Media:Build3Grading.SOEN6441.2014.2.pdf|project build 3 requirements/grading scheme]]
 
||
 
||
*[[Media:SOEN6441.generics.ppt|<span style="color:#FF0000">Java Generics]]
+
*[[Media:SOEN6441.exceptions.ppt|fault tolerance through exception handling]]
 +
*[[Media:SOEN6441.code.exceptions.zip|source code for exception examples]]
 
|-
 
|-
 
|| week 12
 
|| week 12
Line 122: Line 125:
 
||
 
||
 
||
 
||
*[[Media:Multithreading2.ppt|<span style="color:#FF0000">Multithreading in Java]]
+
*[[Media:SOEN6441.generics.ppt|Java generics]]
*[[Media:Tutorial_Multi-Thread.zip|Multithreading tutorial]]
+
*[[Media:SOEN6441.code.generics.zip|source code for Java generics examples]]
 
|-
 
|-
 
|| week 13
 
|| week 13
|| dec 8
+
|| dec 2
 
||
 
||
*[[Project final build presentations schedule SOEN6441 Fall 2011|<span style="color:#FF0000">project build 3 due (presentation)(to be updated!)]]
+
*[[Project final build presentations schedule SOEN6441 Fall 2014|project build 3 due (presentation)]]
 
||
 
||
 
|-
 
|-
Line 134: Line 137:
 
|| dec 3-18
 
|| dec 3-18
 
||
 
||
*final examination (TBD)
+
*final examination (December 8th 2014, 14h00-17h00, FGC070 -- confirmed)
 
||
 
||
 
|}
 
|}
Line 141: Line 144:
  
 
*[[Media:Syllabus.SOEN6441.paquet.2014.2.pdf|Course outline]]
 
*[[Media:Syllabus.SOEN6441.paquet.2014.2.pdf|Course outline]]
 +
*[[SOEN6441 Fall 2014 teams]]
 
*[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 15:29, 1 December 2014

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 instructor e-mail address web page
lecture U M------ 14:45-17:30 H-431 Paquet, Joey paquet@encs.concordia.ca
office hours D ---—F-- 10:00-12:00 EV-3-221 Paquet, Joey
lab hours UI M------ 12:45-14:35 H-929 Patel, Jaiminkumar jai_p@encs.concordia.ca
lab hours UJ -T----- 17:45-19:35 H-929 Ricci, Daniel da_ricci@encs.concordia.ca

Lecture Schedule

NOTE: Links in red are pointing to previous material and will be updated as the semester proceeds.

wk date event topics (tentative)
week 1 sep 8
week 2 sep 15
  • [sep 19] team lists due
week 3 sep 22
week 4 oct 29
week 5 oct 6
oct 13
  • Thanksgiving, University closed
week 6 oct 20
  • midterm examination (no lecture)
  • [oct 26] Deadline for withdrawal
week 7 oct 27
week 8 nov 3
week 9 nov 10
week 10 nov 17
week 11 nov 24
week 12 dec 1
week 13 dec 2
exam week dec 3-18
  • final examination (December 8th 2014, 14h00-17h00, FGC070 -- confirmed)

Course Material and Resources