½ûÂþÌìÌÃ

Information Technology: Software Development

CampusStart DateTuition/Fees
MonctonSeptember 2025 (Blended Delivery)
 
Domestic | International
Saint JohnSeptember 2025 (Blended Delivery)
 
Domestic | International
Fredericton September 2025 (Blended Delivery) Domestic | International

Program Overview

Please be advised that Programmer Analyst, Web and Mobile Application Development, and Gaming Experience Development programs have been replaced by the new IT: Software Development program.

The Information Technology: Software Development diploma program equips learners with the knowledge, skills, and abilities needed to excel in the field of information technology and software systems development. It combines rigorous academic coursework with practical, real-world experience.
 
During the first year of the program, learners acquire robust skills in a variety of programming languages while using the tools and methods needed to effectively work in an enterprise-based environment. They develop skills in the areas of software analysis and design, database design, web development, and project management.  
 
In the second year, learners apply the full spectrum of their programming and development skills through experiential and work integrated learning, preparing them for entry into industry. They work collaboratively in small groups on a capstone project that simulates workplace processes and practices. Upon successful completion of this project, they may also participate in work integrated learning experiences such as a field placement hosted by an employer, an applied research project, or even an entrepreneurial venture. During these practical experiences, the employer and/or a dedicated campus representative actively monitors and supports the learner's progress to best prepare them for a successful transition to the work world.


Duration

The requirements for this diploma program may be achieved within two academic years of full-time study.


Admission Requirements

    Profile A

  • High School Diploma or Adult High School Diploma or GED Diploma of High School Equivalency or Canadian Adult Education Credential (CAEC) or Essential Skills Achievement Pathway: Post-Secondary Entry High School Diploma

    NB Francophone High School Math Equivalencies
    International Student Admission Equivalencies


    Career Possibilities

    From the devices we use to the automobiles we drive, to automated manufacturing, software developers are the minds behind the computer applications and programs that make them work. It’s a field so large that the challenge is often not finding work, but rather deciding which job you want to take. Graduate follow-up surveys consistently reveal an employment rate of more than 90 percent.

    ½ûÂþÌìÌà graduates find opportunities across the province and beyond, with career paths as application software developers creating computer applications for consumers, software engineers who plan and manage enterprise-level projects, and systems developers who create operating systems for everything from mobile devices to government and private industry. New Brunswick has a vibrant and growing tech industry, with opportunities in numerous industries such as manufacturing to education, healthcare, cybersecurity, and lottery and gaming to name a few. A variety of paths and industries create exciting opportunities to tailor your career to your personal preferences and areas of interest.



    Specific Considerations

    Technology Requirements
    ½ûÂþÌìÌà is a connected learning environment. All programs require a minimum specification, including access to the internet and a laptop. Your computer should meet your program technology requirements to ensure the software required for your program operates effectively. Free wifi is provided on all campuses.


    Areas of Study

    • Object-Oriented Analysis and Design
    • Object Oriented Programming (e.g., C#, Java)
    • JavaScript
    • Database Design and SQL
    • Database Programming
    • Web Development (HTML, Cascading Style Sheets, JavaScript)
    • Server-side Web Development
    • Software Development, Methodologies, and Patterns
    • Software Testing
    • Mathematics and Statistics
    • Written and Interpersonal Communications
    • Work Integrated Learning


    Program Courses

    Courses are subject to change.

    This course is designed to provide learners with the knowledge and skills to design and implement a basic embedded system using a microcontroller and external input/output (I/O) devices such as sensors and actuators. Learners are taught the fundamentals of embedded systems, electronic circuits, microcontrollers, and I/O interfacing, and the Internet of Things (IoT). They apply these concepts with embedded programming using C++.

    Prerequisites:

    • PROG1353A

    This course provides learners with the knowledge and skills to design, develop, and optimize embedded applications using a real-time operating system (RTOS). Through hands-on projects and real-world applications, learners install, configure, and manage an RTOS on development boards. They create and schedule tasks, and implement inter-task communication using semaphores, queues, and mutexes. They also implement essential debugging techniques and system profiling to analyze such things as execution time, central processing unit (CPU) load, memory usage, and power consumption.

    Prerequisites:

    • CEIO1065A

    This course provides learners with the knowledge and skills to develop essential written, interpersonal communication, and intrapersonal skills to enhance personal and professional growth. Learners are provided the tools with which to effectively convey messages, navigate interpersonal dynamics, foster meaningful relationships, and cultivate self-awareness.

    This course provides learners with the knowledge and skills to produce technical reports and documentation suited to their area of expertise in the Information Technology field. Learners are taught the principles of technical writing, methods of research, and referencing practices. They apply this knowledge to produce clear, concise, and accurate technical reports and documentation tailored to technical and non-technical teams, stakeholders, or end-users.

    This course provides learners with the knowledge and skill to design and implement relational databases using data-definition and data manipulation SQL statements as well as industry best practices.
    It covers incremental modeling through Entity Relationship (ER) Diagrams, emphasizing normalization and realization in an actual Database system. Learners use SQL Data Definition Language and Data Manipulation Language to interact with the database, covering commands for inserting, updating, and deleting data. They also construct complex queries using joins, conditional SQL statements, and aggregate functions.

    This course provides learners with the knowledge and skills to design and develop scalable databases that support robust business applications. Learners are taught SQL sub-queries, stored procedures, concurrency management, and transaction control to ensure the integrity and efficiency of database operations. Additionally, they learn to implement triggers effectively to automate responses to database events.

    Prerequisites:

    • DATA1054A

    This course provides learners with the knowledge and skills to import and prepare data for presentation. Learners progress from generating simple lists to more advanced applications such as summary reports and drill downs.  

    Prerequisites:

    • DATA1054A

    This course provides learners with the knowledge and skills to solve problems involving computer number systems and basic statistics. Learners are taught math concepts relevant to the information systems field. These include review of number systems, computer arithmetic, sets and relations, matrices, and linear equations. Learners are also taught elementary statistics, including descriptive statistics, probability distributions, and sampling.

    This course provides learners with the knowledge and skill to create responsive web designs meeting a set of specifications and industry best practices. Learners are taught HTML, CSS, and their correct implementation to be viewed on, and adapt to, a variety of devices – from large screens to mobile devices. Learners are taught how to use flexible grids, layouts, images, and CSS media queries to make their designs responsive. They also learn industry best practices in the wire-framing/prototyping and iterative design of mobile web applications.

    This course provides learners with the knowledge and skills to utilize the Bash Command Line Interface (CLI) shell and scripts to control a computer’s operating system and run applications. Learners are taught essential skills including file navigation, manipulation, permissions management, and process control. They learn the fundamentals of writing scripts, customizing the shell environment, and using a shell-based text editor. Finally, learners are also introduced to basic Windows Command Prompts.

    Prerequisites:

    • PROG1337A

    This self-directed course introduces learners to basic operating system, computer file system, and word-processing concepts. Learners are taught how operating systems manage various processes and how to trace these processes. They learn how to navigate a computer file system, create and manage files and directories, and use a command line interface (CLI) to support these steps. Finally, learners are taught the very basics of word processing software.

    This course provides an introduction to the meaning of community service.  Students learn how community service can enhance a student’s educational experience, personal growth, employability, and civic responsibility. Students participate in one day of volunteering to enhance their understanding of civic responsibility and to help the New Brunswick Community College realize its vision of transforming lives and communities.

    This course is designed to provide learners with the knowledge and skills necessary to secure professional employment. It enables learners to identify career options and aspirations based on their strengths, limitations, and readiness to address skills gaps. It also focuses on the current-day tools and resources used to optimize employment opportunities.  

    This course provides learners with the knowledge and skill to design and develop computer programs using an integrated development environment (IDE). Learners are taught key programming concepts such as variables, selection structures, repetition structures, and methods. They gain proficiency in utilizing an integrated development environment (IDE) to set up, design, develop, and execute their programs.

    This course provides learners with the knowledge and skills to construct software applications using Object-Oriented Programming (OOP) principles. Learners are taught the fundamental building blocks of OOP, including classes, objects, methods, and attributes. They also learn the principles of encapsulation, inheritance, polymorphism, and abstraction. They use this knowledge to develop, test, and debug larger, more complex programs.

    Prerequisites:

    • PROG1337A

    This course provides learners with the knowledge and skills to write programs using the JavaScript programming language. They are taught the skills required to help create efficient, dynamic, and interactive web applications. Emphasis is placed the Document Object Model (DOM) and working with JavaScript libraries to enhance development processes and application functionality.

    Prerequisites:

    • MULT1190A

    This course provides learners with the knowledge and skills to design and write programs that connect to, interact with, and support a database. Learners carry out these functions using various objects and techniques.

    Prerequisites:

    • DATA1055A
    • PROG1338A

    This course provides learners with the knowledge and skills to write programs using advanced JavaScript techniques and scripting libraries for use in complex web development. It builds upon the programming knowledge and skills acquired earlier in the program and integrates it with learners’ knowledge of responsive web design and app construction. Emphasis is placed on building middleware, asynchronous communications, front and back-end functionality, and modern frameworks.

    Prerequisites:

    • MULT1190A
    • PROG1339A
    • DATA1054A
    • PROG1338A

    This course provides learners with the knowledge and skills to design and implement server-side web applications based upon specific business requirements, using a variety of technologies and techniques.  It covers data-modelling using Object-Relational Mapping (ORM) to define, manage, and modify the application-specific data structure throughout its lifecycle. Learners determine how to choose from available features and apply them to solve domain-specific problems.

    Prerequisites:

    • DATA1055A
    • MULT1190A
    • PROG1338A
    • PROG1340A

    This course provides learners with the knowledge and skills to develop dynamic, data-driven, and interactive server-side web applications using PHP. It covers fundamental PHP programming concepts, server interactions, database integration, session management, form handling, file management, web services, and debugging techniques.

    Prerequisites:

    • DATA1055A
    • MULT1190A

    This course is designed to provide learners with the knowledge and skills to develop software systems using selected architectural styles and design patterns for optimal scalability, maintainability, and performance. As part of this, they adhere to best practices in coding, testing, and documentation to ensure quality software.

    Prerequisites:

    • SYST1088A
    • PROG1342A

    This course introduces learners to fundamental networking concepts and technologies. Learners apply this knowledge, coupled with programming skills, to design and write software applications that communicate over computer networks.

    Prerequisites:

    • PROG1337A

    This course provides learners with the knowledge and skills to develop dynamic, data-driven, enterprise web applications using Java Enterprise. Topics include Object Relational Mapping (ORM), Representational State Transfer Application Programming Interface (Rest API), the Model View Controller (MVC) design pattern, Jakarta Server Pages (JSP), Thymeleaf, and Spring Boot.

    Prerequisites:

    • SYST1088A
    • PROG1342A

    This course provides learners with the knowledge and skills to develop C++ applications according to standard design principles and best practices. Learners incorporate previously acquired programming knowledge and skills to support the learning of the C++ programming language. They develop applications using object-oriented design principles and architecture patterns. They gain proficiency in managing memory dynamically, handling errors through exceptions, and optimizing program performance. The course covers file handling techniques, concurrency controls, and multithreading mechanisms, along with testing and debugging using modern tools.

    Prerequisites:

    • SYST1088A
    • PROG1338A

    This course provides an in-depth exploration of modern front-end frameworks in JavaScript, focusing on popular libraries and frameworks such as Angular and NextJS. Learners are taught the principles of building dynamic, responsive, single page web applications while understanding the underlying concepts that drive these frameworks.

    Prerequisites:

    • PROG1339A
    • MULT1190A
    • PROG1341A

    This course provides learners with knowledge and skills to create iPhone applications using the Swift language, SwiftUI, and the Xcode Integrated development environment (IDE). Swift is a modern programming language for developing software with an emphasis on safety, performance, and ease of use. SwiftUI is a framework from which to build user interfaces. Xcode is an IDE with a comprehensive set of tools for building, testing, and debugging applications. All of these were developed by Apple and intended for use on Apple platforms.

    Prerequisites:

    • PROG1342A

    This course provides learners with knowledge and skills to develop modern Android applications using the Kotlin language and the Android Studio integrated development environment (IDE). Kotlin is a versatile programming language used for various applications such as Android, web, and cross-platform mobile development. Android frameworks are used to build the user interfaces and Android Studio is the IDE in which to build, test, and debug the applications.

    Prerequisites:

    • PROG1338A

    This course provides learners the opportunity to apply the knowledge and skills acquired  in the program to a workplace environment under the supervision of a host agency. They are assigned a field experience mentor/ supervisor with whom they meet during their placement and to whom they submit a written report outlining and reflecting upon their placement experience.
     
    Please note: The field experience may vary depending on the range of services the host provides, their expectations, and available resources.

    This course provides learners the opportunity to apply the knowledge and skills acquired in the program to an industry or community partnered project carried out within the academic setting. It helps learners transition from the academic to professional environment. Given that partner needs vary, each project encompasses some combination of research, analysis, and problem-solving, which demonstrates the learner’s ability to think critically, communicate effectively, and work collaboratively or independently.
     
    Please note: The deliverables for a given capstone project may vary depending on the nature, scope, and scale of the partner’s identified need.

    This course introduces learners to the practices of using a source control management (SCM) software, like Git, to create and maintain organized, safe, and collaboration-friendly project repositories. Learners are taught how to manage branches and workflows to ensure an effective version control throughout development.

    A safe and healthy workplace is the responsibility of the employer and the employee. This course introduces students to the importance of working safely and addresses how employers and employees can control the hazards and risks associated with the workplace. Students will also learn about the roles and responsibilities of key stakeholders including WorkSafeNB, the employer and the employee in ensuring workplaces are safe.

    User-interface design is the process of creating systems that are not only technically functional but also user-focused, with the emphasis on simplicity and efficiency. Here the analyst’s role is to ensure that the design serves not only the needs of the user but also the goals and limitations of the organization. The purpose of this course is to provide learners with the skills and techniques to contribute to the design of user-focused graphical or web-based interface(s). Course concepts and content are applied through the use of real-world case studies.

    This course provides learners with the knowledge and skills to apply object-oriented software analysis and design processes using Unified Modeling Language (UML), Agile methodology, and project management practices. Learners acquire knowledge of software engineering concepts and methodologies, emphasizing an object-oriented approach and project management best practices. They apply this knowledge to a develop Gantt chart, conduct a requirements analysis, create an object-oriented design, and implement Agile Scrum practices.

    Prerequisites:

    • PROG1338A

    This course provides learners with the knowledge and skills to build testing methodologies into the development process. Learners explore the fundamental principles of software testing and learn to apply various testing techniques and strategies at different levels. Emphasis is placed on designing test cases from user specifications, executing system test cases to uncover defects, and documenting them effectively.

    Prerequisites:

    • PROG1337A

    This course provides learners with foundational knowledge of the cloud-based platform, Amazon Web Services (AWS) to assist in the design, deployment, and management of cloud-based solutions. Course content aligns with the AWS Academy’s Cloud Foundations current training and certification course.

    This course provides learners with the skills to analyze and design Enterprise Software Systems for enhanced performance and functionality. Learners produce a complete set of system specifications for a full-stack Enterprise Software System, inclusive of implementation plans. They do this in a team environment using case studies, agile methodology, and industry-standard project management tools. As part of this project, learners formally present their analysis findings, recommended solutions, and implementation strategy.

    Prerequisites:

    • DATA1054A
    • SYST1088A


    NOC Codes

    21230 - Computer systems developers and programmers
    21232 - Software developers and programmers
    21234 - Web developers and programmers


    Disclaimer: This web copy provides guidance to prospective students, applicants, current students, faculty and staff. Although advice is readily available on request, the responsibility for program selection ultimately rests with the student. Programs, admission requirements and other related information is subject to change.