Diploma in Software Development
Career-ready software development skills for a future in tech.
Semesters: Spring | Summer | Fall | Winter
- Surrey | Abbotsford | Kelowna Campus
- 2400 Hours
- 2 Years
- 30 Credits
Program Overview
The Diploma in Software Development provides learners with a progression route into employment. It also provides opportunities for further study, including university degree programs.
The Diploma in Software Development provides current skills in specialist technical software development, and it develops up-to-date knowledge in programming and systems development.
Software developers are needed in many different industries from biotechnology to telecommunications and transport. The Diploma in Software Development will give learners the skills and theoretical knowledge that they need as they move into higher education and employment.
The award builds on traditional software development techniques but also incorporates development for mobile platforms and development of small-scale applications (apps). The award also incorporates skills in data driven web sites which are typically used in e-commerce.
The Units in this award have been selected to give learners the widest range of skills which are in demand by Industry and to allow access to a range of courses at Universities.
Course Highlights
Study hours: 2400
Full-time duration: 2 Years
Homework hours: 10-15 hours per week
Attendance Expectations: Students are required to maintain their attendance as per the FC attendance policy.
Graduation Requirements: To graduate, students must successfully complete all courses with minimum C grade (50% to 59%).
This program has been approved by the Private Training Institutions Regulatory Unit (PTIRU) of the Ministry of Post-Secondary Education and Future Skills. This program is not eligible for PGWP. However, the program has a pathway to PGWP through our partner institution(s). Please contact our Admissions team for more details via 250-861-5808 or admissions@focuscollege.com.
Career Opportunities
The Diploma in Software Development develops skills and knowledge in a range of systems analysis and design, development and implementation of a range of software development environments and database analysis and design.
The Diploma in Software Development is designed to lead to employment as systems analyst, software designer/developer in applications development, database design and development and web design incorporating ecommerce.
Successful learners should be able to progress to a range of degrees.
Salary Range
Software Developer
Anticipated Salary Range
*This estimate is based on available employment data at the time. Actual salary will be based on numerous factors.
Source: Glassdoor
Course Curriculum
Developing Software: Introduction – 80 Hours
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 HNC 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 – 80 Hours
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 System Fundamentals – 80 Hours
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 SQA Advanced Certificate in 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.
Troubleshooting Computer Problems – 80 Hours
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 – 80 Hours
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 – 160 Hours
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 – 80 Hours
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. It forms part of an HN group award program, although it can also be used as a stand-alone Unit by candidates wishing to acquire and develop skills using a query language.
Software Development: Developing Small Scale Standalone Applications – 160 Hours
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 HNC Computing HN Unit Developing 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.
Software Development: Programming Foundations – 80 Hours
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 HNC 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.
Computing: Introduction to Project Management – 80 Hours
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 – 80 Hours
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 – 80 Hours
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.
Each candidate will develop skills in evaluation and will critically evaluate the contributions of themselves and fellow team members.
This is a core Unit for the HNC Computing Group Award aimed at developing the necessary
skills for effective team working within the computing industry. The Unit may also be studied
on a standalone basis by a candidate with an interest in developing their team working skills.
Computing: Graded Unit 1 – 80 Hours
This Graded Unit is designed to provide evidence that the candidate has achieved the following principal aims of the HNC in Computing:
• To develop the candidate’s knowledge and skills such as planning, analyzing and synthesizing
• To develop study and research skills
• To enable progression within the Scottish Credit and Qualifications Framework
• To provide academic stimulus.
Software Development: Object Oriented Programming – 160 Hours
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 Systems Development: Object Oriented Analysis and Design (HP2M 48) to give candidates an insight into the full development lifecycle.
Systems Development: Object Oriented Analysis and Design – 160 Hours
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). It is recommended that this Unit is delivered in tandem with the Unit Software Development: Object Oriented Programming (HP2L 48) to give candidates an insight into the full development lifecycle.
Software Development: Data Structures – 160 Hours
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 SQA Diploma in 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 – 160 Hours
This Unit is designed to develop candidates’ skills in designing and developing interactive multimedia applications using the scripting elements of a multimedia authoring tool.
On completion of the Unit the candidate should be able to:
1. Select a multimedia authoring tool for a script driven application.
2. Develop a system specification and detailed design for a script-driven multimedia application.
3. Use the scripting facilities of a multimedia authoring tool to implement interactivity
4. Test the completed product.
Self-Describing Data (XML) – 80 Hours
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 – 160 Hours
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 Diploma in Software Development and/or those candidates who have completed the Advanced Certificate in Computing.
Web Development: Dynamically Generated Content – 160 Hours
This Unit is designed to enable learners to gain knowledge the 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.
Computing: Software Development: Graded Unit 2 – 160 Hours
This Graded Unit is designed to provide evidence that the candidate has achieved the following specific aims of the Diploma in Software Development:
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.
Admission Requirements
- Grade 12 (or equivalent) Canadian high‑school credential OR
- Relevant professional experience / mature‑student status
Applicants must provide proof of English language proficiency through any one of the following:
- Completion of 2 years of secondary education (including English 10 and 11 with a grade of ‘C’ or higher) from a country where English is one of the principal languages
- Completion of 2 years of full-time post-secondary education at an accredited institution where English is the language of instruction
- An English Language Proficiency Test with one of the following minimum scores:
- International English Testing (IELTS) Academic: Minimum overall score of 6.0
- Test of English as a Foreign Language (TOEFL) IBT: Minimum overall score of 67 (TOEFL-Home test not accepted).
- Canadian English Proficiency Index Program (CELPIP): Listening 7, Speaking 7, Reading 7, and Writing 7
- Duolingo English Test: Minimum overall score of 105
- Pearson Test of English (PTE) Academic: Minimum overall score of 52
See full English Language Proficiency Requirements for details.
- Reliable high‑speed internet and a device capable of running online‑class software (e.g., Microsoft Teams)
Approximately 10-15 hours/week homework is required from students to be successful in this fast-paced and intensive program.
Tuition Fees
- Tuition Fee: $24,000
- Year-1 Tuition: $13,500
- Year-2 Tuition: $10,500
- Application Fee: $250
- Assessment Fee: $250
- Administration Fee: $100
- Course Material Fee (Books not included): $1,000
- Archive Fee: $30
- Total Fees: $25,630*
*Domestic students may qualify for financial aid or Focus College scholarships. Complete the application form or visit our Financial Assistance page to learn more.
- Tuition Fee: $24,500
- Year-1 Tuition: $14,000
- Year-2 Tuition: $10,500
- Application Fee: $500
- Assessment Fee: $250
- Administration Fee: $100
- Course Material Fee (Books not included): $1,000
- Archive Fee: $30
- Total Fees: $26,380
Student Success Stories
Posted on avneet kaur25 September 2025Trustindex verifies that the original source of the review is Google. I had good experience with focus college.Posted on Gurinder Singh17 July 2025Trustindex verifies that the original source of the review is Google. I did my studies with Focus college and it’s totally outstanding for learning new education. I recommend to take admission here. I am very Thankfull to Arvind and prabsharan mam who helped me a lot there.Posted on Anish Malik25 June 2025Trustindex verifies that the original source of the review is Google. this college is very good i really like the environment as well as staff behaviour i spent full one year in this college love the faculty ❣️Posted on Komal sidhu20 June 2025Trustindex verifies that the original source of the review is Google. My experience at focus college is very good. Teachers as well as students services department is helpful when needed.They helped me to learn and boost the knowledge for business skills which will be helpful for my further career. Komal Preet Kaur (4822)Posted on Harsh Mehra20 June 2025Trustindex verifies that the original source of the review is Google. I’m really happy to be a student at Focus College. The atmosphere here is very welcoming and student-friendly. The college provides a good balance between academic learning and practical knowledge, which has helped me grow both personally and professionally. The staff and instructors are experienced, approachable, and always willing to help whenever we face any challenges. I want to give a special thank you to Mam Arwind Kaur from Student Services. She has been incredibly supportive throughout my journey at Focus College.Posted on Ritu Kaur20 June 2025Trustindex verifies that the original source of the review is Google. My experience at Focus college has been positive overall. The instructors are supportive and explain concepts clearly. The campus is clean and well-organized, with helpful student services( Arvind kaur) like tutoring ( Dunsin Ateji) and career support. Online learning tools are easy to use, and the course content is relevant to real-world careers. I’d recommend this college to students looking for a quality and practical education.Posted on Pavneet Kaur20 June 2025Trustindex verifies that the original source of the review is Google. I had a great experience at Focus College! The instructors were knowledgeable and supportive, and the courses were well-structured.Posted on Manpreet Singh19 June 2025Trustindex verifies that the original source of the review is Google. I’m really grateful to be a student at Focus College. The teachers here are sweet, cooperative, and always ready to help us with any problem we face—whether it's related to studies.The small classroom sizes create a comfortable learning environment, allowing each student to get personal attention and understand the topics clearly. A special thank you to Arvind Mam.She has always supported me whenever I had difficulties in my studies or questions about marks. Focus College truly cares about its students, and I’m proud to be part of it!Posted on Erum Abid17 June 2025Trustindex verifies that the original source of the review is Google. i having a v good experience at this place this college is one of the best college in surrey i m a student there mr umer the director is a very nice man the other staff student coordindator arvind kaur is very helpful teachers are undersatnding and cooperative class mates r friendly environment is good.Posted on Harman Singh16 June 2025Trustindex verifies that the original source of the review is Google. FRIENDLY BEHAVIOUR TEACHERS AND SUPPORTIVE FRIENS IN SUBJECTS MOREOVER LIKE THE COFFEE MACHINE 😊