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. Note: not all start dates are available to international students.
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 - September 2024

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
PROG1355

Description:

This course introduces the concept of building software while meeting user requirements. This course discusses the concepts of requirements gathering and documenting, software quality and how developers can enforce and ensure it, some common tools that developers have at their disposal to do their tasks, and the processes that are followed to help build the software.

  • Hours: 28
  • Credits: 2
  • Pre-Requisites:
  • CoRequisites:

Operating System Fundamentals
PROG1600

Description:

This course covers the principles and concepts of operating systems. Students learn how operating systems manage hardware resources and execute software. Emphasis is placed on examining computer hardware components and their interaction, including the CPU, memory, storage, and input/output devices. An in-depth study of operating system components and file management is also covered.

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

C/C++ Programming
SENG1005

Description:

This course introduces software design and implementation using the C programming language. Topics include fundamental program design, modularity, programming style, functions, arrays, strings, console input/output, debugging, version control, and testing. An emphasis is placed on using industry best practices to ensure quality.

  • 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

Software Engineering Fundamentals II
PROG1175

Description:

This course continues the journey of building software. Topics include an introduction to the Software Development Life Cycle (SDLC) and use cases. The student focuses on program design, problem-solving techniques, program debugging ideas, application development techniques and unit testing.

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

Operating Systems II
PROG1235

Description:

This course is a continuation of Operating Systems I with more advanced topics. This course explores operating system design, process management, memory management and caching, virtualization and cloud computing, networks, and distributed systems. Concepts related to user authentication, access control, and security mechanisms are covered.

  • Hours: 56
  • Credits: 4
  • Pre-Requisites: PROG1596 OR PROG1600
  • CoRequisites:

Web Fundamentals
PROG1275

Description:

This course introduces the student to web programming and web design. Students become familiar with programming in HTML, JavaScript, and the use of Cascading Style Sheets (CSS). Fundamental web design techniques are discussed as well.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • 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:

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:

C Programming Fundamentals II
SENG1070

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

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:
  • CoRequisites:

Windows Desktop Programming
PROG2510

Description:

This course introduces various aspects of Microsoft Windows programming for the desktop. The course focuses on the .NET framework using the C# programming language. Topics include console applications, graphical user interface (GUI) development, application deployment, .NET data structures, and multi-threading using tasks.

  • Hours: 56
  • Credits: 4
  • Pre-Requisites: PROG1385
  • 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:
  • CoRequisites:

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

Level 4

Course details

Windows Network Programming
PROG2125

Description:

This course introduces the students to various aspects of Microsoft Windows programming related to inter-process and network solutions. The course focuses on the .NET framework using the C# programming language. Topics include inter-process communication options with .NET, TCP/IP programming, client-server model, Windows services, and an introduction to development in Microsoft Azure.

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

Application Security
SECU2000

Description:

This course introduces essential security-related concepts designed to protect software applications from a wide range of cyber threats. Through a combination of theoretical concepts, hands-on practical exercises, and real-world case studies, students gain an understanding of best practices in application security.

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

Microprocessors And Embedded Systems
SENG2015

Description: This course has an emphasis on 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: 56
  • Credits: 4
  • Pre-Requisites: SENG1000 OR SENG1005
  • CoRequisites:

Network Application Development
SENG2045

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: 56
  • Credits: 4
  • Pre-Requisites: PROG2000 OR PROG2001 AND PROG2110 OR PROG2111 AND PROG2120 OR PROG2121 OR PROG2125 OR PROG2510
  • CoRequisites:

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

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

Network Architecture
NTWK3000

Description:

Students will examine a variety of network architectures, including layered, peer-to-peer, and client-server architectures. Students' understanding of these architectures is enhanced by exploring the alignment of cloud and related Internet computing concepts.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG2001 AND PROG2125 AND SECU2000
  • 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:

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:
  • 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
SENG3045

Description:

The realm of multimedia programming is explored in this comprehensive course. State machine methods are presented, equipping students with the tools to develop dynamic, interactive applications. Topics include manipulating graphics, creating procedural animations, and managing audio resources for scalable multimedia applications. Leveraging the latest technologies, the student will master animation techniques, multimedia services, and interactive GUI features, enabling them to bring creative ideas to life in the digital sphere.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites: PROG2120 OR PROG2121 OR PROG2125 OR PROG2510
  • 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".

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: PROG2110 OR PROG2111 AND PROG2120 OR PROG2121 AND PROG2125 AND PROG2510
  • 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:
  • 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:

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: INFO3020 OR PROG1970 OR SENG2030 AND SENG2020 AND SENG3020
  • 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".

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: PROG2110 OR PROG2111 AND PROG2120 OR PROG2121 AND PROG2125 AND PROG2510
  • 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: PROG2510
  • CoRequisites:

Machine Learning I – Advanced Machine Learning Techniques
PROG3280

Description:

Machine learning skills are brought to the next level with this course. More complex aspects of machine learning are taught, including deep learning, reinforcement learning, and natural language processing. Students will explore cutting-edge algorithms and techniques to solve challenging real-world problems and will gain the knowledge and confidence to tackle advanced projects.

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

NoSQL
PROG3290

Description:

Not only SQL databases are extensively used in web-based applications. The growth in usage is a direct result of their scalability and performance in data retrieval. The focus of this course is to provide an overview of the types of NoSQL databases. Students gain exposure to the technologies through demonstrated use of some of the most popular databases.

  • 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:
  • 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:

Machine Learning II – Machine Learning for Software Engineering
PROG3300

Description:

This course is tailored for software developers looking to integrate machine learning into their projects. Topics include applying machine learning techniques to build intelligent applications, enhancing user experiences, and automating tasks. A deeper understanding of the software engineering aspects of machine learning is gained, from data preprocessing to model integration.

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

Foundations of Machine Learning Frameworks
PROG3310

Description:

This course offers a deep understanding of the core principles in machine learning frameworks, popular frameworks, and hands-on model development, training, and deployment. Students gain a strong grasp of machine learning frameworks to harness the power of artificial intelligence across diverse domains.

  • Hours: 42
  • Credits: 3
  • Pre-Requisites:
  • 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: SENG2040 AND SENG2045
  • 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.