Our Software Development Fundamentals Course
Duration
5 working days (Monday-Friday)
Who should attend?
The Software Development Fundamentals course is suitable for any apprentice leaving secondary or tertiary education who has a keen interest in Digital IT and who is enrolled onto a NowSkills Apprenticeship.
What will the apprentice learn?
The Software Development Fundamentals course will develop the apprentice’s knowledge, skills and understanding of the following:
Understanding core programming
- Understand computer storage and data types
-
- How a computer stores programs and the instructions in computer memory, memory stacks and heaps, memory size requirements for the various data storage types, numeric data and textual data
- Understand computer decision structures
-
- Various decision structures used in all computer programming languages; If decision structures; multiple decision structures, such as If…Else and switch/Select Case; reading flowcharts; decision tables and also evaluating expressions
- Identify the appropriate method for handling repetition
-
- For loops, While loops, Do…While loops, and also recursion
- Understand error handling
-
- Structured exception handling
Understanding object-oriented programming
- Understand the fundamentals of classes
- Properties, methods, events, and constructors; how to create a class and also how to use classes in code
- Understand inheritance
- Inheriting the functionality of a base class into a derived class
- Understand polymorphism
- Extending the functionality in a class after inheriting from a base class and also overriding methods in the derived class
- Understand encapsulation
- Creating classes that hide their implementation details while still allowing access to the required functionality through the interface and also access modifiers
Understanding general software development
- Understand application life cycle management
- Phases of application life cycle management and also software testing
- Interpret application specifications
- Reading application specifications and translating them into prototypes, code, select appropriate application type, and also components
- Understand algorithms and data structures
- Arrays, stacks, queues, linked lists, and sorting algorithms; performance implications of various data structures and also choosing the right data structure
Understanding web applications
- Understand web page development
- HTML, Cascading Style Sheets (CSS) and also JavaScript
- Understand Microsoft ASP.NET web application development
- Page life cycle, event model, state management and also client-side versus server-side programming
- Understand web hosting
- Creating virtual directories and websites, deploying web applications and also understanding the role of Internet Information Services
- Understand web services
- Web services that will be consumed by client applications, accessing web services from a client application, SOAP and also Web Service Definition Language (WSDL)
Understanding desktop applications
- Understand Windows apps
- UI design guideline categories, characteristics and capabilities of Store Apps and also identify gestures
- Understand console-based applications
- Characteristics and capabilities of console-based applications
- Understand Windows Services
- Characteristics and capabilities of Windows Services
Understanding databases
- Understand relational database management systems
- Characteristics and capabilities of database products, database design, Entity Relationship Diagrams (ERDs) and also normalisation concepts
- Understand database query methods
- Structured query language (SQL), creating and accessing stored procedures, updating data and also selecting data
- Understand database connection methods
- Connecting to various types of data stores, such as flat file; XML file and also in-memory object; resource optimisation