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
- Defining programming and its significance
- A brief history of programming
- Opportunities for automating tasks through software
- The roles of programmers and computers within enterprise environments
- Current market trends in programming and development
- Declarative versus imperative programming: How versus What
- The Turing Machine concept
- Compilation and interpretation processes, including just-in-time execution
Review of Logic and Boolean Algebra
- Predicates
- Logical statements
- Tautologies
- Boolean algebra
Your First Program
- Structural approaches
- Functional approaches
- Object-oriented approaches
- Alternative methodologies
Primitive Data Types
- String representation
- Integers
- Floating-point numbers
- Boolean values
- Null types
- Blank or uninitialized variables
- Strong versus weak typing systems
Data Structures
- FIFO and FILO concepts
- Stacks
- Queues
- Declaring arrays and lists
- Indexing mechanisms
- Maps
- Records
- Trees
Operators
- Assignment operators
- Arithmetic operators
- Comparison operators
- Comparing values across different languages
- Bitwise operations
- Concatenation
- Increment and decrement operators
- Common pitfalls and errors
Control Flow
- If and if-else statements
- Goto statements and their associated challenges
- Switch statements
- For loops and for-in constructs
- While and do-while loops
- ForeEach loops
- Loop termination strategies
Creating Reusable Code
- Functional Programming
- Object-Oriented Programming
Functional Programming Paradigms
- Understanding functions
- Functions versus procedures
- Fundamentals of lambda calculus
- Function arguments
- Return values
- Functions as arguments
- Anonymous functions
- Closures
- Recursion
Object-Oriented Programming Paradigms
- Modeling real-world entities through philosophy and ontology
- Deciding when to use objects versus other types
- Class declaration
- Creating class instances
- Fields and object state
- Methods as object behavior
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Association and aggregation
- Delegation and separation of object relationships
- Modules, packages, and libraries
- API sharing
- System modeling using classes and objects
- Describing and implementing relationships between classes
- Viewing programming from a business perspective
Best Practices in Programming
- Common pitfalls and errors
- High-level code interpreted at a low level
- Code optimization techniques
- The KISS principle (Keep It Simple, Stupid)
- The DRY principle (Don't Repeat Yourself)
- The "Worse is Better" philosophy
- Separating abstraction from implementation
- Techniques for detecting logical errors in programs
- Code naming conventions
- Code commenting standards
- Software metrics
Overview of Technologies and Languages
- Application domains for these languages
- Key features of each language
- Development prospects
- Future directions: algorithmic development, code optimization, implementing structural and design patterns, and adherence to analytical standards
- Reducing control structures through artificial intelligence and automated decision-making
- Choosing the right platform: personalized 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