Get in Touch

Course Outline

Introduction

  • Definition of programming and its significance
  • History of programming
  • Opportunities for task automation through software
  • The role of programmers and computers in modern enterprises
  • Current market trends in programming
  • Declarative vs. imperative programming: How versus What
  • The Turing machine
  • Compilation and interpretation "on the fly"

Review of Logic and Boolean Algebra Concepts

  • Predicates
  • Logical sentences
  • Tautologies
  • Boolean algebra

Writing Your First Program

  • Structural approach
  • Functional approach
  • Object-based approach
  • Alternative approaches

Primitive Data Types

  • String representation
  • Integers
  • Floating-point numbers
  • Booleans
  • 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
  • Comparison of values across different languages
  • Bitwise operators
  • Concatenation
  • Increment and decrement operators
  • Common errors

Program Control Flow

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

Creating Reusable Code

  • Functional programming
  • Object-oriented programming

Functional Programming Paradigms

  • Understanding functions
  • Functions and procedures
  • Fundamentals of lambda calculus
  • Function arguments
  • Return values
  • Functions as arguments
  • Anonymous functions
  • Closures
  • Recursion

Object-Oriented Programming Paradigms

  • Modeling real-world entities in philosophy and ontology
  • Determining appropriate objects or other types
  • Class declarations
  • Creating class instances
  • Fields and object state
  • Methods as object behavior
  • 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 implementing relationships between classes
  • Programming from a business perspective

Best Programming Practices

  • Pitfalls and common errors
  • Interpreting high-level code in low-level contexts
  • Code optimization
  • KISS principle (Keep It Simple, Stupid)
  • DRY principle (Don't Repeat Yourself)
  • "Worse is Better" principle
  • Separating abstraction from implementation
  • Methods for detecting logical errors in programs
  • Formatting conventions
  • Code commenting
  • Software metrics

Overview of Technologies and Languages

  • Application domains for these languages
  • Key features of each language
  • Development prospects
  • Future development directions: algorithmic efficiency, code optimization, implementing patterns, design patterns, architectural patterns, and analytical standards
  • Reducing control structures through artificial intelligence and automated decision-making
  • Platform selection: Individual consultations
 35 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories