In this program, students focus on computer programming, web development, and designing data-driven systems. Students learn how to write code in a variety of programming languages such as Arduino, ASP.NET, C#, Java, JavaScript, HTML/CSS, PHP and Swift. Students gain experience developing software for diverse platforms including embedded systems, desktop, mobile and mainframe systems. With a strong emphasis on business and entrepreneurial values, students gain experience in problem solving, troubleshooting and system building through a series of applied assignments, projects and co-op work terms. This program is designed for students who wish to learn the latest skills needed by business application developers in industry but want to graduate sooner than allowed by the three-year Computer Programmer/Analyst program. The program emphasizes problem-solving skills using the latest versions of Microsoft, Java and open-source software to develop business and web applications. Object-oriented analysis, design, agile methodologies and programming techniques are mastered and applied throughout the program. Students learn through a combination of theory and practice, applying their knowledge to hands-on assignments and challenging projects. Complementary courses in areas such as mathematics, accounting and communications support the core IT courses. All these skills are then applied to a capstone group project in the last year in which students build a major business application, providing them with experience of the complete application development cycle.

Program Learning Outcomes

  • Apply object-oriented programming (OOPS) techniques to business systems development.
  • Design develop and test programs to automate business processes using the most common computer languages and development tools.
  • Design develop and test database systems for business applications using the most common relational database management systems.
  • Analyze users’ needs and design computer systems using object-oriented methodologies.
  • Work effectively in a project group environment.
  • Execute common commands within commonly used operating systems.
  • Apply information technology fundamentals to solve problems in a business environment.
  • Understand data communications techniques.
  • Apply business mathematics to decision making.
  • Interpret and apply basic accounting concepts.
  • Communicate effectively in speech and writing.
  • Acquire an increased appreciation and understanding of the concepts and values required to enhance the quality of life for self and others in the home, workplace and the local and global community through an exploration of selected broad goals of education in the areas of aesthetics, civic life, culture, personal development, society, work and the economy, science and technology.


Instructional Activities, Design and Delivery Mode

The program consists of ten 45-hour courses at the certificate level, and a Capstone Project. Upon successful completion of ten additional 45-hour courses at the diploma level, graduates are awarded our College Diploma.

Evaluation of Student Learning

Evaluation of student learning is based on completion of course assignments or projects. Due dates and criteria for successful completion of each course assignment will be outlined by the instructor at the beginning of each course.

Courses and Outlines

Course NameCourse CodeCourse LevelCourse IDCourse CreditCourse Outline
Introduction to Computer Programming Using C & PythonCPRO-ICP1CPRO-ICP-0013Learn the fundamental problem-solving methodologies needed in software development, such as structured analysis, structured design, structured programming and introduction to object oriented programming. Use pseudocode, flowcharting, as well as a programming language to develop solutions to real-world problems of increasing complexity. The basics of robust computer programming, with emphasis on correctness, structure, style and documentation are learned using Java. Theory is reinforced with application by means of practical laboratory assignments.
Object Oriented Programming (Java)CPRO-ORI1CPRO-ORI-0013Learn object oriented programming methodology using the Java programming language. Object oriented concepts, such as encapsulation, inheritance, abstraction and polymorphism are covered and reinforced with practical applications.
Introduction to Web Programming (Javascript, HTLM5, and PHP) CPRO-IWP1CPRO-IWP-0013Learn the basics 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.
Operating System Fundamentals (GNU/Linux)CPRO-GNU1CPRO-GNU-0013Learn the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Explore 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 exercises are designed to demonstrate how to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities.
Introduction to Database Design and SQLCPRO-TOD1CPRO-TOD -0013Students learn the fundamentals of Relational Databases design using Entity Relation diagrams, and use 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 are able to compare and appreciate a Database Management System (DBMS) and its components with legacy systems.
Object-Oriented Software Development Using C++CPRO-SOFT1CPRO-SOFT-0013This subject expands the student's skill-set in object-oriented programming and introduces the student to threaded programming. The student learns to model relationships between classes using containers, inheritance hierarchies and polymorphism in the C++ programming language and to write C++ programs that execute on multiple threads.
Database Design II and SQL Using OracleCPRO-DES1CPRO-DES-0013This subject continues the study of database design and SQL begun in DBS201. Students will learn the entire set of SQL statements using Oracle's DBMS. Students will also learn Oracle's SQL *Plus commands. Students will work in teams to prepare and implement the logical and physical database schema for a business application requiring 12-18 tables including all necessary contraints to protect the integrity of the data.
Web Programming Tools and FrameworkCPRO-TOO1CPRO-TOO-0013The modern world deploys its software applications on the web, because of the web's scale, reach, and ease of use. This course teaches students to design and create simple web applications and services, in JavaScript, using widely-used and powerful tools and frameworks. The major topic themes of this course include a study of the web as a programming platform, server and client programming techniques, an introduction to data storage schemes, and an introduction to security.
Network ProgrammingCPRO-NET1CPRO-NET-0013Software 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.
Mobile Graphical Interface ProgrammingCPRO-FAC1CPRO-FAC-0013Students explore mobile Graphical Interface Programming Development of graphical user interfaces (GUI) in a mobile android environment. Students learn to construct mobile GUI applications using the latest Android tools and applying the latest Android best practices.
Database AdministrationCPRO-ADM2CPRO-ADM-0023This course covers the Database Administration (DBA) role for large-scale relational databases. It specifically will deal with the following: the approach to the installation and upgrading of software and utilities; techniques for the allocation of the database to physical devices and directories; the creation of user authorities and controlling access to data and resources; management of data storage; analyzing database performance and implementing procedures for optimizing performance; procedures for the backup and recovery operations.
Systems Analysis and DesignCPRO-ESI2CPRO-ESI-0023Addressing the breadth and depth of object-oriented system analysis and design using a multiple iteration approach. Students investigate, analyze, evaluate, document user requirements and design a business information system. Students apply object (Unified Modeling Language) modeling techniques to document business process, data requirements, and system design. Development of strong verbal and written communication skills, project management skills and effective teamwork are practically applied.
Mobile App Development - iOSCPRO-DEV2CPRO-DEV -0023The main focus of this course is to learn to design and develop apps for the latest iOS platform to Apple standards. During this course students have access to Apple resources for the development and testing of iOS applications. Students will design an application, write code on their own Intel based Mac and run their application on their own iOS device. Starting with an intensive overview of the Swift programming language and the Model View Controller design pattern, students are introduced to the iOS platform. Special attention will be placed on the user interface components of current popular iOS business applications. Topics include; Xcode, Cocoa Touch API, Swift, troubleshooting and debugging, Git source control basics, memory management, user input and gesture recognition, Auto Layout, data persistence including Core Data, NSUserDefaults and Plists. Other selected topics will include working with audio, video, networking, SpriteKit, Core Location and multi-threading. Participants will also be required to work in teams and participate in the online component. Upon completion, successful students will be able to design and build a commercial quality iOS application for iPhone or iPad.
Windows ProgrammingCPRO-WIN2CPRO-WIN-0023Skills in creating object-oriented/event-driven windows-based applications are acquired. Visual design standards are emphasized when creating the user interface. The focus of this course is on developing visual multi-tiered applications.
Principles of GUI Design and ProgrammingCPRO-OFD2CPRO-OFD-0023User Interface Design is broadly concerned with the design of user interfaces for machines and software. On computer screens, this refers to the shaping and the presentation of navigation controls and information displays, as well as functional controls. With the gradual rise over the last decade in mobile and ubiquitous computing (the “internet of things”), the study of user interface design has necessarily broadened to small screens and even everyday objects. Students will learn basic principles of user interface design, interaction models and laws, differentiation of interaction styles, and different user interface paradigms. More practical topics may include physical ergonomics, cognitive ergonomics, design guidelines for different platforms, differentiation of interaction styles, design widgets, accessibility, localization, and software prototyping tools.
Business Programming (COBOL programs...)CPRO-BUP2CPRO-BUP-0023Create 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. The programs include interactive, file-based, and database processing of data related to business problems. Arrays, indexed files, database access and sub-programs are included.
Database Connectivity Using JavaCPRO-USI2CPRO-USI-0023JDBC is a Java technology for accessing SQL databases. It is a core part of J2EE, and it works with every major database product. This hands-on course covers all the details that you will need to use JDBC to access the information in your databases using Java. JDBC (Java Database Connectivity) API (Application Program Interface) will be the main focus. Students will learn to use the basic JDBC API to create tables, insert values, query tables, retrieve results, update tables, create prepared statements, perform transactions and catch exceptions and errors.
Object Oriented Programming with Design PatternsCPRO-DEP2CPRO-DEP-0023Implement the best practices of object oriented program development with software design patterns. Apply UML program specifications in the Java programming language. Use embedded SQL through JDBC 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.
Mobile App Development - AndroidCPRO-MOA2CPRO-MOA-0023The student will learn: 1) Design and build a complete Android application 2) Debug and maintain Android applications using different tools and plugins 3) Thoroughly understand the life-cycle of an Android application and its main components 4) Use external resources, manifest files, intents and adapters 5) Understand and use all Android persistent storage techniques: Preferences, files, databases, and content providers 6) Use Android’s background processing techniques
Graphical User Interface (GUI) ProgrammingCPRO-GUI2CPRO-GUI-0023All computer applications are built using some form of user interface tool. User-interface (UI) software is often large, complex, and difficult to implement, debug, and modify. As interfaces become easier to use, they become harder to create. Today, direct-manipulation interfaces (also called GUIs for graphical user interfaces) are almost universal. These interfaces require that the programmer deal with elaborate graphics, multiple ways of giving the same command, multiple asynchronous input devices (usually a keyboard and a pointing device such as a mouse), a mode-free interface where the user can give any command at virtually any time, and rapid “semantic feedback” where determining the appropriate response to user actions requires specialized information about the objects in the program.

Leave a Reply

Your email address will not be published. Required fields are marked *