Get in Touch

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

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories