Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction
- What is programming and why it deserves your attention
- History of programming
- The opportunity to automate tasks using software
- The role of the programmer and the computer in an enterprise
- Current market trends in programming development
- Declarative vs. Imperative programming: How or What?
- The Turing machine
- Consolidation, compilation, and 'on the fly' interpretation
Review of Logic and Boolean Algebra
- Predicates
- Logical sentences
- Tautologies
- Boolean algebra
Your First Program
- Structurally
- Functionally
- Object-oriented approach
- And other methods?
Primitive Data Types
- String representation
- Integers
- Floating-point numbers
- Boolean values
- Null type
- Blank or uninitialized values
- Strong vs. weak typing
Data Structures
- Concepts of FIFO and FILO
- 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
Program Control
- if and if-else instructions
- goto instructions and discussion of application issues
- switch statements
- for loop and for-in
- while loop and do-while
- foreach loop
- Loop termination
Creating Reusable Code
- Functional Programming
- Object-Oriented Programming
Functional Programming Paradigms
- Understanding functions
- Functions vs. procedures
- Basics of lambda calculus
- Function arguments
- Returning values
- Functions as arguments
- Anonymous functions
- Closures
- Recursion
Object-Oriented Programming Paradigms
- Representation of real-world entities in philosophy and ontology
- Determining what should be an object or another type
- Class declaration
- 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 the system as classes and objects
- Describing and programming relationships between classes
- Viewing programs from a business perspective
Good Programming Practices
- Pitfalls and common errors
- High-level code interpreted through low-level concepts
- Code optimization
- KISS principle
- DRY principle
- Worse-is-better principle
- Separating abstraction from implementation
- Methods for detecting errors in logical programs
- Programming conventions
- Code commenting
- Software metrics
Overview of Technologies and Languages
- Application domains of these languages
- Key language features
- Development prospects
- Future development directions: algorithms, code optimization, implementation patterns, design patterns, architectural patterns, and analytical standards
- Reducing control structures through the use of artificial intelligence and automated decision-making
- Choosing the right platform: individual consultations
35 Hours
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