Get the Skills for a Professional Career

in Software Development

Two men, possibly software developers, are looking at a computer screen and smiling
An Advanced Diploma in IT from Focus College can get you prepared to jump into a software career or enter a partner university. Start today!

2 Year** Hands-On Computing Training Program

If you’re looking for a career in a field with a strong demand for skilled employees, IT and Software Development are two great options with job opportunities in many different industries, from biotechnology to telecommunications and transportation.

In this 2-year* full-time Advanced Diploma in Computing: Software Development program, you will take your analytic, problem-solving brain and add the specific skills taught in our employment-focused courses and be job-ready in no time.

And you have the option to complete the diploma program and jump right into securing employment or move on to enter one of our 75 partner universities around the world to get your degree. It all starts right here.

Focus on your goal and we’ll get you the skills to make it a reality.

Career Opportunities

The Advanced Diploma in Computing: Software Development is designed to equip students with the necessary skills required to pursue a career in the IT field at a professional or junior managerial level. The program will prepare students for employment in a software development role with an IT/Computing-related post at technician or professional level.

Who Will Benefit from the Program?

Actually, most people have a lot to gain from taking this program. Former students returning to school, anyone who wants to pursue higher education, adult learners with families, working individuals who wish to enhance their career prospects, and people who wish to start their own businesses.

University Progression

The Advanced Diploma in Computing: Software Development can provide advanced entry to Bachelor’s or Master’s degree-level study. Visit this page for information on the institutions that will consider advanced entry with Focus College’s diploma qualifications


The Advanced Diploma in Computing: Software Development will give students the skills and theoretical knowledge that they need to move into higher education and employment. The software development activities covered include: new development, modification, re-use, re-engineering and maintenance.

The specific aims of the program are to:

  • Develop a range of contemporary software development skills that are required by industry
  • Develop students’ knowledge and skills in planning, developing and evaluating
  • Develop employment skills, particularly relating to the IT industry
  • Develop learning and transferable skills (including core skills)
  • Prepare learners for employment in competitive international markets
  • Prepare learners for progression to degree study at partners universities in various countries


  • Minimum Grade 12 or equivalent Canadian qualification OR relevant experience or mature students
  • In the case of students from non-English-speaking countries/territories, students will have to demonstrate their English proficiency at a minimum IELTS Band level of 6.0 or equivalent. (In a case where a prospective student has no proof of English proficiency or an English proficiency level below IELTS Band 6.0, that student will be required to take the Focus College ESL “Crash Course”).


“Developing Software: Introduction”

This unit is designed to enable candidates to develop basic software development skills. The design and implementation of the constructs of programming (variables, sequence, selection, iteration, functions and parameter passing) will be covered in the context of a development environment. Test plans, test cases and program documentation will also be introduced. This introduction would provide a basis for further study in software development using a range of programming languages. This is a core unit for the Advanced Computing Group Award aimed at introducing candidates to the skills required to develop programs using an appropriate development environment. The unit may also be studied on a standalone basis by a candidate with an interest in programming.

“Professionalism and Ethics in Computing”

This unit is designed to provide candidates with a knowledge and understanding of professional issues, including contemporary legislation, and ethical considerations for those fulfilling a computing-related role within the workplace. This Unit is intended for candidates whose aim is to follow a career, or is currently following a career, as a computing professional to ensure work duties are carried out responsibly.

“Computer Systems Fundamentals”

This unit is designed to provide candidates with the knowledge of the various hardware and software elements of a computer system, how to install an operating system and install and configure application and security software. Candidates will also be introduced to the theory and practical application of number systems in computing. It is not intended that the candidate will gain an in-depth knowledge of any particular operating system or applications software. The Unit provides a foundation for further study of particular operating systems.

“Troubleshooting Computer Problems”

This unit is designed to provide candidates with the skills required to develop a possible solution to a computing problem in the context of computer networking, software development or technical support. Candidates will learn how to investigate the problem, plan and implement a solution, test and amend it until the problem is resolved and document each step taken to solve the problem.

“Database Design Fundamentals”

This Unit is designed to provide the candidate with the skills required to create, maintain and interrogate a relational database management system using commercially available database software. The resultant skills will help prepare the candidate to enter commercially operated database environments and to administer the system to the requirements of the industry. The Unit is primarily aimed as an introduction to relational database management systems and will incorporate the skills to design a suitable structure to maintain and update real-world systems. The Unit is written in generic terms enabling it to be completed using a commercially available relational database management system software and may be delivered as part of an HN Group Award.

“Relational Database Management Systems”

This unit is designed to introduce candidates to the design and creation of a Relational Database Management System (RDBMS). It also introduces candidates to the terminology and key concepts used in the designing and building of a RDBMS and the process of creating a relational database. The candidate needs to demonstrate understanding of these key concepts, and the need for good design.

“SQL: Introduction”

This Unit is designed to develop a broad knowledge of the concepts, principles, boundaries and scope of relational databases using a query language. These will be reinforced by developing the practical skills required in using the structures and features of a query language in order to maintain and interrogate a relational database management system. The SQL constructs used adhere to the current standards, so will be applicable in all SQL-based platforms.

“Software Development: Developing Small Scale Standalone Applications”

This unit is designed to introduce candidates to the software development life cycle by developing and testing a small application for mobile, web or PC. The unit should expand on the skills learned in the mandatory Advanced Certificate Computing Developing Software: Introduction by introducing the software development life cycle, introducing user-oriented design and prototyping, Introducing interactive GUI development, consolidating programming skills, expand programming skills by introducing data structures and using standard object libraries and consolidating and expanding application testing skills.

“Software Development: Programming Foundations”

This unit introduces candidates to generic fundamental programming constructs which are required as a base for software development. The unit should also expand and consolidate the skills learned in the Advanced Certificate Computing mandatory Unit Developing Software: Introduction by introducing the importance of programming/scripting within computing. The Unit will allow candidates to understand the importance of good design and good programming practices within programming. The candidates should consolidate basic programming skills and introduce more complex programming program structures. The candidates should be able to demonstrate an understanding of the concepts of modularity, parameter passing and objects.

“Computing: Introduction to Project Management”

This unit will enable candidates to develop the basic knowledge and skills required to plan, implement, monitor, manage and report on a small scale project.

The unit is intended for candidates who are working or preparing to work in an environment where they would be expected to work as part of a project managed team in the public, private or voluntary sectors. This unit will aid the candidates understanding of how projects are created run and managed.

“Mathematics for Computing 1”

This unit is designed to allow candidates to acquire the fundamental mathematical knowledge required to apply computing techniques to problem situations effectively. Candidates will be able to create a mathematical model or express a problem mathematically. It is primarily intended for candidates who will specialize in programming or candidates who require a deeper understanding of computer operation at a basic hardware level.

“Team Working in Computing”

This unit will provide candidates with the opportunity to develop effective skills for team working in the context of computing. Candidates will develop co-operative working skills which will include negotiation of goals, roles and responsibilities in the development of a team-based Information and Communication Technology (ICT) project. Candidates, both individually as a team, will present the project Outcomes within the timescale prescribed by the team. Individual progress should be tracked against a project plan and the team will develop skills in updating the plan to ensure that the project is delivered on time. Individual team members will contribute to any necessary research and to documentation of the group’s activities.

“Advanced Computing: Graded Unit 1 (Exam)”


“YEAR 2”

“Software Development: Object Oriented Programming”

This unit is designed to enable candidates to develop a broad knowledge of the concepts, principles, and techniques of object oriented software development. Candidates will develop problem-solving and object oriented technical skills. Candidates will then be required to demonstrate their proficiency in these skills through the creation of object oriented software solutions to problems. The emphasis is on the development and testing of the class libraries required for the problem domain. These will be reinforced by developing the appropriate practical skills in implementing and testing object libraries. It is recommended that this Unit is delivered in tandem with the Unit H172 35 Systems Development: Object Oriented Analysis and Design to give candidates an insight into the full development lifecycle.

“Systems Development: Object-Oriented Analysis and Design”

This unit is designed to enable candidates to develop a knowledge of the theoretical concepts, underlying principles, scope and role of systems analysis and design undertaken within an object oriented environment.

The unit develops Candidates’ practical systems development skills and introduces Candidates to a variety of requirements gathering and modelling techniques used in object oriented systems analysis and design, using UML or similar modelling notation. The emphasis will be on static conceptual modelling (class diagrams) and evolving behavioral models (use case models and sequence diagram modelling)

“Software Development: Data Structures”

This unit is designed to enable candidates to become familiar with the data structures and collection classes in common use within current software development environments. This knowledge will be supplemented by the coding of collection and/or aggregation associations using appropriate standard generic collection classes.

The unit is a mandatory Unit for the HND Computing: Software Development and has been designed to enhance candidates’ programming and algorithm design skills. These skills should help prepare candidates for employment and/or further study in the field of software development.

“Scripting for Interactivity”

This unit is designed to provide the student with interactive multimedia applications using the scripting elements of a multimedia authoring tool.

“Self-Describing Data (XML)”

This unit is designed to provide candidates with the knowledge of the use of self-describing data in communicating data between a wide range of applications. The candidate will learn practical skills in the generation of XML documents and the use of tools such as XML editors and XML generation tools to produce these documents.

The unit introduces the syntax of well-formed XML documents, the use of validation techniques and concludes with the transformation and styling of XML documents, suitable for publication in a desired format

“Software Development: Rapid Applications Development and Prototyping”

This unit is designed to expose candidates to the development of a software product using recognized techniques within a modern well-defined methodology. The aim of the Unit is to increase the candidates’ skills in designing and building software applications using fourth generation (HG) or object oriented languages.

This unit is aimed at candidates who have completed the first year of the Advanced Diploma in Computing: Software Development and/or those candidates who have completed the Advanced Diploma in Computing.

“Web Development: Dynamically Generated Content”

This unit is designed to enable students to gain knowledge and skills of dynamic data driven web application development and apply that knowledge when planning, designing and developing a dynamic web application with data driven content using a server side language.

“Advanced Computing: Software Development: Graded Unit 2 (Project)”

This graded unit is designed to provide proof that the student has achieved the goals of the program:

  1. To prepare students for employment in an IT/Computing-related post at technician or professional level in a software development role.
  2. To develop a range of specialist technical software development skills and knowledge in programming and systems development.
  3. To prepare students for progression to further study in Computing, Software Development, Software Engineering or a related discipline.
  4. To develop an awareness of professional IT issues such as legal and ethical considerations.


Review our program pricing for full details.

Scholarships and other financing options are available for qualified candidates.


  • This program is offered at the Kelowna and Surrey campuses
  • Students are required to maintain 80% attendance throughout the program
  • Approximately 10–15 hours/week is required from students to be successful in this program
  • In order to graduate, students must pass all units through the program with a grade of C or higher


Is Employment-Focused Training for a Career in IT Right for You? Get More Info…

If you’re interested in exploring whether Focus College’s training programs and career opportunities in Information Technology and Software Development are right for you, or you want to learn more about how you can transfer credits to one of our many international university partners, fill out the form on this page and we’ll get you some more information.

A helpful Focus College Admissions Representative will be happy to answer any questions you have and can help with everything from determining the right career path for you to discussing financial aid options.

*Program length when completed in normal time. **Program length following the accelerated track.