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

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

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.