Software Engineering Technology (Optional Co-op)

Select start date and campus

Close

Applying as a Canadian applicant

Domestic students should apply online or by phone at 1-888-892-2228.

Applying as an International applicant

International students should apply online.
Close

Campus tours

Campus tours are one of the best ways to experience Conestoga. During this time, we are offering online guided tours to show you all Conestoga has to offer.

Book your tour

Virtual tours

If you can't make an on-campus tour or attend one of our events, the virtual tour is a great way to visit us.

View our Virtual tour

Courses - January 2023

Level 1

Course details

College Reading & Writing Skills
COMM1085

Description: This course introduces students to the reading, writing, and critical thinking skills needed for academic and workplace success. Students will analyse a variety of texts and apply the steps of planning, writing, and revising to produce writing that meets the expectations of selected audiences and purposes. The course prepares students for college-level writing tasks, research, and documentation by asking them to produce clear, informed, and purposeful documents relevant to both academic and professional contexts.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • CoRequisites:

Conestoga 101
CON0101

Description: This self-directed course focuses on introducing new students to the supports, services, and opportunities available at Conestoga College. By the end of this course, students will understand the academic expectations of the Conestoga learning environment, as well as the supports available to ensure their academic success. Students will also be able to identify on-campus services that support their health and wellness, and explore ways to get actively involved in the Conestoga community through co-curricular learning opportunities.
  • Hours: 1
  • Credits: 0
  • Pre-Requisites:
  • CoRequisites:

Software Engineering Fundamentals
PROG1350

Description: Standard software development methodologies, testing methodologies, and software maintenance topics will be covered to prepare students for real life software development. The course will emphasize proper software design, software development issues, and documentation. The importance of effective software engineering documentation and effective technical communications are stressed. Topics include analyzing, collecting and writing effective requirements using traditional and Agile techniques, enforcing system and software quality through testing, concepts of troubleshooting and debugging techniques and software maintenance issues.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • CoRequisites:

Operating System Fundamentals
PROG1596

Description:

This course provides the student with exposure to operating system (OS) fundamentals from a technical viewpoint. Topics include setup and configuration of an OS and several services, network fundamentals, file systems, and command line operations. By learning advanced techniques in OS usage and some of the related issues, the student is introduced to many of the functions and features that will be built or interfaced to in subsequent programming courses.

  • Hours: 70
  • Credits: 5
  • Pre-Requisites:
  • CoRequisites:

C/C++ Programming
SENG1000

Description: This course introduces software design and implementation, focusing on using the C language. Elements of C++ will also be introduced. Topics include: algorithm design, modular code design, programming style, functions, arrays, pointers, strings, data structures, and file I/O. An emphasis is placed on proper design to produce maintainable software.
  • Hours: 70
  • Credits: 5
  • Pre-Requisites:
  • CoRequisites:

User Interface Fundamentals
SENG1010

Description: This course provides the student with knowledge of the principles involved in creating effective user interfaces. Techniques for proper design, implementation, and evaluation will be explored through the critique of existing applications and websites, and the use of mock-up and wire framing tools to prototype UI design concepts.
  • Hours: 28
  • Credits: 2
  • Pre-Requisites:
  • CoRequisites:

Level 2

Course details

Computer Security
INFO1340

Description:

This course covers the practical and ethical aspects of modern computer security. A wide variety of topics will be covered. An emphasis will be placed on examining and analyzing common application security issues. The legal and ethical aspects of computer security and privacy will also be examined.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • CoRequisites:

Systems Analysis and Design
PROG1150

Description: Upon completion of this course, the student will be able to explain the various steps in the Systems Development Life Cycle (SDLC). This course focuses on both the Analysis and Design phases of the life cycle. Both traditional and Agile (using the Unified Modeling Language (UML)) approaches will be reviewed. As alternatives to the SDLC, several development methodologies will be examined and compared.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG1347 OR SENG1000 OR SENG1005 AND PROG1350 OR PROG1355 AND PROG1357
  • CoRequisites:

Object-oriented Programming
PROG1385

Description:

This course expands programming knowledge by introducing object-oriented concepts. Topics include the concept of classes and objects, including class declarations, information hiding, inheritance, member data, properties, methods and interfaces.

  • Hours: 56
  • Credits: 4
  • Pre-Requisites: PROG1347 OR SENG1000 OR SENG1005
  • CoRequisites:

Computer Architecture and Machine Language
SENG1040

Description: This course introduces the student to principles and techniques of digital systems and design including numbering systems, basic logic functions, Boolean expressions, truth tables, and combination logic circuits. Students will be introduced to programming simple 8-bit microcontrollers. The course serves to provide a basis from which the student can build a working knowledge of digital design and microcomputer and microcontroller based systems.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: SENG1000 OR SENG1005
  • CoRequisites:

Data Structures
SENG1050

Description:

This course examines using and implementing advanced data structures to improve performance and storage efficiency. Common algorithms for structures, such as linked lists, queues, and hash tables, are discussed.

  • Hours: 56
  • Credits: 4
  • Pre-Requisites: SENG1000 OR SENG1005
  • CoRequisites:

Electives: General Education
Student must pass 1 Course(s), selected in the Student Portal from available course options

Level 3

Course details

Co-op and Career Preparation
CEPR1020

Description: This series of modules will prepare students for job searching for their co-op work terms with the guidance of a Coop Advisor. Students will familiarize themselves with the co-operative education policies and procedures and will learn the expectations, rules, and regulations that apply in the workplace regarding social, organizational, ethical, and safety issues while developing an awareness of self-reflective practices. Students will reflect on their skills, attitudes, and expectations and examine available opportunities in the workplace. Successful completion of these modules is a requirement for co-op eligibility.
  • Hours: 14
  • Credits: 1
  • Pre-Requisites:
  • CoRequisites:

Web Design and Development
PROG2001

Description: This course will familiarize the student with the use of web servers in the development of applications using dynamic web pages. Students begin by using HTML and Javascript before being introduced to several server side technologies (including CGI, ASP, PHP and ASP.NET). Proper web design principles will be discussed including the use of Cascading Style Sheets (CSS). In addition, the student will be introduced to AJAX and jQuery as a way of efficiently updating portions of a web page.
  • Hours: 56
  • Credits: 4
  • Pre-Requisites: PROG1385 AND SENG1010
  • CoRequisites:

Relational Databases
PROG2111

Description:

This course discusses the fundamentals of relational database management systems (RDBMS). Custom relational database applications are created by modelling solutions and implementing them using Structured Query Language (SQL).

  • Hours: 56
  • Credits: 4
  • Pre-Requisites: PROG1150
  • CoRequisites:

Windows Programming
PROG2121

Description: This course introduces the students to various aspects of Microsoft Windows programming, beginning with the Windows Win32 Application Programming Interface (API). The focus of the course quickly shifts to the C# programming language and the .NET Framework. Topics include: WPF (Windows Presentation Foundation), application deployment, .NET data structures, threaded solutions, inter-process communication, and an introduction to development in Azure.
  • Hours: 70
  • Credits: 5
  • Pre-Requisites: PROG1385 AND PROG1596 OR PROG1600 AND SENG1010 AND SENG1050
  • CoRequisites:

Microprocessors And Embedded Systems
SENG2010

Description:

This course introduces the student to the principles and techniques of digital systems and design, emphasizing microprocessor programming and assembly language programming. The student designs and implements embedded applications for dedicated hardware platforms. Topics include CPU concepts (registers, address bus, data bus, RAM/ROM, program counter, stack pointer, interrupts), input/output mechanisms, machine data types, basic assembly language programming, timers, and interrupt sources.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: SENG1000 OR SENG1005 AND SENG1040
  • CoRequisites:

Software Quality
SENG2020

Description:

This course focuses on modern Agile Project Management techniques and the tools and toolsets developers use to help accomplish diverse tasks. The toolsets include repositories, various testing techniques, containers for testing, and configuration management.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG1150
  • CoRequisites:

Electives: General Education
Student must pass 1 Course(s), selected in the Student Portal from available course options

Level 4

Course details

Advanced Computer Security
INFO2231

Description:

This course extends the topics covered in INFO1340 Computer Security which covered the practical and ethical aspects of -modern computer security. Advanced Computer Security emphasizes the hands-on skills and knowledge required to conduct, and thus defend from, a variety of attacks through the framework of penetration testing. Students recreate attack scenarios in an isolated lab, and then study effective countermeasures. Discussion-style seminars throughout the course will reinforce the techniques used in-lab, and will review emerging security issues in the real world.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: INFO1340 AND PROG2000 OR PROG2001 AND PROG2111
  • CoRequisites:

Math for Software Development
MATH2420

Description:

Math is an integral part of software development. This course covers a wide range of topics to be applied in the various areas of software development. Emphasis is placed on number systems, basic logic functions, Boolean expressions, truth tables, linear algebra, arrays, and algorithms.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • CoRequisites:

Mobile Application Development
PROG3150

Description:

This course examines the key aspects of application development used on Android-based mobile devices. Students learn to develop applications with popular programming environments. Event-driven programs are written to access the operating system's core hardware and software features used in phones, tablets, and smartwatches.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG2120 OR PROG2121 OR PROG2125
  • CoRequisites:

System Programming
SENG2030

Description:

This course introduces the student to the Linux Operating System. Linux architecture and task management will be covered. Industry-standard multitasking concepts, inter-process communication, threading and socket-level programming are presented. Students have the opportunity to develop system solutions using all concepts discussed in the course.

  • Hours: 56
  • Credits: 4
  • Pre-Requisites: PROG2121 OR PROG2125 OR PROG2510
  • CoRequisites:

Network Application Development
SENG2040

Description: This course examines the concepts of full-stack network application development. Students are introduced to multiple server and client side technologies used in the development of complex network applications. Network application architecture is discussed, as are security concerns. The course culminates in the development of an internet accessible full-stack network application.
  • Hours: 70
  • Credits: 5
  • Pre-Requisites: INFO1340 AND PROG2000 OR PROG2001 AND PROG2110 OR PROG2111 AND PROG2120 OR PROG2121 AND PROG2125 AND PROG2510
  • CoRequisites:

Electives: General Education
Student must pass 1 Course(s), selected in the Student Portal from available course options

Level 5

Course details

Co-op Work Term I (Software Eng Techy)
COOP2190

Description: This co-op work term will provide students with college-approved work experience in an authentic, professionally relevant work environment. Students will be provided the opportunity to connect theory and practice by leveraging their academic training to develop a broad base of vocational skills. The practical applications of this work term will promote students’ awareness of key concepts and terminology in their field, cultivate their problem-solving and decision-making capabilities, encourage their development of professional autonomy and collaboration, and enhance their capacity to analyze and reflect on their demonstrated abilities in the workplace.
  • Hours: 420
  • Credits: 14
  • Pre-Requisites: CDEV1020 OR CEPR1020
  • CoRequisites:

Level 6

Course details

Co-op Work Term II (Software Eng Technology)
COOP3100

Description: This co-op work term will provide students with college-approved work experience in an authentic, professionally relevant work environment. Students will be provided the opportunity to connect theory and practice by leveraging their academic training to develop a broad base of vocational skills. The practical applications of this work term will promote students’ awareness of key concepts and terminology in their field, cultivate their problem-solving and decision-making capabilities, encourage their development of professional autonomy and collaboration, and enhance their capacity to analyze and reflect on their demonstrated abilities in the workplace.
  • Hours: 420
  • Credits: 14
  • Pre-Requisites: CDEV1020 OR CEPR1020
  • CoRequisites:

Level 7

Course details

Co-op Work Term III (Software Eng Techy)
COOP3110

Description: This co-op work term will provide students with college-approved work experience in an authentic, professionally relevant work environment. Students will be provided the opportunity to connect theory and practice by leveraging their academic training to develop a broad base of vocational skills. The practical applications of this work term will promote students’ awareness of key concepts and terminology in their field, cultivate their problem-solving and decision-making capabilities, encourage their development of professional autonomy and collaboration, and enhance their capacity to analyze and reflect on their demonstrated abilities in the workplace.
  • Hours: 420
  • Credits: 14
  • Pre-Requisites: CDEV1020 OR CEPR1020
  • CoRequisites:

Level 8

Course details

Co-op Work Term IV (Software Eng Technology)
COOP3120

Description: This co-op work term will provide students with college-approved work experience in an authentic, professionally relevant work environment. Students will be provided the opportunity to connect theory and practice by leveraging their academic training to develop a broad base of vocational skills. The practical applications of this work term will promote students’ awareness of key concepts and terminology in their field, cultivate their problem-solving and decision-making capabilities, encourage their development of professional autonomy and collaboration, and enhance their capacity to analyze and reflect on their demonstrated abilities in the workplace.
  • Hours: 420
  • Credits: 14
  • Pre-Requisites: CDEV1020 OR CEPR1020
  • CoRequisites:

Level 9

Course details

Advanced Software Quality
SENG3020

Description:

Extended techniques to scope, develop, and measure improvements to the quality of software development projects are investigated and applied in this course. Students will learn to enhance their outcomes through the proper evaluation, selection and use of toolsets such as conformance testing, continuous integration, and the selection of a toolchain that meets the needs of an advanced-level software development project.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG1150
  • CoRequisites:

Internet of Things
SENG3030

Description: This course examines the foundations of the Internet of Things. Communications, security, data aggregation and storage are addressed. Students will extend their understandings of protocols and user interfaces to analyze and design IoT applications.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: SENG2010 OR SENG2015 AND SENG2040 OR SENG2045
  • CoRequisites:

Graphics, Animation and Sound
SENG3040

Description: This course introduces the student to the fundamentals of programming object-oriented, state machine style programs that manipulate graphics, conduct procedural animation, and manipulate audio resources to deliver scalable, multimedia applications. Current technologies are used to drive basic animation techniques, multimedia services, and interactive GUI capabilities.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: MATH2000 OR MATH2420 OR MATH2425 AND PROG2120 OR PROG2121 OR PROG2125 OR PROG2510
  • CoRequisites:

Applied Statistics
STAT3000

Description: This course is an introduction to concepts in probability and statistics.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • CoRequisites:

Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options

View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

Mobile Application Development II
PROG3230

Description:

Using the Android operating system as a platform, this course continues exploring mobile application development by integrating various features of operating systems and devices. The student learns to access and incorporate features such as gyroscope, motion sensing, cameras, Google APIs, and augmented reality. The students will also learn the steps and requirements to deploy applications using Google's app store.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG1385 AND SENG1010
  • CoRequisites:

Game Design
SENG3050

Description: Techniques and tools such as conceptualization, level design, and storyboarding are introduced and used through several assignments in this course to complement the students’ ability to program games, simulations and related, experiential software applications. Concepts from all aspects of game playing are studied and applied in an effort to design game and game-like experiences that are effective in their goals.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: SENG1010
  • CoRequisites:

Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options

View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

Cyberlaw, Ethics and Privacy
INFO8620

Description:

An important component of application and organizational security is the understanding of the rights and obligations of both the individual and the organization with respect to privacy and intellectual property. In this course students will explore ethics and law, including both Canadian law and the law of other jurisdictions, for the ways ethics and law inform the best practices of security professionals and organizations. Students will learn to assess the implications of new application development as well as the choice of supporting technologies, such as cloud computing, with respect to both vulnerabilities and liabilities of an organization. Students in this course will discuss topics such as Big Data, organized hacking, government surveillance, and industrial espionage.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • CoRequisites:

Numerical Methods
MATH3160

Description:

This course focuses on providing the mathematical knowledge required to apply numerical methods for solving engineering and software application problems.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: MATH2420 OR MATH2425 AND PROG2121 OR PROG2125 AND PROG2510
  • CoRequisites:

Advanced SQL
PROG3070

Description: SQL concepts that go beyond those learned in Relational Databases are covered. Topics to be covered include indexes, stored procedures, transaction handling, programming abstractions, performance optimization and database maintenance.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG2111 AND PROG2121 OR PROG2510
  • CoRequisites:

Level 10

Course details

Advanced Technology Topics
PROG3126

Description:

The software development industry evolves at a very rapid pace. This course is primarily student-driven and allows students to research, prepare, and present lessons in current technical areas not yet integrated into the Software Engineering programs.

  • Hours: 56
  • Credits: 4
  • Pre-Requisites: PROG2030 OR SENG2040 OR SENG2045
  • CoRequisites:

Electives: Program Option
Student must pass 2 Course(s), selected in the Student Portal from available course options

View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

Systems Project
PROG3221

Description: The student, as part of a team, will complete a capstone project that demonstrates skills acquired in previous courses. The project must either address a problem for an external client or demonstrate an innovative solution to a problem chosen by the student. The team will develop a complete software system through the planning, programming, testing, and delivery stages. Both technical and project management skills will be emphasized.
  • Hours: 126
  • Credits: 9
  • Pre-Requisites: PROG1385 AND SENG3020
  • CoRequisites:

Game Development
SENG3060

Description: This course extends students' previous experience in video game programming. Emphasis is placed on proper design processes and advanced programming techniques to provide an authentic, high quality, and interactive environment. Game development concepts and prototypes are developed across a range of platforms including console, PC, and mobile environments.
  • Hours: 70
  • Credits: 5
  • Pre-Requisites: MATH3160 AND SENG3040 OR SENG3045 AND SENG3050
  • CoRequisites:

Augmented Reality/Virtual Reality
SENG3070

Description: Augmented and virtual reality experiences are providing new, effective means to deliver targeted ‘mixed reality’ experiences in our lives. In addition to the fields of entertainment and gaming, augmented reality is increasingly offering new opportunities in fields such as manufacturing and health care, but require software developers to target the specific differentiators of creating these experiences. Students study the required changes in design and software tools required to produce these experiences by developing a series of targeted assignments throughout the course.
  • Hours: 56
  • Credits: 4
  • Pre-Requisites: MATH3160 AND SENG3040 OR SENG3045 AND SENG3050
  • CoRequisites:

Electives: Program Option
Student must pass 2 Course(s), selected in the Student Portal from available course options

View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

Simulation and Game Development
PROG3105

Description: This course will present the principles behind modeling, simulation, and game programming. Emphasis will be placed on proper design processes and advanced programming techniques (such as the use of DirectX) to provide an authentic, high quality interactive environment. Game development concepts will be covered for both PC-oriented and embedded or console-oriented gaming environments.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: MATH3160 AND PROG2215 OR SENG3040 AND SENG3045
  • CoRequisites:

Mobile Application Development II
PROG3230

Description:

Using the Android operating system as a platform, this course continues exploring mobile application development by integrating various features of operating systems and devices. The student learns to access and incorporate features such as gyroscope, motion sensing, cameras, Google APIs, and augmented reality. The students will also learn the steps and requirements to deploy applications using Google's app store.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG1385 AND SENG1010
  • CoRequisites:

Advanced Web Frameworks
SENG3080

Description:

Trends in web frameworks are examined, including both historical and emerging technologies. Students will be exposed to various web frameworks, examining them from technical and business perspectives.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • CoRequisites:

Performance, Instrumentation, and Optimization
SENG3090

Description: Good software engineering implies well-performing computer solutions. The student will use various tools to demonstrate performance monitoring through instrumentation. Topics like data logging, code tracing, advanced debugging, memory cacheing and performance counters will be explored to demonstrate how computer code can be analyzed and optimized.
  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG2121 OR PROG2125 OR PROG2510
  • CoRequisites:

Business Intelligence
SENG3120

Description:

Successful businesses in today's high-tech environment use business intelligence to gain a competitive advantage. This course introduces various methodologies and technologies for analyzing large amouC44:C45nts of historical data. Topics covered include data visualization, data warehousing, online analytical processing, and data mining. Practical uses of these technologies are presented in the context of descriptive, predictive, and prescriptive analytics.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: STAT3000
  • CoRequisites:

Program outcomes

  1. Identify, analyze, design, develop, implement, verify and document the requirements for a computing environment.
  2. Diagnose, troubleshoot, document and monitor technical problems using appropriate methodologies and tools.
  3. Analyze, design, implement and maintain secure computing environments.
  4. Analyze, develop and maintain robust computing system solutions through validation testing and industry best practices.
  5. Communicate and collaborate with team members and stakeholders to ensure effective working relationships.
  6. Select and apply strategies for personal and professional development to enhance work performance.
  7. Apply project management principles and tools when responding to requirements and monitoring projects within a computing environment.
  8. Adhere to ethical, social media, legal, regulatory and economic requirements and/or principles in the development and management of the computing solutions and systems.
  9. Investigate emerging trends to respond to technical challenges.
  10. Analyze and define the specifications of a software system based on requirements engineering processes and techniques.
  11. Design, develop, integrate, document, implement, maintain and test software systems based on software engineering methodologies, modern programming paradigms and frameworks.
  12. Analyze, evaluate and apply software engineering design techniques, data structures, algorithms, and patterns to the implementation of a software system.
  13. Design, model, implement, optimize and maintain a database and apply data mining concepts and tools for decision making.
  14. Develop, maintain and deploy software systems to resolve networking issues.
  15. Build automated software solutions through the analysis, evaluation, and integration of intelligent systems into various applications.
  16. Design and implement appropriate testing, verification and evaluation procedures to assess software quality and improve software performance.