Software Engineering Technician

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:

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:

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

Career Launch
CDEV1820

Description: This course prepares students to conduct an effective job search. Students will explore labour market trends to uncover the hidden job market. Students will learn to identify their transferable skills and market them effectively. They will create targeted resumes and cover letters aimed at employers in their field. Students will learn strategies to communicate their skills effectively in an interview. They will explore the skills, attitudes and expectations needed to successfully transition into the workplace. Throughout the duration of this course, a personalized job search plan will be created to support their future career goals.
  • 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:

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:

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:

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

Program outcomes

  1. Identify, analyze, develop, implement, verify and document the requirements for a computing environment.
  2. Contribute to the diagnostics, troubleshooting, documenting and monitoring of technical problems using appropriate methodologies and tools.
  3. Implement and maintain secure computing environments.
  4. Implement robust computing system solutions through validation testing that aligns with 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 working on projects within a computing environment.
  8. Adhere to ethical, legal, and regulatory requirements and/or principles in the development and management of computing solutions and systems.
  9. Support the analysis and definition of the specifications of a software system based on requirements engineering processes and techniques.
  10. Contribute to the design, development, integration, documentation, implementation, testing and maintenance of software systems based on software engineering methodologies, modern programming paradigms and frameworks.
  11. Apply software engineering design techniques, data structures, algorithms, and patterns to the implementation of a software system.
  12. Design, model, implement and maintain a database for a software system.
  13. Contribute to the development, maintenance and deployment of software systems to resolve basic networking issues.
  14. Contribute to building automated software solutions by supporting the analysis, evaluation and integration of intelligent systems into applications.
  15. Use appropriate testing, verification and evaluation procedures to assess software quality and improve software performance.
  16. Design and implement low-level software for embedded systems and interfacing to external devices.