> > |
Programming Fundamentals
Programming Paradigms
- Procedural programming
- Functional programming
- Object-oriented programming
- Event-Driven programming
- Logic Programming
Fundamental programming constructs: Basic syntax and semantics of a higher-level language
- Variables
- Types
- Elementary types
- Structured types
- Product and coproduct types
- Algebraic types
- Recursive types
- Arrow (function) types
- Parameterized types
- User-defined types
- Abstract data types
- Expressions
- Order of evaluation
- Side effects
- Assignments
- Arithmetic Operations
- Simple I/O
- Control flow
- Sequential
- Conditional
- Iterative
- Recursive
- Procedures
- Functions
- Parameters
-
- Pass by reference
- Pass by value
- Pass by name
- Pass by result
- Pass by sharing
- Pass by value-result
Algorithms and problem-solving
- Problem-solving strategies
- Algorithms: concepts & properties
- Algorithms: implementation
- Debugging strategies
Data structures
- Primitive types
- Array
- Record
- Stack
- Queue
- Heap
- String
- Pointer
- Pointers and functions
- Pointers and arrays
- Arrays of pointers
- Multidimensional arrays and pointers
- Static initialization of pointer arrays
- Pointers and structures
- Command-Line Arguments
- Pointers and linked lists
- Pointer and trees
- Pointers and references
- Hash Table
- Graph
- Tree
- Linked Structures
- Implementation strategies
- Selection strategy
Recursion
- The concept of recursion
- Recursive mathematical functions
- Simple recursive procedures
- Divide-and-conquer strategies
- Recursive backtracking
- Implementation of recursion
- Recursive algorithms
Event-Driven Programming
- Event-handling methods
- Event propagation
- Managing concurrency in event handling
- Exception handling
- Asynchronous I/O
Object-oriented design
- Polymorphism (subtype polymorphism vs. inheritance)
- Class hierarchies: Classes and subclasses
- Collection classes and iteration protocols
- Class objects
- Design patterns
- Reuse
- Encapsulation and information-hiding
- Separation of behavior and implementation
- Inheritance (overriding, dynamic dispatch)
Component-based computing
- API programming
- Class browsers and related tools
- Debugging in the API environment
- Using APIs
- Middleware
-- Main.nova - 31 Aug 2006
|
Revision r1.1 - 31 Aug 2006 - 20:55 - Main.nova
Revision r1.4 - 27 Sep 2007 - 16:13 - Main.nova