Repository with assignments using the Test Informed Learning with Examples (TILE) method to integrate testing into existing programming courses for free.
Menu
LinkedIN Community
Join our LinkedIN Community.
The Blueprint
The Blueprint is a hierarchical structure describing common concepts in programming languages. These concepts are used to describe the prerequisites of assignments and the concepts that can be practiced with the assignment. Below is a mind map of the blueprint and a textual representation.
Textual representation
Expressions
Operators
- relational operators
- logical operators
- arithmetic operators
- bit operators
Evaluation
- precedence
- lazy evaluation
Data
User-defined structures
- trees
- stacks
- queues
- graphs
Type conversion
Types (built-in)
-
primitive
-
composite
-
dictionaries
- sets
-
sequences
- array
Multi-threading
Synchronization
Design principles
Top-down
Bottom-up
Object orientation (OO)
Objects
-
instantiation
- garbage collection
- referencing
Access modifiers
- public
- protected
- private
- package private
Inheritance
- overriding
- duck typing (polymorphism)
- extension
- class inheritance
- interface inheritance
-
abstract classes
Interfaces
- interface methods
- default methods
- interface constants
Classes
-
methods
- static methods
- instance methods
- final methods
- overloading
-
fields
- final class
- constructors
Testing
Manual testing
Automated testing
Coding conventions
Naming conventions
- PEP 8
- Java Code Conventions
Documentation
environment
IDE
- debugging
- editor
- compiler
Version control
Libraries
- guizero
- numpy
- random
- pandas
- java.util.stream
Testing frameworks
Packaging
IO
Files
Standard
Imperative programming
Functions
-
signature
-
arguments/parameters
-
return type
- calling functions
- return
-
anonymous function
-
lambda
- functional interfaces
- method references
-
algorithms
- creating/defining
Variables
- constants
-
scope
- global variables
- local variables
- assignment
- variable declaration
Control flow
Conditionals
Loops
Exceptions
Jumping