Software Development Fundamentals - xerocrypt/Misc GitHub Wiki

Core Programming

  • Computer storage and data types.
  • Programs and instructions in computer memory, memory stacks and heaps, memory size requirements for data storage types.
  • Decision structures.
  • Flowcharts, decision tables and evaluating expressions.
  • Handling repetitions, e.g. For loops, While loops, Do... While loops and recursion.
  • Error handling.
  • Structured exception handling.

Object-Oriented Programming

  • The fundamentals of classes: How to create a class and how to use classes.
  • Properties, methods, events and constructors.
  • Inheritance, base classes and derived classes.
  • Extending the functionality of a class after inheriting from a base class.
  • Overriding methods in a derived class.
  • Polymorphism.
  • Encapsulation.
  • Creating classes that hide implementation details, using interface and access modifiers.

General Software Development

  • Application Lifecycle Management
  • Software testing
  • Interpreting application specifications
  • Reading application specifications and translating them. Selecting the appropriate application type and components.
  • Algorithms and data structures.
  • Arrays, stacks, queues, linked lists and sorting algorithms.
  • Performance implications of data structures

Web Applications

  • HTML, CSS and JavaScript
  • ASP.NET Web application development
  • Page lifecycle, event model, state management and client/server-side programming.
  • Web hosting
  • Virtual directories and deploying Web applications on IIS.
  • Web Services
  • Web Service usage, SOAP, WSDL

Desktop Applications

  • Windows Store applications
  • UI design guideline categories, characteristics and capabilities of Store Apps
  • Identify guestures
  • Characteristics and capabilities of console-based applications
  • Windows Services, characteristics and capabilities

Databases

  • Relational database management systems
  • Characteristics and capabilities of database products, database design, Entity Relationship Diagrams and normalisation concepts.
  • Database query methods
  • SQL, updating data and selecting data
  • Creating and accessing stored procedures
  • Database connection methods
  • Connecting to data stores, such as flat file, XML, in-memory objects

Resources

MSDN: An Extensive Examination of Data Structures Using C# 2.0

MSDN: Building Console Applications

MSDN: Connecting to Data in Visual Studio Overview

MSDN: Control Flow in Visual Basic

MSDN: Developing Web Applications with ASP.NET

MSDN: Exceptions and Exception Handling (C# Programming Guide)

MSDN: Introduction to Windows Service Applications

MSDN: Object-Oriented Programming

MSDN: Querying the Database

MSDN: Windows Forms Application Basics (Visual Basic)

Visual Studio: DevOps overview for Team Services and TFS