51³Ô¹Ïapp

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.

    51³Ô¹Ïapp 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
    51³Ô¹Ïapp 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 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 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 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.

    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


    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.