Fundamental designs:
- Basic syntax and semantics of a high level language
- Variables, data types, expressions and assignment
- Simple I/O
- Conditional and iterative control structures
- Functions and parameter transfer
- Structured decomposition
Data structures:
- Representation of numerical data
- Extent, precision and round-off errors
- Arrays
- Representation of character-based data
- Strings and string management
- Memory management during execution
- Pointers and references
Algorithmic problem-solving:
- Problem-solving strategies
- The role of algorithms in the problem solving process
- Implementation strategies for algorithms
- Troubleshooting strategies
- The concepts and properties of algorithms
Object-Oriented Programming:
- Object-oriented design
- Encapsulation and concealed information
- Separation of behaviour and implementation
- Classes and subclasses
- Inheritance
- Polymorphism
Exceptions
- Exception management