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, aps, 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 in just 4 semesters.

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
Tel: 705-235-3211 ext. 7246
Email: lapajnee@northern.on.ca

Neal McNair
Tel: 705-235-3211 ext. 2127
Email: mcnairn@northern.on.ca

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 Accessment & Recognition (PLAR) process to demonstate equivalency of admission requirements prior to admission into a program.

For more details, please contact the Admissions Office at 705-235-7222 or admissions@northern.on.ca.

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):

  • IELT 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 admissions@northern.on.ca.

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.

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

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

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.

MA1100 Mathematics I – Computer Programming

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. Students investigate computer number systems in addition to Boolean algebra and logic to help solve problems involving computer systems.

GN2133 Law and Ethics

This course provides a basis for legal and ethical issues of importance to graduates and specifically covers tort law, contract law, legislation regulating business organizations, employment law, and professional liability. The overall objective of this course is to begin preparing the student for professional designations and/or examinations.

Semester 2
IN2343 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.

 

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

 

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.

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

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

GN2000 – General Education Course

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 3
CST2234 – 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).

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.

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

CST8288 – Object Oriented Programming with Design Patterns

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

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

GN3000 – General Education Course

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

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

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

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

GN4000 – General Education Course

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