Get in Touch

Course Outline

Introduction

  • What is programming and why it merits attention
  • History of programming
  • Opportunities to automate tasks using software
  • The role of the programmer and the computer within an enterprise
  • Current programming development and market trends
  • Declarative and imperative programming: How or What?
  • The Turing machine
  • Consolidation, compilation, and "just-in-time" interpretation

Review of logic and Boolean algebra

  • Predicates
  • Logical statements
  • Tautologies
  • Boolean algebra

The first program

  • Structurally
  • Functionally
  • Object-oriented
  • And other approaches?

Simple types

  • String representation
  • Integers
  • Floating-point numbers
  • Booleans
  • Null type
  • Blank or uninitialized values
  • Strong and 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

  • If and if-else instructions
  • Goto instructions and discussion of application issues
  • The switch statement
  • The for loop, for-in
  • The while loop, do-while
  • ForeEach loop
  • Loop termination

Creating reusable code

  • Functional Programming
  • Object-Oriented Programming

Functional programming paradigms

  • What is a function?
  • Function versus procedure
  • Fundamentals 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
  • Deciding what constitutes an object versus other types
  • 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 object relationships
  • Modules, packages, and libraries
  • API sharing
  • System modeling as classes and objects
  • Describing and programming relationships between classes
  • Programming from a business perspective

Good programming practices

  • Pitfalls and common errors
  • High-level code in the context of low-level interpretation
  • Code optimization
  • KISS principle
  • DRY principle
  • Worse is Better principle
  • Separation of abstraction from implementation
  • Methods for detecting logic errors in programs
  • Code formatting conventions
  • Code commenting
  • Software metrics

Overview of technologies and languages

  • Application areas of these languages
  • Key language features
  • Development prospects
  • Future development directions: algorithmic approaches, code optimization, pattern implementation, design patterns, architectural patterns, and analytical standards
  • Reduction of control structures: the use of artificial intelligence and automated decision-making
  • Which platform to choose? Individual consultations
 35 Hours

Testimonials (5)

Related Categories