Seneca Polytechnic will be closed from the end of business day on Friday, Dec. 20, 2024, to the reopening on Thursday, Jan. 2, 2025. Part-time classes for the Winter 2025 Term will begin on Friday, Jan. 10. During the holiday closure, you will still be able to access The Service Hub virtually through the online portal and chatbot.
Learn more about the academic programs we are delivering in Winter 2025. If you have any questions about part-time studies, please contact us.
The focus of the Computer Programming diploma is on developing marketable skills to secure employment in the areas of object-oriented programming, legacy systems programming, operating systems, PC and user support.
The career orientation of these courses requires effort and commitment on your part. In addition to a minimum of three hours attendance per week in class, programming courses require between twenty to thirty hours of extra lab work, and you should also expect to devote from three to five hours per week to assigned readings and projects.
Certain courses and codes may change without prior notice.
Students are invited to attend an information session.
It is recommended that students have a good command of the English language and a facility for Mathematics prior to starting a Certificate or Diploma Program.
It is your responsibility to ensure that program requirements and course prerequisites as outlined are met. Prerequisites are included for your academic protection. Knowledge of the prerequisite material is assumed by your instructor and instruction will proceed accordingly. Students lacking prerequisites not only jeopardize their own ability to succeed but present unnecessary interruption. If you lack appropriate prerequisites (or Transfer Credit for the prerequisite course) you may be asked to withdraw or transfer to a more appropriate course with the risk of academic/financial penalty.
Part-time Studies courses are being offered in either of the following four formats: Online, Flexible, In-person, Hybrid. Click Availability below to see current offerings.
Students with a completed high school diploma or prior English Proficiency scores can find more details on next steps here.
Students without any of the above can be placed via successful completion of ESL934 OR English Assessment.
COM101 replaces EAC 150. Students who have successfully completed EAC 150 are not required to complete COM101.
This course introduces students to the core concepts of communication. Students will cultivate an awareness of these concepts by analyzing how they are used in a variety of texts and contexts, and they will apply these concepts strategically in their own writing. Through a variety of writing tasks centered on these core concepts of communication, students will develop the transferable reading and writing skills essential for success in their post-secondary studies, workplaces, and communities.
Students with a completed high school diploma or prior English Proficiency scores can find more details on next steps here.
Students without any of the above can be placed via English Assessment.
This course introduces students to the core concepts of communication. Students will cultivate an awareness of these concepts by analyzing how they are used in a variety of texts and contexts, and they will apply these concepts strategically in their own writing. Through a variety of writing tasks centered on these core concepts of communication, students will develop the transferable reading and writing skills essential for success in their post-secondary studies, workplaces, and communities.
This course is designed for students who are learning computer programming. The theme of the course is to equip students with the knowledge, skills, and techniques needed to become a successful computer programmer. Students learn about computer hardware and software, application installation, file and folder management, and introductory computer science topics.
This first course in computer programming emphasizes problem solving strategies using structured programming techniques. The C programming language is used to introduce problem analysis, algorithm design, and program implementation. Students work in a Linux environment.
This course introduces the concepts of critical and computational thinking with an emphasis on problem solving and problem analysis. Independent of any programming language, these concepts provide the basis for deriving application and system solutions.
Programmers must work with different operating system technologies and environments. This subject introduces students to the Linux and Windows operating systems. Students will learn how to work in these environments utilizing various operating system features to enhance productivity. Students will learn how to navigate the filesystem, manage development toolchains, and develop scripts to automate tasks.
Note: This course replaces ULI 101. Students that have taken ULI 101 are not required to take OPS 102
This subject introduces students to data management concepts, database systems and database application programming. Students learn to represent information with a relational database model and manipulate data with an interactive query language. Students will model data using Entity Relationship Diagrams.
This course replaces DBS 201. Students that have previously taken DBS 201 are not required to take this course.
The Internet has revolutionized modern life, including the way people shop, communicate, and even where and how they work. At the forefront of this revolution are the people writing the software that drives the World Wide Web. The goal of this course is to provide the student with key skills demanded in the fast-paced and exciting field of web development. The course will begin with an in-depth study of HTML, the universal language of the Web. This will be supplemented by coverage of XHTML and XML, the next-generation languages of the Web. CSS will be studied as it relates to enhancing the presentation of websites. Client-side programming will be taught using JavaScript and DHTML, languages used to create dynamic content and provide a true interactive experience for the Web site visitor. Throughout the course, emphasis will be placed on the development of professional, cross-browser websites.
Students will explore techniques for software testing and debugging using current industry processes and tools for the Software Testing Life Cycle Note: This course replaces DCF 255. Students who have completed DCF 255 will not be required to take SFT 221.
IPC144 or C Programming Experience
This course introduces students to object oriented programming concepts. Students will learn to build reusable objects, making use of encapsulation, polymorphism and inheritance in the C++ programming language. Throughout the course, the emphasis will be on using object oriented approaches to solving problems.
This course builds on knowledge gained in previous courses and introduces the student to advanced data management concepts and advanced database application programming. Students will explore non-traditional databases, including non-relational types.
This course introduces students to requirements gathering and systems design using a small business (sole proprietorship) as a case study. Students will gain an understanding of the Canadian business environment, while documenting the required design models for the case study. Business solutions will be designed using OO design techniques. Existing enterprise software will be surveyed as the question of purchase or build software is explored.
Note: Students who have completed SYS366 are not required to enrol in SYD366.
OOP244 or C++ Programming experience.
This course 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.
The 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.
With businesses thriving on good customer relationships, effective business communication is the cornerstone of company success. This course will help you learn the principles, practices, and tools for communicating effectively in the workplace using cases and/or projects.
From learning about audience, context, formats, tone, and media to applying your skills in writing correspondence, reports, and presentations, this course will guide you in developing professional interpersonal, collaborative, and web-based knowledge and practices.
This is a survey course on algorithms and data structures commonly used in computer programs. Students taking this course will learn how these classical data structures and algorithms operate. Students will learn the theoretical basis for the performance of these algorithms and data structures. They will learn how to implement these data structures and algorithms and apply them to real programming problems. Students will also learn how these data structures are used to implement parts of the standard language libraries. Furthermore, the course will also introduce students to computational theory and provide a fundamental background to computer science concepts.
Admission into the Project Management - IT program
This course provides students with an introduction to the terminology, life cycles and core processes involved in the management of IT projects. Students also learn the responsibilities that a project manager has during the development and implementation of an IT project and the required skill sets a project manager needs in order to successfully meet these responsibilities.
Theory is supported by hands-on practice with the software, tools and techniques involved in project management. Students gain a basic understanding of scheduling tools and the processes that are part of the Project Management Body of Knowledge (PMBOK).
Notes:
In order to meet Seneca's breadth requirements for diploma or advanced diploma programs, students must successfully complete at least 3 General Education courses toward their program, satisfying the following criteria:
The following courses may be used as professional options in module 4 of the Computer Programmer diploma program:
(Students enrolled in the full-time program, please check with your coordinator for equivalency)
The data warehousing and analytic marketplace continues to be one of the fastest growing areas of technology and applications. Much of this growth is fueled by applications starting to leverage new types of data to gain new insights into their industry, competition and customers as well as through AI techniques and approaches. This course introduces students to big data and AI concepts. Key concepts covered in this course include the Hybrid Data Warehouse, Logical Data Warehouse, Data Lakehouse and Quantum Computing. This course provides hands on experience with Open Source capabilities such as Spark; an introduction to programming languages such as Python and R as well as analytic techniques such as Machine Learning and Text Analytics. Working with non-traditional relational data such as semi-structured and unstructured data such as text, JSON and social data is included in the course. Performing analytics using capabilities such as SQL, SQL over Hadoop and DBaaS sources is covered.
This course will review the purpose and responsibilities of the Database Administrator. The students will learn how the DBMS manages the data and controls such as recovery, locking, transaction logging and performance tuning. Through hands-on Database Administration students will practice much of the theory presented.
This course reviews the role of the Database Administrator using Microsoft's SQL Server in a Windows environment. The features, utilities and operations of a Database Management System (DBMS) are examined. Through hands on Database Administration, students will learn how the DBMS manages the data and controls such as recovery, backup, and security for a SQL Server database.
This course uses Oracle's PL/SQL language to code PL/SQL blocks, procedures, functions, packages, and database triggers for applications developed using Oracle relational databases.
Using Microsoft's Analysis Services, this course introduces students to DataWarehousing design and development. Star schema fact tables and dimension tables will be examined. Multidimensional databases are emphasized as the students build on their database knowledge. A datawarehouse will be developed and modified.
Students are introduced to Java connectivity challenges that businesses have to address when creating front-end GUI to a back-end database. This course allows the students to use the relevant technologies of enterprise Java programming and distributed computing systems. Students examine integrating the business layers with JavaBeans, Servlets, JSP and Enterprise JavaBeans. The students also gain experience in developing Java applications that use new technologies in businesses such as JSON and JSF.
This course covers the foundations of programming applications for the Apple iOS operating system. Students will learn and become proficient with the development tool environment, and create graphical end-user iOS applications that follow the MVC design pattern. Students will write their programs in the Swift and Objective-C languages, using the object-oriented Cocoa framework. A wide range of iOS development topics, including user interface programming techniques, data management, and network access will be covered.
JAC444 - Introduction to Java
This course covers the foundations of programming applications for the Android operating system. Students will learn and become proficient with the Eclipse development tool environment, and create graphical end-user Android applications that follow the mobile design pattern. Students will write their programs by using the Java language and runtime platform. A wide range of Android development topics, including user interface programming techniques, data management, and network access will be covered.
Learn advanced programming applications for Apple mobile operating systems using Objective C and Cocoa framework. Topics include Frameworks, Core Animation, Core Location, Core Motion, Socket Programming, Gesture Recognition, iPad specific development and iCloud.
OOP244 or OO programming experience
This course will introduce the fundamentals of Visual Basic.NET. Concepts such as object-oriented programming; event-driven programming fundamentals and the Visual Studio.NET Integrated Development Environment will be covered. The student will gain the knowledge and practical skills needed to develop Visual Basic.NET applications for the Microsoft.NET platform.
C# is a modern, object-oriented language intended to be the premier language for building enterprise, web-based applications using the .NET Framework. It is simple, type-safe programming language that combines the high productivity of Visual Basic with the raw power of C++. This course focuses on the C# programming fundamentals, program structures and language syntax. It provides students the working knowledge and skills needed to develop C# applications for the Microsoft .NET platform. Students will learn to build a range of object-oriented applications, from client-side GUI development, to server-side web services. Topics include the .NET Framework, .NET Visual Studio IDE, overview of object oriented programming, arrays, methods, inheritance, polymorphism, files and streams, garbage collection, exception handling, versioning support, debugging, and the NGWS runtime environment.
This course is designed to introduce the student to build end-to-end web applications using HTML/JSP/Servlet, with an emphasis on server-side Java application development.
Students learn the architecture of the open source technologies as Struts and Hibernate. Students learn how to set up an extensible development environment for J2EE AJAX techniques for creating interactive web applications, Web Struts based Applications and persist the data using Hibernate. The course covers in detail most aspects of the implementation with regards to reusability, scalability, internationalization and maintainability of the application. AJAX is the methodology of getting the web pages to feel more responsive by exchanging small amounts of data with the server behind the scenes, which will lead to a more flexible and reliable web application. The Struts framework has the acceptance of the industry and unveils a large usability along many J2EE applications with large cover for financial, banking, industrial and manufacturing sectors. The framework wants to be extensible and flexible in order to be used on different applications with no pre-requirements except the J2EE environment. Hibernate is gaining a lots of popularity and lets you develop persistent classes following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework. Hibernate has been used to shape the new EJB entity bean portion of specifications.
Implementing web applications using Module View Controller Architecture (MVC) allows java developers to separate the business layer from the presentation and the control layers. This business layer is the interface with the database of the system, so managing the database persistency issues is very much required. Studying the importance of the persistency layer with the most used architectures and frameworks in java world is essential to have a complete web application design and implementation. Using Hibernate 3 and Java persistence APIs (EBJ3) as the famous persistency layer frameworks is a big strength in building web applications. In this course, different architectures will be viewed and studied, approaches to persistency will be investigated and different frameworks will be viewed. Comparison among these frameworks will be done. Also, in this course a project will be designed and implemented using web application (Experience Sun Glassfish Enterprise Servers) and Hibernate 3 as a persistency layer with the covering of all the issues database developers have to deal with.
DevOps is a software development methodology that combines software development and operations together in the entire software/service life-cycle, through the development process to production support. Many companies are adopting DevOps to get software projects completed in a faster and automated way by communication, collaboration, integration and automation between software developers and technology operations professionals. In this course, students will learn the principles and practices of DevOps including Source Control management, Integration, Testing, Configuration management and Monitoring.
IBC233, BAC 344
This course is oriented towards business application programming on the IBM AS/400. Students will design, code and test programs using modular techniques. Programming assignments include control breaks, sequential and random processing of files, interactive programming using subfiles and use of the AS/400 application development tools and utilities. The emphasis will be on procedural programming.
SYS366 or experience in systems analysis
This course focuses on the practical application of object oriented concepts to the development of business systems. Students will learn how to use object oriented analysis and design techniques to create software models of business systems using the Unified Modeling Language (UML) and the Rational Rose modeling tool. Students will perform use case analysis to identify initial classes and will progress to detailed class design, defining class attributes, behaviours, hierarchies and relationships. Throughout the course students will work on creating a detailed software model based on a business case study.
This is the third course in the web programming course sequence. Students learn to design and create moderately complex web applications and services that can be deployed at scale. The JavaScript language is used, with widely-used and powerful tools and frameworks. The major topic themes of this course include a study of the patterns for app and service development, using frameworks that enable rich and functional browser apps, working with robust and scalable data storage platforms, and deployment methodologies.
This course replaces INT 422.
JAC444 or BPJ 444
The use of Web Services is expanding rapidly as the need for application-to-application communication and interoperability grows, making them available across the internet. The course will introduce students to a set of communication technologies as defined by Web Service standards. This course specifically address the skills needed to understand basic concepts like XML, WSDL, UDDI, SOAP.
This course introduces business information technology on the IBM midrange family of computers running the IBM i operating system. Students will utilize an object-based architecture using IBM i tools to create business applications. These applications will be developed using the DB2 relational database, Control Language commands and programming, and the business-oriented RPGLE programming language. To demonstrate the heterogeneous systems support available on the IBM i platform, students will investigate the Integrated File System, which supports non-native file systems, desktop connectivity tools, and support for mobile application development.
This course will get students hands on practice using Java as an object-oriented language. Topics studied will include OO concepts in Java, threads, exceptions, GUI programming using Graphics 2D/Swing, input/output, networking, client-server programming, applets, servlets and database access via JDBC.
Note: Not all professional options are offered each semester.
This program is eligible for OSAP funding.
Course load is used by OSAP to determine funding options for programs.
If you are taking one to two courses at the same time, you may be considered for part-time student grants and loans.
If you are taking three or more courses at the same time, you may be considered for full-time student grants and loans.
To find out if you qualify and to learn how to apply, please visit the OSAP website.
For information on other awards and financial assistance, please see Financial Aid.
Earn college credits for what you already know.
Prior Learning Assessment is a method of assessing and recognizing learning that is equal to
college level learning, but has been gained outside a traditional classroom (through work
experience, volunteering, outside study, etc.). If you can prove that the knowledge you have gained
meets the outcomes of a Seneca course, then credit will be awarded.
How does the PLA process work?
Prior Learning is demonstrated through a "challenge" process. The process measures learning
through a variety of methods which may include tests, portfolio assessment, interviews,
demonstrations, essays, and work samples. The method used will be determined in consultation with a
Program Coordinator.
For more information and to determine if you are eligible for PLA, please call the Program
Coordinator.
The process may take from 6 to 8 weeks.
Note: Not all courses can be challenged. For more information go to PLA website or contact your Program Coordinator.
Many students who enter Seneca Polytechnic will have earned academic credits in postsecondary educational institutions which they may be able to apply toward completion of a Seneca Polytechnic program.
Requests for Transfer Credit must be for a specific course and must be accompanied by an official transcript and course outline. A minimum grade of "C" (60 percent) is generally required for a course to be considered for Transfer Credit.
Download a Transfer Credit Request form. An official copy of your transcript and applicable detailed course outlines should be attached and submitted. Please note it may take 4 to 6 weeks for a Transfer Credit decision.
Please visit the Office of the Registrar.
Build on your Seneca Polytechnic credential
Seneca is recognized as a leader in pathways and offers a range of options to help you reach your educational and career goals.
As a graduate of this program, you may be eligible to pathway into a bachelor's degree program at Seneca or at one of our partner institutions.
To explore your pathway options and learn more, visit our Degree Transfer Guide.
If you have additional questions regarding pathways to, within and beyond Seneca, connect with our Academic Pathways team at 416.764.0399 or email academic.pathways@senecapolytechnic.ca.
After reviewing the Degree Transfer Guide, you can also book a virtual appointment to discuss your options in more detail with a dedicated Pathways Adviser.
When you meet all program requirements and become eligible for a certificate, diploma, or degree, you must inform the Registrar by completing a Graduation Application form and paying the graduation and alumni fee. Certificates, diplomas, and applied degrees are issued twice a year in the Fall (October), Spring (June) and Winter (February).
For further information including deadlines and fees, please visit the Convocation website or contact the Convocation Office at theservicehub@senecapolytechnic.ca.
Students will use networked mid-range and PC computer platforms to access today's leading operating systems (Windows, .Net, UNIX and OS/400 on the AS/400). The College uses SFTP and SSH access modes for some courses to enable work to be done from home. Most programming and networking courses and labs are located at Seneca@York Campus. The programming course students are expected to log 20-30 hours of lab time in addition to classroom time. The lab hours are extensive. Please check with the learning commons or Open Lab for their hours of operation. During evening hours, Continuing Education students have priority over day students; until 7 p.m. on weekdays, full-time students have priority, but Continuing Education students may use facilities that are not occupied. On weekends, Continuing Education and full-time students have equal right to the use of the labs. Your registration receipt is your passport to the lab, although AS/400, UNIX and other users may also require account codes and passwords provided by their instructor. In some courses, students will be required to purchase removable hard drive kits or other hardware. In most courses students will require a USB Drive for storing programming assignments.
Rasika De Silva
Program Assistant
Rasika.DeSilva@senecapolytechnic.ca
416-764-0977
Yilmaz Cam
Part-time Program Coordinator
Yilmaz.Cam@senecapolytechnic.ca
437-312-0338
Sheri Ladoucier
Academic Program Manager
Sheri.Ladoucier@senecapolytechnic.ca
416-764-0983
For more information about this program, fill out the following form.
Students are invited to attend an information session.