Computer Programming

Post-Secondary Programs
Credential Earned: College Diploma (2 Year)
Campus: Timmins
Program Length: 4 Semesters

Program Code: T115


Turn your curiosity for how things work into a career.

With Northern’s new two-year Computer Programming diploma you will be ready to create websites, apps, and improve the technology that we use in our everyday lives.

You will have developed and mastered skills for Linux server administration, database management systems like Oracle and SQL, as well as data analytics and network programming.

The first 2 semesters are offered at our Timmins Campus, offered in a hybrid format, while the final 2 semesters are offered in partnership with Algonquin College’s AC Online Campus, allowing students maximum flexibility in their schedules while experiencing dynamic, real world instruction that matches the needs of the workplace.

The practical curriculum means you’ll have extensive practice with programming software used in the most cutting-edge applications today. Even if you are complete beginner in programming, this program will provide you with all the skills you need

You’ll also develop communications skills and develop strong project management and logical reasoning processes to make sure you are prepared to solve problems and create new solutions.

This program prepares you with real world experience and networking through a final semester project with external partners.

Career Opportunities

Graduates may work in a variety of different fields, as almost all sectors of industry require computer programmers. You may be employed as a(n):

  • Software programmer
  • Web programmer
  • Business programmer
  • Application programmer

Graduates may also find opportunities in database design and database administration.


Contact Information

Eric Lapajne
Program Coordinator
Tel: 705-235-3211 ext. 7246

Neal McNair
Program Coordinator
Tel: 705-235-3211 ext. 2127

Admission Requirements

General Admission Requirements

  • Ontario Secondary School Diploma (OSSD)
  • Grade 12 English (C, U)
  • Grade 12 Math (C, U)

Or equivalent

Or mature student status

Academic prerequisites for this program may be obtained free of charge through Academic Upgrading.

Applicants who do not have a high school diploma or equivalent and will have reached the age of 19 years on or before the start of the program must undergo academic testing and may be required to complete Prior Learning Assessment & Recognition (PLAR) process to demonstrate equivalency of admission requirements prior to admission into a program.

For more details, please contact the Admissions Office at 705-235-7222 or

Additional Requirements for International Students

In addition to the general admission requirements, international students must have proof of English Proficiency and meet the requirements below.

1. Proof of Senior High School Diploma/Certificate

2. English Proficiency (we will require one of the following):

  • IELTS Academic International English Language Testing System: a minimum overall score of 6.0 must be achieved with no individual band score under 6.0; however, we will accept one band at 5.5.
  • TOEFL (Test of English as a Foreign Language) – Computer-based overall minimum score of 79
  • PTE (Pearson Test of English) Academic – Graduate Diploma: 58+

If your country of citizenship has English as its official language, we may accept alternate proof of English Proficiency.

All educational documents must be submitted in English and will be dependent on the country of citizenship.

For more information, please contact

Semester 1
IN1104 IT Essentials I

This course covers the fundamentals of computer hardware, software and advanced concepts such as security, networking, and the responsibilities of an IT professional. Students learn how to assemble and configure a computer, install operating systems and software, and finally troubleshoot hardware and software problems. In addition, chapters on networks and communication skills are included. This course helps students prepare for CompTIA’s A+ certification.

Prerequisite: None.

CM1903 Communications I – Model A

Communications I is a practical course designed to help strengthen essential oral and written communication skills. Students will be exposed to a variety of learning methods and communication formats. Emphasis will be placed on the use of appropriate structure, writing conventions, tone and style as well as the enhancement of interpersonal, teamwork and presentation skills. Students will also develop discipline-specific documents, practice proper business etiquette and learn the importance of ethical behaviour and professionalism in the classroom and workplace. Attention to detail is emphasized.

CP1025 Introduction to Programming

This course provides an introduction to programming using Java. The course will focus on core programming concepts that are universal to all modern programming languages. Students will learn to write programs using proper algorithm design, logic, data types, variables, control structures and functions (methods). The goal of the course is to provide a solid foundation of core programming skills that will allow students to further their learning in a variety of development environments.

CP1035 Database Management

This course will present the essential skills for designing and working with relational databases. Students will acquire a solid foundation in Structured Query Language (SQL) by working on a series of existing databases. Techniques for the design and implementation of databases will be presented following the principles of normalization and referential integrity.

MA1100 Mathematics I

This course covers basic algebra properties, graphing the straight line, basic geometry and trigonometry, and solving a system of equations graphically and algebraically. It also covers vector addition by components and by the cosine and sine laws.

Semester 2
CM2903 Communications II – Model A

Communications 2 is a one-semester course that applies the oral and written communication tools learned in Comm1 to specific business/technical applications as required by industry today. The student will enhance the writing skills acquired in COMM1 and learn to produce effective documents including business letters, emails, employment documents as well as reports applicable to their field of study. Students will also learn how to plan and participate in meeting situations and participate in mock interviews (as applicable) so that they are prepared to transition into the competitive employment market. Students will continue to learn and apply proper language and grammatical structures and apply editing strategies to business/technical documents through both in-class/online activities and through the usage of the customized Mylab online grammar tool. As with COMM1, the content will be inclusive and reflect the diverse workplace that students will experience in the future.

*Students for whom English is not their first language will receive additional language support through the concurrent delivery of CM2933 (Enhanced Comm2) which continues to focus on the foundational grammar, punctuation, and sentence structure skills introduced in CM1933.

CP2005 Intermediate Programming

This course covers intermediate level programming concepts using the Java programming language. Using a project-based approach, students will learn and apply Object Oriented Design (OOD) principles in solving computer programming problems.


IN3095 Linux Server Administration

Demand for Linux technical expertise is growing rapidly in IT departments. Linux is being adopted by many companies for numerous services once provided by other varieties of UNIX and Microsoft Windows operating systems. The course will introduce students to the most common methods, hardware and software used to achieve a useful and secure Linux computer system. This course helps students prepare for CompTIA’s Linux+ certification and the LPIC-1 certification through the study of the configurations used in the set up of Fedora Linux operating system installations.


CP2004 – Web Programming

This course focuses on 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.

CP2014 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. 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. Open source database software is also explored.

General Education Elective

General Education Courses are selected online each semester by the student from a list provided and exposes students to a related area of study outside of their immediate academic discipline. Certain programs have predetermined electives. 

GN1443 Indigenous Culture and Awareness

This general education course will provide students with an introduction to Canadian Indigenous Nations’ history, sovereignty, land titles, cultural history and current critical issues. Topics addressed include the content of Indigenous rights, economic and social development, community and political processes, and business law and policies, justice & social services. Canadian Indigenous History and Relations is a general education course that has been incorporated into all programs at Northern College.

Semester 3
CP3004 Systems Analysis 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).

CP3005 – Network Programming

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 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.

CP3014 – 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.

CP3024 Object Oriented Programming with Design Pattern

Implement 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

CP3034 Business Intelligence and Data Analytics

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 Business Intelligence 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.

General Education Elective

General Education Courses are selected online each semester by the student from a list provided and exposes students to a related area of study outside of their immediate academic discipline. Certain programs have predetermined electives. 

Semester 4
CP4004 Advanced Database Topics

Teams and individuals explore advanced database topics: 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.

CP4014 Enterprise Application Programming

With a focus on the IT Enterprise, students are introduced to the application enterprise environment using and extending the technologies learned in previous courses. Topics studied may include the Java enterprise environment (JEE), the Microsoft .NET environment, Enterprise Android programming, cloud computing, security and the corporate database repository.

CP4024 Programming Language Research Project

Learning a new programming language or framework on your own is a challenge faced by programmers on the job as part of their career. 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.

CP4034 Software Development Project

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. Outside of in-class requirements, teams must 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.

General Education Elective

General Education Courses are selected online each semester by the student from a list provided and exposes students to a related area of study outside of their immediate academic discipline. Certain programs have predetermined electives. 

Back To Top