Software Development
About Program
*Program has been approved for delivery by the registrar of the Private Training Institutions Branch (PTIB).
Program Details
Upon successful completion of the Software Development program, graduates will be positioned to enter careers as Computer Programmers, Web Developers, Software Tester, Mobile Application Developers, and many more!
Program Name
Software Development
Start Date
Fall, Winter, Summer
Location
Vancouver, BC
Program Length
2 years
Credential
Diploma
Program Outline
Students will gain knowledge and understanding of the basic concepts of computing, including computer hardware, operating systems, networking infrastructure, IT technical support and security concepts.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Install and configure hardware and software components of computer architecture
2. Configure a variety of operating systems
3. Explain the hardware and software components of a network, including the Internet
4. Apply the fundamentals of IT technical support concepts and practice to manage hardware and software resources to meet organizational and end user requirements.
5. Discuss a range of security concepts, tools and techniques
6. Explain the hardware, software, and operating system components of a computer
Students will gain a basic knowledge and understanding of designing and creating websites and Structured Query Language.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Apply the relational model of database design
2. Employ a range of common SQL statements
3. Analyse and solve data handling problems
4. Design and build a website, using appropriate techniques, taking usability and accessibility into account.
5. Discuss the legal, ethical and security related issues surrounding gathering, storing, accessing and sharing information
6. Test and reflect on the usability of a website focusing on its ability to communicate its content clearly
Students will demonstrate awareness of appropriate professional, legal and ethical practice as an emerging IT professional, communicate and work effectively both as part of a team and independently.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Discuss legislation that relates to the Information Technology industry
2. Explain the importance of ethical behaviour and evaluate the main ethical considerations facing Information Technology professionals.
3. Discuss the organisational context and impact of IT on business
4. Apply information presentation skills
5. Apply personal and interpersonal skills including, leadership, teamwork and relationship management
6. Develop and propose a solution to meet a business need
7. Understand role of information systems in an organisation and explain how they support organisational goals
Students will be introduced to computer programming.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Compare and contrast a range of design principles
2. Create, debug and test simple programs using fundamental programming constructs, principles and tools
3. Work with both procedural and objected oriented methods
4. Demonstrate understanding of the objectives, people involved, tasks and deliverables of each stage in the systems development life cycle.
5. Use a variety of number bases such as binary, decimal and hexadecimal
Students will elicit and analyze client requirements, propose and design solutions, and design user interfaces.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Use business process modelling tools to understand and document business processes
2. Interact with stakeholders
3. Analyse requirements to determine client needs
4. Apply solution design principles
5. Discuss the security issues of a proposed solution
6. Carry out a feasibility study
Students will develop the skills in responsive web design necessary to create interactive web pages using client-side scripting.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Implement responsive design considering independence of platform and device in use
2. Apply user interface design principles and processes
3. Implement a solution that takes user experience and accessibility into consideration
4. Implement client-side web scripting to add interactivity to a website
5. Apply client-side scripting standards
6. Understand and implement multimedia optimization techniques for mobile web
7. Plan and perform simple unit testing and debugging
8. Implement a solution using a framework or library
Students will gain knowledge and understanding of the fundamental data structures and algorithms, and the skills to apply these techniques in solving problems.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Define fundamental static and dynamic data structures and develop relevant standard algorithms for accessing them.
2. Evaluate, apply and implement applicable software design patterns and write code following software development standards
3. Construct software with complex, multi-element architectures and abstract data types (ADTs)
4. Analyze and apply software optimization concepts and techniques
5. Implement algorithms using an interpreted or compiled language
Students will gain knowledge and skills of using another programming language and framework to enable them to build a game application, including game design, scripting, development and testing.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Write code using an object-oriented approach and inspect the strengths and weaknesses of object oriented and functional approaches in game development
2. Design and write programs considering appropriate design patterns and following applicable software development standards
3. Analyze and apply software optimization concepts and techniques
4. Investigate, design and implement application data access, management, and storage technologies appropriate to game development
5. Research and implement core software development practices that have real world relevance, as they apply to game development
Students will gain knowledge and skills in another programming language and/or framework to enable them to develop a mobile app, using appropriate software architectural patterns.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Design and write programs considering appropriate design patterns and following applicable software development standards
2. Work with multiple common languages and IDEs, and develop the ability to migrate to new languages, tools and systems
3. Analyse and apply software optimisation concepts and techniques
4. Investigate, design and implement application data access, management, and storage technologies appropriate to mobile applications
5. Research and implement core software development practices in a realistic setting, as they apply to mobile application development
6. Apply professional and ethical practice to address sustainability, equity, social or contemporary cultural issues.
Students will gain an understanding of application security principles and knowledge and skills in server-side scripting (or using a framework) to enable them to develop a secured web application.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Research, analyse and apply application security principles, including current best practices in IT security
2. Write server-side scripts to implement authentication, encryption, and authorisation
3. Design and implement data validation techniques and data access permissions
4. Design data models that protect data integrity
5. Investigate, design and implement application data access and management appropriate to web development
6. Employ core software development practices that have real world relevance, as they apply to web development
7. Address organisational implications of complying with legal and regulatory requirements and industry standards for application security and privacy protection.
Students will gain the knowledge and skills to manage digital assets and work with a range of data access and storage technologies.
Learning Objectives Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Investigate, design and implement application data access and management appropriate to the application domain
2. Evaluate and implement storage technologies appropriate to the management of digital assets
3. Apply HCI and UX principles to the development of user interfaces for accessing data
4. Employ core software development practices in a realistic setting, as they apply to data access and management
Students will learn specialized knowledge and skills in selecting appropriate software architectures, tools, and technologies for a software solution and in working with web services, including microservices.
Upon completion of this course the successful student will have reliably
demonstrated the following learning outcomes:
1. Investigate, select and justify architectures, tools and technologies for a software solution
2. Analyse and apply selected software architectural patterns
3. Compare and apply approaches to service orientation, including microservices and web services
4. Design, build, test, deploy and manage secure Application Programming Interfaces (API)
5. Apply core software development practices to the development of software solutions in real or realistic settings
Students will develop understanding and practice of a comprehensive range of software testing and maintenance techniques, as well as effective technical and user documentation skills.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Recommend and apply a range of software quality assurance techniques to assess correctness of systems
2. Design and execute tests using manual and automated techniques
3. Plan and manage testing activities, report incidents, reflect on outcomes and communicate test results
4. Review tools and techniques for automated software builds and continuous integration
5. Apply programme maintenance techniques, including bug fixing and testing, optimisation and refactoring
6. Organise source code by using source and version control tools
7. Produce and revise accurate and clear technical and user documentation
Students will develop skills in software project planning and management, with a focus on Agile approaches to software development.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Analyse and document software requirements using agile approaches
2. Consider and apply software estimation methods using relevant metrics
3. Evaluate and apply system development approaches, including agile software development
4. Apply project management processes, including project initiation, planning, execution, control and closure processes in real or realistic settings
5. Research, experiment with and reflect on approaches to innovation and enterprise
6. Apply personal and interpersonal skills to personal effectiveness in the workplace, including customer service and leadership
Students will apply the entire range of previously learnt software development skills to a capstone project, set in a real or realistic context.
Upon completion of this course the successful student will have reliably demonstrated the following learning outcomes:
1. Analyse requirements, design and document a software solution
2. Write programs using appropriate design patterns and data structures to meet specifications
3. Apply software quality assurance techniques to ensure software correctness
4. Select and apply appropriate data management and storage technology to support the development and deployment of an application
5. Apply security principles in the development of an application
6. Evaluate and select appropriate software architecture, technologies and tools for a software solution and implement them.
7. Perform project planning, management and control
8. Apply communication, information design, personal and interpersonal skills to an IT project
9. Apply professional and ethical practice to address sustainability, equity, social or contemporary cultural issues.
Program Requirements
All students are required to meet the following admissions requirements:
- Graduation from Grade 12 or equivalent (B.C. high school diploma, B.C. Adult Graduation Diploma, General Educational Development) or an equivalent secondary school completion from another jurisdiction; or
- Mature student status (19 years of age or older before the start of classes). Mature students will be interviewed by the Program Administrator to determine if the student has the appropriate level of literacy, numeracy, comprehension and/or written skills to enable successful completion of the program. Applicants may be required to submit a resume, school transcripts and/or letters of recommendation.
- If English is not the first language, students are requested to have one of the following to qualify for enrolment to this program:
- IELTS score of 6.0 or an equivalent English language benchmark verified by the institution.
- For domestic students, Canadian citizenship or landed immigrant status is required.
- International students are required to possess a valid study visa, for programs longer than six months and prior to the program start date. International students are also required to have sufficient accident and medical insurance coverage to cover any injuries or illnesses that may occur during the educational term.
How to Apply
- Copy of High School Diploma or GED
- Please review and download a copy of the sterling college student handbook
Tuition And Fees
Program Name | First Year | Second Year | Diploma in Software Development (1 Year) | Tuition Fee: $29,000 | NA |
Diploma in Software Development with Co-Op (2 year) | Tuition Fee: 1st Year $ 18,000 | 2nd Year $15,000 |
Tuition fees are pending approval and subject to change.
All Programs* An additional college application fee of $200 for domestic students and $300 for international students will be payable at the time of registration.
International Students: There is an additional fee of $635 for health insurance required for all international students.
For full details on program fees and tuition please visit our program fees page.
Our Process
Complete our online application form
We will review your application.
Once accepted, we will send you an offer later and payment details.
Once we receive payment, we will send you a letter of acceptance.
If you are an international student you can now apply for a study permit.
You are now ready to start your program!