Software Development

Software Development

About Program

*Program has been approved for delivery by the registrar of the Private Training Institutions Branch (PTIB).

 
The purpose of this program is to provide students with the opportunity to earn a diploma with technical skills in software development that meet industry needs. The program will prepare students for employment in an entry-level developer or tester roles in a range of organizational contexts, or to proceed to further study. The program is designed for students seeking to focus on one or more application domains, such as general Application Development, Web Development, Games Development, and Mobile Applications Development.

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:

How to Apply

Upon successful completion of the program, graduates will be positioned to enter careers such as IT Technician, Network Administrator, Network Engineer, Network Support and many more!

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!

Apply Now

    Please Send Me More Information:

    By submitting this form, I agree that Sterling College may call, text and/or email me about their educational services. I may cancel consent at any time.