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