Program detailsCredential: 4-year Bachelor of Computer Science (Honours)
This dynamic four-year program prepares students with theoretical knowledge and practical skills for progressive job opportunities as high-quality software developers.
Using a multi-disciplinary curriculum with a focus on experiential learning activities, the program is innovative in its use of technology to investigate issues, organize and manage inquiry, encourage collaboration, and communicate information. Project areas include an introduction to big data analysis, cyber security, cloud computing, and the Internet of Things.
Students develop a firm understanding of proper software design methodologies for application development in software quality, reliability and security – with an emphasis on testing methodologies, software project management techniques and a strong awareness of security/privacy issues. Students are challenged to examine multiple techniques in software design, development, and testing – mastering professional practices and innovative thinking for quality software development.
Student availability & wage data
Conestoga College facilitates recruitment on an ongoing basis - there are no hard deadlines. Typical time frames for work terms are listed below.
Postings are accepted beginning four months before the start of a term until all students have secured employment provided the minimum 12 consecutive weeks of full-time work is met.
|Year||Fall (Sept - Dec)||Winter (Jan - Apr)||Spring (May - Aug)|
|Year 2||Classes||Classes||Work Term 1: $N/A|
|Year 3||Classes||Work Term 2: $N/A||Classes|
|Year 4||Work Term 3: $N/A||Classes||Classes|
Note: The sequence for this program is under review. The proposed model moves Work Term 2 to the spring of third year, making students available for up to 8 months.
Conestoga College collects data on hourly wages of co-operative education students and offers suggested ranges as a service to employers for the purpose of establishing fair and competitive compensation.
Our experience has been that employers increase wages as skills increase, particularly when employing students for more advanced work terms. The Co-operative Education Office can provide assistance to employers in establishing appropriate wage rates.
Work term capabilities
Specific skills and abilities that students are typically capable of performing during a given work term are listed below.
Work term 1
- Work and communicate effectively as part of a team
- Apply software engineering methodologies to develop and document reliable, robust and maintainable software applications
- Develop software applications using procedural or object-oriented programming
- Gather software solution functional and non-functional requirements from stakeholders
- Design and develop software systems that meet the specified functional and non-functional design requirements
- Communicate complex concepts to technical and non-technical audiences using written, oral, and graphical methods
- Develop software that meets performance requirements using knowledge of underlying computer hardware architectures
- Develop comprehensive test suites using current unit testing frameworks
- Create effective, high-quality user experiences that meet user requirements, taking into account human psychology, human behaviour, and the particular needs of users with accessibility goals
- Understand and communicate risk, risk assessment and measures of software complexity
- Design, implement and troubleshoot modern computer networks based on TCP/IP
- Develop, refine and test software designs, and analyze the inherent trade-offs that exist with specific design patterns
- Perform risk analysis that supports the eventual release of high-quality software solution to a customer
- Design and develop mobile applications
- Track and manage changes to development and test code using version control systems
Work term 2
- Develop, design and test solutions that employ parallel algorithms
- Use tools and techniques appropriate for the management of the build and release phases of large-scale, enterprise level solutions
- Identify and address software and network security vulnerabilities
- Identify and develop security solutions to meet the security requirements of individual companies
Work term 3
- Undertake accurate performance testing to tune software solutions and perform risk analysis
- Develop software solutions using high efficiency algorithms and architecture that maximize performance in parallel and non-parallel processing environments
- Utilize different architecture frameworks for the development of large-scale, interdependent enterprise systems
- Test software deployments against enterprise requirements
- Work and communicate in cross-functional teams
- Perform risk management, asset management, auditing and threat modeling
- Develop security policies, security procedures and employee training
Sample job titles
- Big Data Analyst
- Business Intelligence Analyst
- Cloud Developer
- Cybersecurity Analyst
- Data Scientist
- Information Systems Analyst
- IoT Developer
- Software Designer
- Software Developer
- Software Quality Assurance Analyst
- Software Security Designer/Developer
Contact informationDo you need help developing a recruitment plan or job posting, accessing wage information, or connecting with a talented co-op student? Contact:
Employer Relations Consultant