Computer Programming (Co-op Version)

Level 01

computer essential

CST8101 Computer Essentials

Learn to configure your laptop environment, basic PC and troubleshoot problems. Students create backups, install virus protection, and manage files through a basic understanding of the Windows Operating System.

Java image

CST8116 Introduction to Computer Programming

Students develop introductory knowledge of computer programming with emphasis on problem analysis and design, using algorithms, pseudocode, flowcharts, UML Class Diagrams and testing, with the Java programming language used as a means to implement problem solution designs.

MySQL image

CST8215 Introduction to Database

Students learn the fundamentals of relational databases design using Entity Relation Diagrams (ERDs), and use Structured Query Language (SQL) to create, modify and query a database. Students become familiar with the functions of a Database Management System (DBMS) and its components in comparison with legacy systems and alternative information storage mechanisms.

success image

CST8300 Achieving Success in Changing Environments

Rapid changes in technology have created personal and employment choices that challenge each of us to find our place as contributing citizens in the emerging society. Students explore the possibilities ahead, assess their own aptitudes and strengths, and apply critical thinking and decision-making tools to help resolve some of the important issues in our complex society with its competing interests.

communication image

ENL1813T Communications I

Through a combination of lectures, exercises, and independent learning, students practise writing, speaking, reading, listening, locating and documenting information and using technology to communicate professionally. Students develop and strengthen communication skills that contribute to success in both educational and workplace environments.

math image

MAT8001C Technical Mathematics for Computer Science

Students manipulate algebraic expressions, solve algebraic equations and linear systems and learn the properties of and graph algebraic and transcendental functions. Students investigate computer number systems in addition to Boolean algebra and logic to help solve problems involving computer systems.

Level 02

database image

CST2355 Database Systems

Students acquire practical experience using market-leading object-relational database management systems like Oracle and MySQL. Students obtain hands-on experience with advanced engineering modeling tools along with SQL, SQL scripts and programming with Oracle's PL/SQL blocks.

Prerequisites: CST8215

Linux image

CST8102 Operating System Fundamentals (GNU/Linux)

Students examine the details of operating system structures, process management, storage management, installation, configuration, and administration both in theory and through practical assignments based on the GNU/Linux operating system. Lab work is designed to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities.

Prerequisites: CST8101 and CST8116

OOP image

CST8284 Object Oriented Programming (Java)

Object oriented concepts, such as encapsulation, inheritance, abstraction and polymorphism are covered and reinforced with practical applications. Students explore the basics of data structures and algorithms as well as basic Graphical User Interface (GUI) programming.

Prerequisites: CST8116

web image

CST8285 Web Programming

Students develop basic skills of web programming, website design and implementation. JavaScript, HTML5, and PHP are used to explore web-based solutions to problems of increasing interactivity and complexity. Lectures are reinforced by practical assignments that encourage students to construct and maintain their own websites.

Prerequisites: CST8116

communication2 image

ENL2019T Technical Communication for Engineering Technologies

Students are exposed to exercises and assignments designed to foster independent and collaborative critical thinking, research, writing, visual communication and presentation skills related to technical topics.

Prerequisites: ENL1813T

coop1 image

GEP1001 Cooperative Education Readiness

Students are guided through a series of activities which prepares them for their co-op job search term. Through a detailed orientation students learn the cooperative education program policies and procedures related to searching and securing a work term opportunity.

General Education image

GED0336 General Education Elective

Students choose one course, from a group of general education electives, which meets one of the following four requirements: Arts in Society, Civic Life, Social and Cultural Understanding, and Science and Technology.

Equivalencies: ARC9001 or DSN2001 or ENV0002 or FAM1218 or GED1896 or GED5002 or GED5004 or GED5005 or GED5006 or GED5009 or GED5300 or GED6022 or GEN1957 or GEN2000 or GEN2007 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or RAD2001 or GED5003

Level 03

SDLC image

CST2234 Systems Analysis and Design

Object-oriented design, modeling tools and techniques are used to produce system specifications. Project management principles are also used within team developed projects. Software methodologies discussed include the Systems Development Life Cycle (SDLC), agile approach, Rational Unified Process (RUP)and Rapid Application Development (RAD).

Prerequisites: CST8215 and CST8284 and ENL2019T

mobil image

CST2335 Mobile Graphical Interface Programming

Students explore graphical user interface programming in a mobile Android environment. Students learn how to program applications using the latest Android development tools. Topics include application architecture, interface design, network communication, and database integration.

Prerequisites: CST8215 and CST8284

network image

CST8109 Network Programming

Students explore topics including the basic structure, design and layered communications models, with an emphasis on data communications, TCP/IP protocol suite, socket programming and multi-threading concepts. Labs include practical exercises in basic networking and using socket programming, along with multi-threading, in an environment rich with common networking tools for diagnosing and troubleshooting typical network programming problems.

Prerequisites: CST8116 and MAT8001C

OOP design pattern image

CST8288 Object Oriented Programming with Design Patterns

Students implement best practices of object-oriented program development with software design patterns. Students also apply Unified Modeling Language (UML) program specifications in the Java programming language. SQL through JDBC technology is used embedded for developing and using "data access objects". Course topics include refactoring, domain modelling, JDBC and multithreaded servlet programming. Students develop proficiency in creating, testing, debugging, deploying and documenting programs and servlets through practical application.

Prerequisites: CST8215 and CST8284

COBOL image

CST8283 Business Programming

Elective (choose 1)

Students create COBOL programs in a business environment using structured methodology in the latest visual programming environment. Topics include output design, logic design tools, structured, top-down and modular coding, testing and debugging, and documentation. Students examine interactive, file-based, and database processing of data related to business problems. Arrays, indexed files, database access and sub-programs are explored.

Prerequisites: CST8116

Business Intelligence image

CST8390 Business Intelligence and Data Analytics

Elective (choose 1)

The foundation underlying this process is the Data Analytics that explore the data, identify the relationships and patterns in a meaningful way. Students examine the components and best practices of BI technology, and how it guides operational to strategic business decisions in the context of real-world applications. Data analytics techniques are used to derive insight using statistical software to provide insight into patterns and trends not immediately obvious in the raw data.

Prerequisites: CST8116 and CST8215 and CST8285 and MAT8001C or CST8238

Co op 01

internship1

WKT8001 Work Term I

Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.

Co op 02

internship2

WKT8002 Work Term II

Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.

Prerequisites: WKT8001

Level 04

Advanced Database image

CST8276 Advanced Database Topics

Topic coverage includes business intelligence, data warehouses, data visualization, big data, NoSQL and graph databases. Database administration tasks requiring knowledge of database architecture are examined: relational vs. non-relational models, security, performance, database distribution, database sharing, backup and recovery

Prerequisites: CST2355 and CST8109

Enterprise Application image

CST8277 Enterprise Application Programming

With a focus on the IT Enterprise, students examine the application enterprise environment using and extending the technologies learned in previous courses. Students examine the commonly used enterprise systems development technologies such as Java/Jakarta Enterprise Edition, cloud computing, security and the corporate database repository.

Prerequisites: CST8109 and CST8288

computer programming project image

CST8333 Programming Language Research Project

Students explore this process of self-study by applying project planning, applied research, testing, and implementation of basic and advanced concepts appropriate to the language or framework under study. Students develop major milestones and deliverables culminating in a project and reflective summary submission.

Prerequisites: CST8284

Software Development project

CST8334 Software Development Project

Project management techniques are used to monitor progress and organize tasks. Students participate in interviews, technical reviews, presentations and the preparation of technical reports. The culmination of the course is a final presentation and technical review, followed by the delivery of the finished product.

Prerequisites: CST2234 and CST2335 and CST8109 and CST8285 and CST8288 and ENL2019T

General Education image

GED0336 General Education Elective

Students choose one course, from a group of general education electives, which meets one of the following four requirements: Arts in Society, Civic Life, Social and Cultural Understanding, and Science and Technology.

Equivalencies: ARC9001 or DSN2001 or ENV0002 or FAM1218 or GED1896 or GED5002 or GED5004 or GED5005 or GED5006 or GED5009 or GED5300 or GED6022 or GEN1957 or GEN2000 or GEN2007 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or RAD2001 or GED5003