Get in Touch

Course Outline

Introduction

  • Defining programming and its significance
  • A historical perspective on programming
  • Leveraging software for task automation
  • The programmer's role and the computer's function within an enterprise
  • Current market trends in programming development
  • Declarative versus imperative programming: How versus What?
  • Understanding the Turing machine
  • Compilation and interpretation 'on the fly'.

Review of Logic and Boolean Algebra

  • Predicates
  • Logical sentences
  • Tautologies
  • Boolean algebra

Your First Program

  • Structural aspects
  • Functional aspects
  • Object-oriented aspects
  • Other paradigms

Primitive Data Types

  • String representation
  • Integers
  • Floating-point numbers
  • Booleans
  • Null types
  • Blank versus uninitialized values
  • Strong versus 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 operations
  • Concatenation
  • Increment and decrement operators
  • Common pitfalls

Control Flow

  • If and if-else statements
  • Goto statements and associated challenges
  • Switch statements
  • For loops and for-in loops
  • While loops and do-while loops
  • Foreach loops
  • Loop termination

Building Reusable Code

  • Functional Programming
  • Object-Oriented Programming

Functional Programming Paradigms

  • Defining functions
  • Functions versus procedures
  • Foundations of lambda calculus
  • Function arguments
  • Return values
  • Functions as arguments
  • Anonymous functions
  • Closures
  • Recursion

Object-Oriented Programming Paradigms

  • Mmapping real-world entities to philosophical and ontological concepts
  • Determining object boundaries and other type distinctions
  • Class declarations
  • Instantiating classes
  • Fields: the state of an object
  • Methods: the behavior of an object
  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Association and aggregation
  • Delegation and the separation of object relationships
  • Modules, packages, and libraries
  • API sharing
  • Modeling systems as classes and objects
  • Defining and programming class relationships
  • Viewing programming from a business perspective

Best Practices in Programming

  • Common pitfalls and errors
  • Translating high-level code into low-level interpretations
  • Code optimization
  • The KISS principle
  • The DRY principle
  • The 'Worse is Better' principle
  • Separating abstraction from implementation
  • Techniques for detecting logic errors in programs
  • Formatting conventions
  • Code commenting
  • Software metrics

Overview of Technologies and Languages

  • Application domains for each language
  • Core language features
  • Future development prospects
  • Future development directions: algorithmic efficiency, code optimization, implementation patterns, design patterns, architectural patterns, and analytical standards
  • Reducing control structures through artificial intelligence and automated decision-making
  • Selecting the right platform: Individual consultations
 35 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories