- Standard Admissions
- Grade 12 or equivalent
- Mature Admissions
- Mature student status (18 years of age or older)
- Passing score on the entrance examination
Diploma Program
This program can be offered at the campus(es) below. Please contact the campus of your choosing for program availability and delivery methods.
View Campus Availability
View Delivery Methods
In Person (On Campus)
Distance (Online)
Hybrid
Gain the expertise to kick-start your career in computer, mobile, and web application development.
In just over a year of training, you will learn about logic, program flow, programming constructs, and problem-solving processes, as well as gain a solid understanding of programming languages and technologies for platforms such as Google Android and Apple iOS.
CDI College is registered as a career college under the Ontario Career Colleges Act, 2005.
Student Success Strategies
The purpose of this course is to optimize learning through equipping students with effective study techniques. This course also provides an introduction to personality styles that will be encountered in the workplace and allows students to practise appropriate and productive interaction between the various styles. Emphasis is placed on the types of communication that work best with each style in order to achieve a good working relationship and to manage and resolve conflicts that arise. Students are also introduced to strategies for setting personal goals, managing time, and managing the stress that results from study or work and builds on positive group dynamics and setting expectations for student success
Programming Logic and Design
This course is designed to provide the students with a languageindependent view of programming principles and structures and methodologies to foster the development of sound programming techniques before applying language specific syntax. Students will learn traditional and object oriented concepts, terminology and programming structures before learning the details of a specific programming language. Students will learn to develop objectoriented program logic and apply commonly used programming structures of sequence, iteration, selection and decision-making constructs. Common business examples will be used to illustrate key concepts.
Programming Fundamentals
In this course, students will learn to translate various algorithms and design constructs into code using the C# programming language, syntax, libraries and features. Students will learn to work with variables, operators, expressions, methods, and program flow programming techniques to produce error-free C# code to build robust applications with error handling, exception handling, and resource management constructs. Students will learn to manage data input and output.
Programming Techniques - C#
In this course, students will continue to develop the programming skills that are required for developers to create Windows applications using the C# language. Students will review the basic programming structures and implementation details of the C# language, and then consolidate their knowledge by building an application that incorporates several features of the .NET Framework. Students will also learn how to design and develop services that access local and remote data from various data sources. Topics include the C# Object Model, advanced properties, indexers, generics, and collection classes, performing complex queries over object collections with LINQ. By the end of this course, students will be able to develop cloud-connected applications that seamlessly follow users across devices and build UWP applications that retrieve complex data via REST and present it intuitively.
ASP.net Development
In this course, students will learn to develop advanced ASP.NET MVC applications using .NET Framework tools and technologies. Student will learn to apply key ASP.NET Core components, including MVC for HTML generation, .NET Core, EF Core, ASP.NET Identity, and dependency injection. Students will learn how to integrate ASP.NET Core with leading client-side frameworks, including Bootstrap. The course will explore the configuration, routing, controllers, views, and common tasks including posting forms, presenting data, performing complementary tasks such as error handling, logging, application design, authentication and localization. Students will explore front-end development ensuring responsiveness of the application, creating mobile views, and providing advanced interactivity as well as middleware development to address data access, runtime architecture, and deployment.
Object Oriented Programming - Java
The primary objective of this course is to introduce the student to the fundamental concepts and techniques of object-oriented programming using Java. Students will explore the features of Java by exploring its control structures, class libraries, methods and the application of OOP concepts such as inheritance and polymorphism. Student will learn to apply error and exception handling concepts used in applications and Java applets. Upon completion of this course, the student will be able to create Java applications as well as functional applets using the JavaFX Graphical User Interfaces.
Advanced Object Oriented Programming - Java
This course will continue the exploration of object oriented programming with Java. Student will work with Java’s multithreading and network capabilities using files, databases, Web components, servlets, Java Server Pages and using the JavaFX Graphical User Interfaces. In addition, students will examine the effects of recursion, search and sort algorithms on memory and processor consumption as well as how to enhance an applet using multimedia. Additionally, students will learn how to set up and use NetBeans for Java development. Finally, students will learn how to build an ecommerce website using Java technologies.
Database Programming Concepts with SQL
In this course, students will learn about the theory behind relational databases, relational database nomenclature, and relational algebra. Students will learn to create functional Structured Query Language (SQL) code to manage databases and manipulate data inputs and outputs. Students will learn to optimize databases through normalization. Students will apply their knowledge with hands-on exercises designed to teach the intricacies of database design methodology.
Adobe Photoshop
This course begins with covering the key techniques for working with Photoshop. Students will learn the key elements of the Photoshop interface, and how the tools and features of this popular software can be used to edit images. Students will learn to use precise selection control to correct a wide range of lens-based errors, interactively transform their images with a variety of tools, effects and filters. With a focus on the key features and tools of Photoshop, students will work with layers, masks, channels, brushes and vector drawing techniques to prepare images for both Web and print production. The course then moves on to more detailed advanced features of Photoshop including raster based painting for illustrations, 3- D, video and animation techniques, colour controls, etc. Students will also learn to use the techniques for designing with advanced layering and image compositing techniques, working with actions scripts, batch processes and other time saving options.
Adobe Illustrator
This course presents Illustrator as an industry standard tool for the production of professional quality illustrations such as technical illustrations, mapping, illustrating from photographic reference, and colourizing bitmapped images. After learning the functionality and techniques to produce basic professional quality illustrations, students move on to explore the more advanced features of Illustrator by completing a series of advanced assignments. Students will gain an advanced understanding of the tool set, so that they may solve more difficult design problems. Painting and Effects will be explored in detail. Projects will require a more sophisticated use of Illustrator techniques with a greater focus on finished quality and pre-press.
Fundamentals of Web Development - HTML5 and CSS
This course is the foundation of all studies for web based products and applications, introducing students to principal concepts used in web development. Emphasis is placed on mastering HTML5 and CSS3. Students will learn to produce well-formed, hand-coded web pages, using the features of HTML5 and CSS3. Students will start by learning how to prepare for creating a Web site and use the basics components of HTML5 to design the fundamental layout and design. Students will then learn to add links, images and other resources to the Web site and organize the Web site contents into user-friendly layouts by applying advanced CSS styling. Next, you will learn how to enhance your Web site by creating and processing Web forms, incorporating audio/video components, integrating social media tools and add some basic functionality using basic JavaScript programming.
Linux OS and Environment
This course introduces students to the Linux operating system and its features and functions. Students will learn the key Linux commands, services and protocols such as HTTP protocol, Web servers and more specifically the Apache Web server. Topics include the Linux OS, the shells, the editors, programming tools and secure network utilities.
JavaScript
JavaScript is the primary coding tool that allows for the addition of interactivity and intelligence to HTML documents. Students will learn how to create dynamic, interactive Web pages with the popular JavaScript web programming language. Students will work through basic concepts and techniques of JavaScript programming from the ground up. This course will take the student from the most elementary aspects of JavaScript programming by embedding scripts in HTML documents and then through creating variables, using loops, using logic statements and creating functions, students will progress through to using JavaScript's powerful event handlers.
PHP and MySQL Programming
This course will explore the fundamentals of Web development and programming with PHP and MySQL. This course will explore four key areas of PHP and MySQL; the programming constructs with PHP, accessing and manipulating data through the use of forms, object oriented programming with PHP and Web site security with PHP. Students will learn to work with PHP data types and operators, build functions and control structures, manipulate strings, access files and directories, process data in arrays and strings, work with MySQL databases and manipulate MySQL databases with PHP. Students will also learn how to manage state information, develop objectoriented PHP, handle errors and exceptions and debug PHP code.
Dynamic Web Page Development with JQuery
In this course, students will continue to explore the creation of dynamic web pages by adding additional functionality to them using advanced JavaScript and JQuery. The goal is to make web pages highly functional by using the updated features of JQuery such as jQuery UI, navigation, tables, interactive capabilities, audio, and video integration. Students will learn to work with the JQuery features that improve performance and speed and while using a variety of third-party jQuery plugins that can add more versatility to your web pages.
Python Development
This course introduces the students to the Python programming language. Students will continue to integrate Object-Oriented programming concepts will learning the features of the Python programming language. This course also explore Internet programming including accessing client-side network protocols and email tools, using CGI scripts, and website implementation techniques using Python.
Advanced Web Technologies
In this course, students will learn to integrate Node.js, MongoDB and Angular Web Development into fully functional Web solutions. The course will begin with tutorials on each of the three technologies and then quickly moves on to building several common web applications. Students will learn how to use Node.js and MongoDB to build more scalable, high-performance sites, and then leverage Angular’s innovative MVC approach to structure more effective pages and applications. By the end of this course, students will be able to use all three technologies to develop outstanding next-generation Web solutions.
Mobile Web Development: Building Apps with AWS
AWS is one of the leading cloud computing platforms. Developers working in the mobile space are often not aware of the public cloud and spend months writing applications and server side code for commonly used features such as user registrations and authentications, user logins, password recovery and server side storage. These features are already provided by AWS and can be easily integrated in a fraction of the time. This course provides the students with the knowledge and skills to work in the mobile space and use some of the common services offered by AWS in both a Android and IOS environment.
Android App Development
This course explores the building of mobile applications using the Android SDK. Using a hands-on approach, this course will show developers how to leverage the latest features of Android to create robust and compelling mobile apps. Through a series of projects, each one introducing a new Android platform feature, students will learn the techniques and best practices that exploit Android's utmost functionality. Students will learn how to quickly construct real-world mobile applications for all mobile platforms, including tablets.
iOS Development with Swift
This course provides the students with the knowledge and skill to build iOS applications using the Swift programming language. Students will learn the syntax and features of Swift 4 and Xcode 9, the building blocks of Apple development. In addition to learning the syntax of the Swift programming language, its strings, variables, constants, and control flows, students will also explore the distinctive design principles that define the iOS user experience. By the end of the course, students will be able to build a responsive UI, add privacy to custom-rich notifications, preserve data and manipulate images with filters and effects.
Career and Employment Strategies
In addition to learning career-oriented skills, students learn how to get a job in their chosen profession. Our Employment Services department will assist the graduate in resume writing, as well as preparing for job interviews. Our staff is sensitive to current job market trends and the needs of employers in each local market. Our graduates receive guidance and training to use career tools that help job seekers build a better resume and cover letter, manage an online portfolio, hone interviewing skills, and develop a personal brand online. Students will have the use of a computer lab which has unlimited Internet access, as well as job search resources. Facilitators will also be made available to advise on job finding resources, interview skills and techniques and to carry out mock interviews. This course also looks at the planning, preparation, execution, and follow-up stages of an interview: How people find jobs; Employer expectations; Presenting an enthusiastic attitude; Focusing on the right job and the hidden job market; Transferrable skills; Thank you letters; Effective telemarketing; Handling objections, self-confidence, and self-esteem; Individual counselling and coaching.
Admission
Benefits of this program
Employment Opportunities
Admission
Benefits of this program
Employment Opportunities
Gain a distinct advantage by earning industry-recognized certifications that validate your expertise and skills in key areas such as digital marketing, project management, and CRM. Our program prepares you to succeed, whether you're advancing, switching careers, or starting your own business. Invest in yourself and join a community of certified professionals shaping the digital economy.
I remember [my student] coming to my office and saying, Filiberto, 'I came to shake your hand to thank the entire staff for helping me. I am about to graduate! I'm now going to go back to the community and help the same way that some people helped me come around. I've changed my life thanks to CDI College!'
Filiberto R.
Campus Director
One of my favourite aspects of working as a Campus Director... is the opportunity to positively impact students' lives. Being able to provide them with educational opportunities and also support them achieve their goals brings me great fulfillment.
Tazeen A.
Campus Director