Subject |
Terminology: problem solving strategies; machines, data and commands; algorithms (definition); formal languages, expressions, grammars; programming languages and compilers
Syntax constructs: primitive data types and literals; variables, names, declarations, initialization; operators (arithmetic, comparing, assigning, logic, bitwise, unary); operator priorities, type conversion; commands, visibility and sequences of commands; arrays and character strings; control structures
Basic concepts in programming: objects, classes, attributes, methods; referencing objects, constructors; object-oriented programming; procedures and parameters; input/output, files; interfaces; extension of classes (overloading, inheritance)
Selected special concepts in programming: dynamic data structures (example lists); overview dynamic data structures (graphs, queues, stacks, sets); self-reference and means of description; recursive algorithms (linear and non-linear, example mergesort); recursive data structures (example trees); events and event processing; exceptions; threads
Organizing programming: programming conventions (code conventions); file organization, structuring, comments; structuring concepts for large programs; documentation; packages; tools and development environments
|