Overview
Prepare yourself to be an integral part of the software industry.
The Computer Programmer, two-year diploma program offers students the opportunity to study current trends in software development. This intensive, two-year program concludes with a work term for eligible students.
Web technology topics include HTML5, CSS5, JavaScript, jQuery, Bootstrap, React and others to develop user interfaces. Students work with server-side programming languages including Microsoft C#.NET, Python and Java. In the database components, students perform all aspects of database design and work with SQL/NOSQL on several database management systems (DSMS). Students demonstrate their knowledge and skills by developing solutions to real world, three tiered (client, server, database) problems.
Major coursework is assigned as term projects that span entire terms allowing students to actively engage in the evaluation, design and implementation of real world software applications. As a result, student develop deep content knowledge as well as critical thinking, collaboration, creativity and communication skills.
In addition, general education, business, math and communication courses help students expand their organizational, critical thinking and communication skills.
The widespread use of computer technology in all industries, from manufacturing, transportation, construction, education, health and financial institutions means that computer programmers are the key people shaping the solutions of today and tomorrow.
Admission Requirements
O.S.S.D. or equivalent with a minimum grade of 60% in the following:
- Grade 12 English C or U
- Grade 11 or 12 Mathematics C or U
Costs
- Year 1 $4,634.34
- Year 2 $4,548.42
Please Note: These fees apply to the 2024-2025 academic year and are subject to change. Fees do not include books (unless specifically noted), supplies or living costs.
Technology Requirements
In order to keep pace with the requirements of each and every course in your program, Lambton College requires that each student have access to a laptop while studying at our college.
Computer Labs & Software Access
Courses
Front-End Web Development I
Through a blend of theoretical concepts and practical applications, students master the creation of dynamic and engaging websites. Using a hands-on approach, students integrate modern web technologies to (1) design and implement well-structured and semantically meaningful web pages using HTML; (2) implement Cascading Style Sheets (CSS) to enhance the visual appeal of web pages, including techniques for layout, formatting, and responsive design; (3) incorporate JavaScript that adds interactivity, dynamic content, and functionality to web pages; and (4) design and publish a comprehensive and fully functional website.
Problem Solving & Program Logic
Programming logic and problem solving - without them, software development skills are learned but soon forgotten. A language-independent approach introduces students to various components common to all programming languages without assuming any previous programming experience. Students (1) design, test, and debug programs using a top-down modernized approach; (2) control the flow of a program with decision and repetitive structures and functions; (3) implement array processing; and (4) develop programs that process data from files including control break processing. Students develop software solutions using pseudocode and flowchart software tools with an emphasis on problem solving and structured programming techniques.
Python Programming
This course uses the Python programming language to reinforced programming logic and problem solving skills taught in CSD 1133, Problem Solving/Program Logic. Students implement Python programs to (1) design, test, and debug programs using a top-down modernized approach; (2) control the flow of a program with decision and repetitive structures and functions; (3) implement array processing; and (4) develop programs that process data from files including control break processing.
Relational Database Design
A comprehensive introduction to relational database design. Using a hands-on approach, students (1) analyze user requirements and construct data models using Entity Relationship Diagrams (ERD), normalization, and relational data models; (2) create and modify database table structures using Data Definition Language (DDL); (3) implement database constraints to ensure data integrity and consistency; and (4) design, implement, and prepare technical documentation for a database project based on typical business requirements.
Introduction to Project Management
Project management has become essential to the operations of modern organizations. This course will allow students to gain the fundamental knowledge in managing IT projects and learn to solve real-world problems using both predictive and adaptive approaches, industry best practices, cutting-edge tools, and software. Students will prepare for the Project Management Institute (PMI) exams to achieve a Certified Associate in Project Management (CAPM) certification, setting a strong foundation for a career in Project Management.
Workplace Communication Applications & Analysis
In today's management and administration workplace, having strong computer skills is essential. This course provides students with resources and guidance to develop skills in Microsoft Office applications, focusing on three key areas: Word, Excel, and PowerPoint. While learning about these programs, students develop skills in time management, accountability, and their ability to follow direction.
ITIL Foundations
The internationally recognized Information Technology Infrastructure Library (ITIL®) framework is rapidly becoming the best-known and most widely recognized certification for IT service management worldwide. This course introduces students to the basic principles and structure of ITIL, and prepares them to challenge and successfully pass the ITIL V4.0 Foundation exam.
Front-End Web Development II
As a continuation of Front-End Web Development I, JavaScript and jQuery are introduced. Students (1) implement JavaScript and jQuery to enrich the user experience; (2) employ AJAX to allow server-side requests to exchange data with a Web server; (3) employ JSON as an over-the-network data format; and (4) implement APIs from popular websites to enhance a web page. Students add to their term project from Front-End Web Development I by designing and implementing MVC applications that includes client-side, server-side, and database processing.
Programming C# .NET
The C# programming language is introduced. Students (1) create, test, and debug programs using a top-down modernized approach; (2) implement decision and repetitive structures and functions to control program flow; (3) formulate object-oriented designs using classes, instance variables and methods and constructors; (4) evaluate, create and analyze objects including strings and arrays. Microsoft Visual Studio is used for program development.
Programming Java SE
Various components of the Java object-oriented programming language are introduced. Students (1) develop solutions using data types, I/O, and control structures; (2) use arrays and collections to store and work with single and multidimensional data; (3) create programs that adhere to the object-oriented paradigm; and (4) build standalone GUI applications that interface with a database.
Relational Database & SQL
Building upon CSD 2203, students expand their skills in Structured Query Language (SQL). Using a hands-on approach, students (1) use Data Manipulation Language (DML) to add, delete, and modify data and perform constraint testing; (2) develop queries for single-table and multiple-table databases; (3) create and employ subqueries for more complex data retrieval; (4) implement views and indexes to optimize database performance; and (5) generate test data, populate the database, conduct constraint testing, and execute SQL queries based on the database designed in CSD 2203.
General Mathematics I
This general course in mathematics reviews and enhances topics in arithmetic, algebra, linear graphs, measurement, and statistics. A problem solving approach is used throughout the course, and there are many practical applications.
Workplace Communications
This course focuses on skills required in any organization or position: writing business documents, responding to realistic scenarios, and speaking in an organized and vibrant manner. Students will practice professional and inclusive communications skills by producing, revising, and editing short business documents and engaging in verbal interactions and presentations.
General Education Elective
Full Stack JavaScript
As a continuation of Web Technologies II, students design and implement component-based web applications using JavaScript and JavaScript frameworks. This course introduces students to the MERN (MongoDB, Express, React, Node) web stack. Students (1) develop software using modern JavaScript standards (ES6+); (2) develop web applications that maintain a NoSQL database; (3) implement applications adhering to the microservice architectural pattern by developing web API endpoints, and (4) develop applications that run on a variety of computing platforms. Students add to their term project in Web Technologies II by designing and implementing component-based applications that include client-side, server-side, and database processing.
Web Applications using C#.NET
The C# programming language is expanded upon and ASP.NET is introduced. Students (1) implement web applications that follow the MVC architecture pattern by leveraging the ASP.NET MVC framework; (2) build web applications that interface with databases through the use of Entity Framework; (3) manage project dependencies with NuGet package manager; and (4) test applications with unit tests.
Programming Java EE
As a continuation of Programming Java SE, students (1) manage databases using Java; (2) build two- and three-tier client-server applications; and (3) refine industry-standard coding practices. Students build a complete Web-based application that incorporates three-tier development including client-side, server-side, and database processing.
DevOps Tools & Practices
Modern software development is done with a high degree of velocity, often with software changes being released multiple times daily or weekly. This course introduces students to industry-standard tools and techniques that help manage the development and release of such software using Agile methodologies and DevOps principles. Students (1) evaluate technical and business background details related to DevOps;(2) evaluate Cloud platforms as a deployment option for applications; (3) evaluate responsibilities of operations teams and get familiar with their day-to-day operations;(4) evaluate CI/CD pipelines and their components and discuss micro-service architecture;(5) evaluate containers and containerization as the most up-to-date application delivery method. Throughout the term, students work in teams on a term project, to develop and deploy software with evolving requirements. Students will document these changes based on Software Requirement Specification standards.
Database Programming
A comprehensive journey into SQL and PL/SQL database programming within the dynamic Oracle database environment. Using a hands-on approach, students (1) create robust PL/SQL blocks that incorporate program control structures, embedded SQL statements, powerful cursors for data manipulation, and exception handling routines; (2) leverage the power of stored procedures and functions to design efficient, reusable code that scales easily in database development; (3) create packages that encapsulate and organize related PL/SQL objects, fostering modularity, scalability, and maintainability in database projects; (4) create database triggers that automate database actions and enforce data integrity constraints, ensuring database reliability and consistency. This course, combined with added study materials, prepares students for the Oracle PL/SQL certification exam.
Agile - Scrum & Other Methodologies
Current business trends demand that practitioners of Project Management be drivers of disruption in organizations. Increasing uncertainty and volatility have accelerated disruption making digital transformation a necessity for survival. The application of agile thinking has gone beyond software development, agile marketing, management, and organizations are fast becoming mainstream. Business agility rewards include increased Return on Investment (RoI), Reduced Risk, Customer Delight, Rapid Innovation, Adaptable Teams, Employee Retention, and Growth, Faster Time to Market, and Value Driven Decisions. This course shall provide students with an in-depth view of Agile practices utilizing the Scrum framework now used in 80% of agile implementations. It will also briefly review other popular light agile frameworks such as Lean, Extreme Programming (XP), and Crystal as well as more extensive agile approaches such as the Scaled Agile Framework (SAFe) and Dynamic System Development Method (DSDM) and new popular trends such as DevOps. Also, there is an introduction to PRINCE2 Agile concepts. This is designed to help students deliver agile projects by tailoring PRINCE2 management controls with a broad toolset of agile delivery techniques and frameworks they will learn from this course. To properly illustrate these concepts, the case studies outline the product/software development process using scrum as the framework. Students will review common problems and pitfalls of Scrum implementations. This is a practical hands-on course with students expected to form scrum teams and collaborate in practicing and learning the principles, values, and techniques and documenting the artifacts. Upon completion of this course, students will be able to understand the fundamentals of Agile and Scrum in detail. They would appreciate adaptive and iterative frameworks. They would understand scrum processes, ceremonies, practices, artifacts, roles and, the way all this work together to deliver value to customers. They would know how scrum processes map to traditional project management. This course continues from where EPM-2113 ended.
Job Search & Success
This course provides student with skills and knowledge to help support their career search and succeed in the workplace. Students align their personal skill set and goals to guide them on their career paths. They will learn how to effectively conduct a job search, build a professional and well-tailored resume and cover letter, and develop and practice interview techniques. Students will also develop their personal brand to help support effective career networking and aid in their job search. Teamwork and collaboration in the workplace are also discussed. Self-reflection is used to inspire insight and support their professional career journey.
Python II
This course is a continuation of Python programming. Students (1) develop applications using Object-Oriented Python; (2) access databases with Python; and (3) use Python libraries and frameworks.
Cloud Computing
Traditionally, software applications were deployed on physical servers owned and maintained by the organization developing the software; however, over the past decade, there has been a shift from companies of all sizes towards leveraging cloud computing platforms over in-house servers due to a variety of economic and technical reasons. In this course students will (1) evaluate technical and fundamentals topics of cloud computing, (2) analyze various methods for cloud management, (3) evaluate cloud platform solutions including infrastructure as a service (IaaS) to install and configure virtual resources on the cloud platforms, (4) evaluate storage provisioning, networking, testing and deploying cloud technologies, (5) discuss cloud computing standards, security, the business in cloud computing and methods of planning for cloud integration, and last but not least, (6) discuss cloud deployment options and cloud DevOps.
Data Structure & Algorithms
Networking Fundamentals
The practical aspects of design, implementation, installation, documentation and maintenance of Local Area Networks (LANs) and Wide Area Networks (WANs) are introduced. Students (1) implement network topologies; (2) distinguish and manage network protocols and services; (3) implement network security components; and (4) implement, configure, maintain and troubleshoot a variety of network equipment including switches, routers and access points.
General Education Elective
Work Term - Full-Time (optional)
Co-operative education provides students with the opportunity to apply classroom learning to the workplace, undertake career sampling and gain valuable work experience that may assist students in leveraging employment after graduation.
Contact
Program Information
Business, Information Technology, & Liberal Studies
Room B2-106
After Graduation
Employment Opportunities
Graduates use their problem solving and critical thinking skills to analyze business and industry requirements and design, develop and implement real life database-driven enterprise web applications.
A wide variety of rewarding career opportunities that are dynamic and challenging, offering a competitive rate of compensation are available to graduates. Courses prepare graduates for careers as computer programmers, software developers, programmer analysts, mobile application developers, information systems specialists, web developers, client/server applications developers and support specialists. Graduates acquire sufficient foundation to allow them to advance in a variety of career paths appropriate to their interests and abilities.
Pathways
Transfer to Programs outside of Ontario
- Bachelor of Science in Computing in Software Development - enter third year of three-year program
- Bachelor of Science (Honours) in Software Development - enter third year of four-year program
Co-op
About Co-op
Students in this program have the opportunity to gain valuable work experience by applying classroom learning during co-op experiences.
Learn more about co-op terms and the roles and responsibilities of students and co-op advisors.
More Information
Technology Requirements
It is recommended that students purchase a laptop with a Windows operating system.
Internet Speed Requirements
For best performance for students learning remotely, an internet connection with a minimum of 40 Mbps download and 10 Mbps upload speed is recommended in order to effectively use video conferencing and remote lecture delivery software as well as, other online resources remotely. Due to the large area over which students may be dispersed, we are unable to recommend a specific provider, so you will need to inquire around your area to find one that best suits your needs.
Minimum Laptop Requirements
In order to access the internet and virtually-delivered software and courseware, student laptops should include the following at a minimum. By meeting the following specifications, students will be equipped to access software and courseware on their laptop through the internet:
- Intel i5 8th Gen Processor or equivalent
- 16 GB of RAM (with a minimum of 8 GB)
- 100 GB HDD or more
- HD Graphics
- Webcam with a microphone
- Wireless 802.11n/ac 5ghz capable
- Windows Operating System (Windows 11)
Software
To ensure students are getting the most our of their classroom experience, some software will be required.
Lambton College has made this software easily accessible online. Students can leverage our Microsoft Office 365 software packages and services. In addition, much of the software you require for your courses will be available on demand for use on any device - on or off campus.