Software Development Fundamentals

Our Software Development Fundamentals Course


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