Course

Software Engineering

Faculty
Commerce & Business Administration
Department
Computing Studies & Information Systems
Course Code
CSIS 3275
Credits
3.00
Semester Length
15 Weeks
Max Class Size
35
Method(s) Of Instruction
Lecture
Seminar
Typically Offered
To be determined

Overview

Course Description
This course will introduce the student to software engineering in a practical competency-based context. Topics covered in this class will help the student in familiarizing themselves with the discipline of Software Engineering in a modern context.

This course will take a lecture/lab classroom approach by introducing the students to the theory and concepts of software engineering and then implementing them in various labs and finally re-enforced using a fully implemented software project.

Topics that will be covered include: Managing software projects, Software development life-cycle, Version Control, Software teams, Software Process and Metrics, WhiteBox and Blackbox Testing, Unified Modeling Language (UML) for Object-Oriented Design, Design Patterns, Architectural Patterns and Software.

Students will participate in all of the common aspects of software engineering through a term project to apply the concepts they learn. Theory and concepts will be re-enforced with a Lab component followed by implementation requirements in a team-based context for the students term project.
Course Content

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

Learning Activities

Lecture, case study

Means of Assessment
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).

Students may conduct research as part of their coursework in this class. Instructors for the course are responsible for ensuring that student research projects comply with College policies on ethical conduct for research involving humans, which can require obtaining Informed Consent from participants and getting the approval of the Douglas College Research Ethics Board prior to conducting the research.

Learning Outcomes

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)

Textbook Materials

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.

Requisites

Prerequisites

Min grade C in CSIS 2200 and (CSIS 1275 OR CSIS 2175)

Corequisites

No corequisite courses.

Equivalencies

Courses listed here are equivalent to this course and cannot be taken for further credit:

  • No equivalency courses

Course Guidelines

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.

Course Transfers

These are for current course guidelines only. For a full list of archived courses please see https://www.bctransferguide.ca

Institution Transfer Details for CSIS 3275
Kwantlen Polytechnic University (KPU) KPU INFO 3150 (3)
Langara College (LANG) LANG CPSC 2301 (3)
Simon Fraser University (SFU) SFU CMPT 2XX (3)
Thompson Rivers University (TRU) TRU COMP 3520 (3)
Trinity Western University (TWU) No credit
University of the Fraser Valley (UFV) UFV CIS 2XX (3)
University of Victoria (UVIC) UVIC SENG 2XX (1.5)

Course Offerings

Winter 2025

CRN
14819
section details
CRN Days Instructor Status More details
Maximum Seats
35
Currently Enrolled
13
Remaining Seats:
22
On Waitlist
0
Building
New Westminster - North Bldg.
Room
N5111
Times:
Start Time
15:30
-
End Time
18:20
CRN
15877
section details
CRN Days Instructor Status More details
Maximum Seats
35
Currently Enrolled
6
Remaining Seats:
29
On Waitlist
0
Building
New Westminster - North Bldg.
Room
N5111
Times:
Start Time
9:00
-
End Time
11:50
Section Notes

CSIS 3275 070 - This section is on Saturdays.

CRN
16750
section details
CRN Days Instructor Status More details
Maximum Seats
35
Currently Enrolled
7
Remaining Seats:
28
On Waitlist
0
Building
New Westminster - North Bldg.
Room
N5111
Times:
Start Time
13:00
-
End Time
15:50
Section Notes

CSIS 3275 071 - This section is on Saturdays.