The two-year Computer Programming Diploma program prepares you for a career in software development. The program also specializes in program development strategies (using object-oriented modelling), database design and database administration.
Use leading industry software products such as Oracle and CASE tools. Learn about programming languages such as Java, COBOL, SQL and PHP. Study object-oriented analysis and design, operating systems and coding in integrated environments, and learn how to debug, test, and maintain codes.
In your final semester, participate in a software development project working with external clients to gain real-world experience in the programming field.
Level: 01 | ||
---|---|---|
Course Name | Code | Hours |
Name: Introduction to Computer Programming + - Code: CST8110 Hours: 75 Possessing the fundamentals of logic, problem-solving and programming language structure provides a solid foundation for further study in the field. 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. Through an introduction to the Java programming language students use sequential structures, selection structures, repetition structures, variables, constants, methods, constructors, one-dimensional arrays, object-oriented programming, classes, objects, abstraction, encapsulation, inputs, outputs, coding conventions and documentation. Theory is reinforced with application by means of practical laboratory assessments. | CST8110 | 75 |
Name: Computer Essentials + - Code: CST8101 Hours: 60 Maintaining a computer, using operating system and productivity software, and expressing related environmental and sustainability concerns, is an important part of working with Information Technology. Students explain computer hardware, and use operating system software to maintain, utilize, and secure a computer. Students practice the use of spreadsheet software to solve problems, use formulas, and visualize data with charts. Students discuss computer hardware and software with regards to financial and environmental sustainability. Theory is reinforced with application by means of practical laboratory assessments, including using virtualization software to install guest operating systems onto a host computer. | CST8101 | 60 |
Name: Introduction to Database + - Code: CST8215 Hours: 75 Databases are used to store data and are a core component of many information technology systems. 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 design and create databases that are maintainable, secure and adaptable to change in business requirements, using normalization. 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. | CST8215 | 75 |
Name: Achieving Success in Changing Environments + - Code: CST8300 Hours: 45 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. Life in the 21st century presents significant opportunities, but it also creates potential hazards and ethical problems that demand responsible solutions. 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. | CST8300 | 45 |
Name: Communications I + - Code: ENL1813 Hours: 60 Communication remains an essential skill sought by employers, regardless of discipline or field of study. Using a practical, vocation-oriented approach, students focus on meeting the requirements of effective communication. Through a combination of lectures, exercises, and independent learning, students practice 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 | ENL1813 | 60 |
Name: Technical Mathematics for Computer Science + - Code: MAT8001 Hours: 60 The study of algebraic and transcendental functions is an essential prerequisite to Calculus. 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. Students also study the addition and subtraction of vectors using vector components. Delivered in a modular format, this course is equivalent to the completion of all of the following math modules MAT8100 - A, B, C, D, E, F, and L. | MAT8001 | 60 |
Level: 02 | ||
---|---|---|
Course Name | Code | Hours |
Name: Database Systems + - Code: CST2355 Hours: 60 Database systems can automate data processing tasks as well as tie into the security of information technology 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. Database concepts covered include advanced SQL, case structures, rollup and cube operations, metadata manipulation, data storage and retrieval, security and transaction control and data warehousing. Prerequisites: CST8215 | CST2355 | 60 |
Name: Operating System Fundamentals (GNU/Linux) + - Code: CST8102 Hours: 75 Operating systems form the backbone of information technology systems coordinating the interaction between hardware and software. Students explore the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. 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: CST8116 and CST8118 | CST8102 | 75 |
Name: Object Oriented Programming (Java) + - Code: CST8284 Hours: 75 Working in the field of information technology as a programmer requires a firm Prerequisites: CST8116 | CST8284 | 75 |
Name: Web Programming + - Code: CST8285 Hours: 60 The World Wide Web (WWW) has become an integrated part of everyday life. 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 | CST8285 | 60 |
Name: Technical Communication for Engineering Technologies + - Code: ENL2019 Hours: 45 The ability to communicate effectively in a technically-oriented interdisciplinary workplace is a foundational skill in an innovation-driven economy. 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: ENL1813 | ENL2019 | 45 |
Name: General Education Elective Code: GED0336 Hours: 45 | GED0336 | 45 |
Level: 03 | ||
---|---|---|
Course Name | Code | Hours |
Name: Systems Analysis and Design + - Code: CST2234 Hours: 60 Complex information technology systems require extensive planning and design. Guided by industry standard software engineering methodologies, students gain hands-on experience with case studies used to develop systems from inception through elaboration, construction and transition phases. 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 ENL2019 | CST2234 | 60 |
Name: Mobile Graphical Interface Programming + - Code: CST2335 Hours: 60 Mobile devices play an instrumental part of everyday life, thus requiring knowledge of mobile graphical user interface development. 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 | CST2335 | 60 |
Name: Network Programming + - Code: CST8109 Hours: 75 Software programming in today's environment requires detailed knowledge of the underlying network topology, its implementation and programming support functions. Gaining an appreciation and perspective of this technology is imperative to developing good network programming applications. Students explore topics include 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 MAT8001 | CST8109 | 75 |
Name: Object Oriented Programming with Design Patterns + - Code: CST8228 Hours: 75 Design patterns are programming architecture solutions to common challenges faced in software implementation. 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 | CST8228 | 75 |
Name: Professional Elective (choose 1) | ||
Name: Business Programming + - Code: CST8283 Hours: 60 Information systems built using the COBOL programming language support important institutions such as government services and the banking sectors. 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 | CST8283 | 60 |
Name: Business Intelligence and Data Analytics + - Code: CST8390 Hours: 60 Business Intelligence (BI) can be broadly defined as a set of applications, infrastructure, and best practices that integrate and transform raw data into actionable information used for planning, monitoring and analyzing processes. 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 Prerequisites: CST8116 and CST8215 and CST8285 and MAT8001 | CST8390 | 60 |
Level: 04 | ||
---|---|---|
Course Name | Code | Hours |
Name: Advanced Database Topics + - Code: CST8276 Hours: 75 Database administration is an important role, in particular for deployed information technology systems. Teams and individuals explore advanced database topics including database administration (using Oracle), data governance, globalization, security and advances in database technology. 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 | CST8276 | 75 |
Name: Enterprise Application Programming + - Code: CST8277 Hours: 75 Enterprise applications connect clients to services that are based on data stored in database management systems. 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 | CST8277 | 75 |
Name: Programming Language Research Project + - Code: CST8333 Hours: 60 Enterprise applications connect clients to services that are based on data stored in database management systems. 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 | CST8333 | 60 |
Name: Software Development Project + - Code: CST8334 Hours: 60 Industry recognizes the value of graduates possessing real-world software development experience. Following the agile software engineering methodology, teams work with clients to analyze business needs, determine computer system requirements, model system designs, build prototypes, test code and deliver final products. 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 ENL2019K | CST8334 | 60 |
Name: General Education Elective Code: GED0214 Hours: 45 | GED0214 | 45 |