Advanced Diploma in Computing: Software Development


Advanced Diploma in Computing: Software Development will give students the skills and theoretical knowledge that they need as they move into higher education and employment. The software development activities covered include: new development, modification, re-use, re-engineering and maintenance.
  • Develop student’s knowledge and skills in planning, developing and evaluating.
  • Develop employment skills, particularly relating to the IT industry.
  • Learning and transferable skills (including core skills).
  • Develop study and research skills.
  • Develop academic stimulus.  
  • Develop English language skills.
  • Enable learners to achieve an International award which is studied and assessed in English.
  • Develop a range of contemporary software development skills that are required by industry.
  • Prepare learners for employment in competitive international markets.
  • Prepare learners for progression to degree study at the partners universities within different countries.
  • Provide underpinning knowledge associated with appropriate vendor qualifications.

Is a Career in IT Right for You? Find Out!

Take the Focus College “IT Career Training Readiness Quiz”

The fun, online quiz takes 3 minutes to complete and you’ll get a personalized report. Identify your strengths and social style plus the training and positions you’re best suited for. Get Your IT Career Training Readiness score now >>

Did You Know?

Software developers are needed in many different industries from biotechnology to telecommunications and transport.

Who does this qualification suit

The Advanced Diploma in Computing: Software Development is suitable for a wide range of candidates including:

  • Students returning to school.
  • Students pursuing higher education.
  • Adult learners.
  • Working individuals who wish to enhance their career prospects.
  • People who wish to start their own business.

Career Opportunities

The Advanced Diploma in Computing courses aim to equip students with the necessary skills required to follow a career within the computing field at a professional or junior managerial level. They are also aimed at those who wish to study computing at this level before undertaking a career in another field where such skills are necessary.

The Advanced Diploma in Computing: Software Development award will prepare students for employment in an IT/Computing-related post at technician or professional level in a software development role.

Admissions Requirement

Minimum Grade 12 or Equivalent Canadian qualification. If English is not a student’s mother tongue, they are required to have an overall IELTS level 6.0 or equivalent (in case of other testing standards) to be admitted into the program. If on starting the program, their language proficiency proves to be significantly lower than what is expected of overall IELTS 6.0, they will be required to take an English course at Focus College before being able to continue with their program studies. Program admission requirements may not be waived by the student or the institution.

University Progression

The Advanced Diploma in Computing: Software Development can provide advanced entry to degree-level study or a Masters degree program. See our where to study page for information on the institutions which will consider advanced entry with Focus College’s Diploma qualifications.


Offered at both Kelowna and Surrey campus.


Review our program pricing for full details.

Scholarships and other finance opportunities are available for qualified candidates. 


Two year full time. 


  • On campus delivery.
  • Students are required to maintain 80% attendance throughout the program.
  • Approximately 20-30 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.

Request Information



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.

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.

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.

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.

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.

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.

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.

This unit is designed to introduce candidates to the software development life cycle by developing and testing a small application, eg mobile, web based or PC based. The unit should expand on the skills learned in the mandatory Advanced Certificate Computing eveloping Software: Introduction by introducing the software development life cycle, introducing user orientated 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.

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 demonstrate understanding of the concepts of modularity, parameter passing and objects.

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.

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.

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.


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.

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). 

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.

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

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. 

This Unit is designed to expose candidates to the development of a software product using recognized techniques within a modern well-defines 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.

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.

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. 
Know someone who might be interested in the Business Certificate Program?
Close Menu