Course Outline
Introduction
- What programming is and why it deserves your attention
- The history of programming
- The opportunity to automate tasks using software
- The role of programmers and computers in the enterprise
- Programming today: current market trends
- Declarative versus imperative programming: How vs. What
- The Turing machine
- Consolidation, compilation, and "just-in-time" interpretation
Recap of Logic and Boolean Algebra
- Predicates
- Logical statements
- Tautologies
- Boolean algebra
Your First Program
- Structural approaches
- Functional approaches
- Object-oriented approaches
- And other paradigms
Primitive Types
- String representation
- Integers
- Floating-point numbers
- Boolean types
- Null type
- Blank or uninitialized values
- Strong vs. weak typing
Data Structures
- FIFO and FILO concepts
- Stacks
- Queues
- Declaring arrays and lists
- Indexing
- Maps
- Records
- Trees
Operators
- Assignment operators
- Arithmetic operators
- Comparison operators
- Comparing values across different languages
- Bitwise operators
- Concatenation
- Increment and decrement operators
- Common errors
Control Flow
- if and else statements
- goto statements and their applicability issues
- switch statements
- for and for-in loops
- while and do-while loops
- foreach loops
- Loop termination
Creating Reusable Code
- Functional Programming
- Object-Oriented Programming
Functional Programming Paradigms
- Understanding functions
- Functions versus procedures
- Fundamentals of lambda calculus
- Function arguments
- Returning values
- Functions as arguments
- Anonymous functions
- Closures
- Recursion
Object-Oriented Programming Paradigms
- Representing real-world entities in philosophy and ontology
- Determining what constitutes an object versus other types
- Class declarations
- Creating class instances
- Fields: the state of an object
- Methods: the behavior of an object
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Association and aggregation
- Delegation and separation of relationships between objects
- Modules, packages, and libraries
- API sharing
- Modeling systems as classes and objects
- Describing and programming relationships between classes
- Programming from a business perspective
Best Programming Practices
- Pitfalls and common errors
- High-level code interpreted at a low level
- Code optimization
- The KISS principle
- The DRY principle
- The "Worse is Better" principle
- Separating abstraction from implementation
- Methods for detecting logical errors in programs
- Naming conventions
- Code commenting
- Software metrics
Overview of Technologies and Languages
- Application areas for these languages
- Key features of each language
- Development prospects
- Future directions: algorithmic complexity, code optimization, implementation patterns, design patterns, architectural patterns, and analytical standards
- Reducing control structures through artificial intelligence and automated decision-making
- Choosing the right platform: individual consultations
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 6500 € + VAT*
Contact us for an exact quote and to hear our latest promotions
Testimonials (5)
The Trainer was very patient with everybody, and was willing to repeat if people did not understand. He made sure everybody understood before he continued
Henry - Vodacom
Course - Introduction to Programming
It has given me a solid foundation to depart into the rabbit hole of programming :)
Andrew Jones - Vodacom
Course - Introduction to Programming
The lecturer had extensive knowledge about the subject matter and was willing to share.
Clive Lloyd - Vodacom
Course - Introduction to Programming
The content was sufficiently detailed in order for me to grasp the fundamentals and concepts, and the delivery was well executed.
Anwar - Vodacom
Course - Introduction to Programming
Patience and pace