1. Survey of Software Engineering and Software development methodologies with a focus on Agile and Scrum
2. Object Oriented Design, Design Patterns and Architectural Pattern implementation using UML and Java
3. Software Quality, Metrics and Requirements Analysis
4. Software Development in Teams
5. Software Version control (ex. Git/GitHub)
6. Software Development using the Java Programming Language
7. Software Testing, Path-based, Unit, Integration and System
8. Automated Blackbox and WhiteBox testing
9. Exposure to framework implementation such as Servlets/JSP, Spring MVC, SpringBoot
10. Software Project Management and working in teams
11. Database Framework Implementation
12. Introduction to DevOps
Lecture, case study
Assignments and Term Project | 20% - 30% |
Quizzes* | 5% - 15% |
Midterm Examination* | 25% - 30% |
Final Examination* | 30% - 35% |
Total | 100% |
*** In order to pass the course, students must, in addition to receiving an overall course grade of 50%, also achieve a grade of at least 50% on the combined weighted examination components (including quizzes, tests, exams).
Upon completion of this course, the successful student will be able to:
1. understand and apply Object-Oriented Software Engineering Principals
2. describe and perform and apply the results of requirements analysis.
3. understand and apply the Unified Modeling Language (UML) against a software project.
4. document and implement Design Patterns, Architectural Patterns.
5. implement and evaluate Software Quality Assurance and metrics.
6. develop Unit, Integration and System Tests.
7. apply lean and agile development principles in a team-based context.
8. develop and implement Software Requirements according to a pre-determined schedule using Iterative Software Development methodologies (ex. Scrum)
9. design, develop and implement Java-based software using integrated development environment (ex. Eclipse)
10. utilize source code version control systems (ex. Git/Github).
11. design and implement Database frameworks. (ex. DAO, Hibernate)
12. understand management issues in an Agile Software Development Team
13. understand White and Blackbox testing concepts and be able to implement automated testing frameworks for each (ex. Selenium, JUnit)
Textbooks and Materials to be Purchased by Students:
Roger Pressman. Software Engineering - A Practitioner’s Approach. Latest edition. McGraw-Hill or other textbook/s approved by the department or additional notes and resources to provided by instructor
Suggested References:
Robert V. Stumpf & Lavette C. Teague. Object-Oriented Systems Analysis and Design with UML. Latest
edition. Prentice-Hall.
Ian Sommerville. Software Engineering. Latest edition, Addison Wesley
Alistair Cockburn. Agile Software Development: The Cooperative Game, Latest edition.
Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester / year of the course, consider the previous version as the applicable version.
Institution | Transfer Details | Effective Dates |
---|---|---|
Kwantlen Polytechnic University (KPU) | KPU CISY 2XXX (3) | 2008/09/01 to 2018/04/30 |
Kwantlen Polytechnic University (KPU) | KPU INFO 2XXX (3) | 2018/05/01 to - |
Langara College (LANG) | LANG CPSC 2301 (3) | 2008/09/01 to - |
Simon Fraser University (SFU) | SFU CMPT 2XX (3) | 2008/09/01 to - |
Thompson Rivers University (TRU) | TRU COMP 3520 (3) | 2010/09/01 to - |
Thompson Rivers University (TRU) | TRU COMP 352 (3) | 2008/09/01 to 2010/08/31 |
Trinity Western University (TWU) | No credit | 2019/05/01 to - |
Trinity Western University (TWU) | TWU ISYS 385 (3) | 2009/01/01 to 2019/04/30 |
University of British Columbia - Vancouver (UBCV) | UBCV CPSC 2nd (3), Precludes credit for UBCV CPSC 310. | 2009/01/01 to - |
University of the Fraser Valley (UFV) | UFV CIS 2XX (3) | 2009/01/01 to - |
University of Victoria (UVIC) | UVIC SENG 2XX (1.5) | 2008/09/01 to - |