In this context are the programming languages as well as methodologies. In addition, there are various presentations as well as pieces of training that will serve in further education. It also provides special training that is focused on the IT sector, especially on HPC.

All slides are made according to the literature and the gratitude which are indicated in the slides themselves.

Table of Contents

  1. Technologies
    1. GIT - Program control system
    2. The Go Programming Language
      1. Learn GO
      2. Welcome To Golang and Let’s GO
    3. Pyhton
      1. Learn Python
      2. Python Exercises, Practice, Solution
        1. Python Tutorial for Beginners
        2. Exercises with Solutions
        3. Python OOP Tutorial
        4. Python Matplotlib
        5. Python-Design-Patterns (source: GIT)
    4. Java
    5. DataBase training
    6. Domain-Specific Languages (DSLs)
    7. Docker
    8. High-performance computing (HPC)
      1. First settings
      2. HPC Complete Courses (C)
      3. HPC Short Courses (C)
    9. Markdown-it
  2. Delavnice
    1. PhD Presentation (in Serbian)
    2. FIS Presentation (in Serbian)


GIT - Program control system

The Go Programming Language

Learn GO

Welcome To Golang and Let’s GO

GO tutorial Description
GO 1: Golang characteristics and Go Syntax
GO 2: Declaring Variables in Go
GO 3: Functions in Go
GO 4: Error Handling in Go
GO 5: Flow control in Go
GO 6: If..else Statement in Go
GO 7: Switch Statement in Go
GO 8: Data Structures in Go with Array
GO 9: Data Structures in Go with Slices
GO 10: Data Structures in Go with Map
GO 11: Custom Types in Go
GO 12: Struct in Go
GO 13: Methods in Go
GO 14: Interfaces in Go
GO 15: Concurrency with Goroutines in Go
GO 16: Concurrency with Goroutines and Channel in Go


Learn Python

Python Exercises, Practice, Solution

Python Tutorial for Beginners
  1. Strings - Working with Textual Data
  2. Integers and Floats - Working with Numeric Data
  3. Lists, Tuples, and Sets
  4. Dictionaries - Working with Key-Value Pairs
  5. Conditionals and Booleans - If, Else, and Elif Statements
  6. Loops and Iterations - For-While Loops
  7. Functions
  8. Import Modules and Exploring The Standard Library
  9. File Objects - Reading and Writing to Files
  10. CSV Module - How to Read, Parse, and Write CSV Files
  11. Real World Example - Parsing Names From a CSV to an HTML List
  12. Using Try/Except Blocks for Error Handling
  13. Unit Testing Your Code with the unittest Module
Exercises with Solutions
Zadaci Rešenja
Z1-Zadaci Z1-Rešenja
Z2-Zadaci Z2-Rešenja
Z3-Zadaci Z3-Rešenja
Z4-Zadaci Z4-Rešenja
Z5-Zadaci Z5-Rešenja
Z6-Zadaci Z6-Rešenja
Z7-Zadaci Z7-Rešenja
Z8-Zadaci Z8-Rešenja
Z9-Zadaci Z9-Rešenja
Z10-Zadaci Z10-Rešenja
Z11-Zadaci Z11-Rešenja
Z12-Zadaci Z12-Rešenja
Python OOP Tutorial
  1. Classes and Instances
  2. Class Variables
  3. classmethods and staticmethods
  4. Inheritance - Creating Subclasses
  5. Special (Magic-Dunder) Methods
  6. Property Decorators - Getters, Setters, and Deleters
Python Matplotlib
  1. Introduction
  2. Bar Charts
  3. Pie Charts
  4. Stack Plots
  5. Fill Betweens
  6. Histograms
  7. Scatter Plots
  8. Time Series
  9. Live Data
  10. Subplots
Python-Design-Patterns (source: GIT)
Creational Patterns abstract_factory borg builder factory_method lazy_evaluation pool prototype
Description use a generic function with specific factories a singleton with shared-state among instances instead of using multiple constructors, builder object receives parameters and returns constructed objects delegate a specialized function/method to create instances lazily-evaluated property pattern in Python preinstantiate and maintain a group of instances of the same type use a factory and clones of a prototype for new instances (if instantiation is expensive)
Structural Patterns 3-tier adapter bridge composite decorator facade flyweight front_controller mvc proxy
Description data<->business logic<->presentation separation (strict relationships) adapt one interface to another using a white-list a client-provider middleman to soften interface changes lets clients treat individual objects and compositions uniformly wrap functionality with other functionality in order to affect outputs use one class as an API to a number of others transparently reuse existing instances of objects with similar/identical state single handler requests coming to the application model<->view<->controller (non-strict relationships) an object funnels operations to something else
Behavioral Patterns chain catalog chaining_method command iterator mediator memento observer publish_subscribe registry specification state strategy template visitor
Description apply a chain of successive handlers to try and process the data general methods will call different specialized methods based on construction parameter continue callback next object method bundle a command and arguments to call later traverse a container and access the container’s elements an object that knows how to connect other objects and act as a proxy generate an opaque token that can be used to go back to a previous state provide a callback for notification of events/changes to data a source syndicates events/data to 0+ registered listeners keep track of all subclasses of a given class business rules can be recombined by chaining the business rules together using boolean logic logic is organized into a discrete number of potential states and the next state that can be transitioned to selectable operations over the same data an object imposes a structure but takes pluggable components invoke a callback for all items of a collection
Design for Testability
constructor_injection parameter_injection setter_injection
for those of you who would like to use final fields, wish to avoid numerous setters, or dislike private field injection and would like nothing more than to just use with parameter manipulation attacks, the attacker modifies the data sent between the client and Web application. This may be data sent using query strings, form fields, cookies, or in HTTP headers. the client provides the depended-on object to the SUT via the setter injection (implementation variant of dependency injection)
Fundamental Patterns delegation_pattern
Description an object handles a request by delegating to a second object (the delegate)
Others blackboard graph_search hsm
Description architectural model, assemble different sub-system knowledge to build a solution, AI approach - non gang of four pattern graphing algorithms - non gang of four pattern hierarchical state machine - non gang of four pattern


DataBase training

Zadaci Rešenja
Z1-Zadaci Z1-Rešenja
Z2-Zadaci Z2-Rešenja
Z3-Zadaci Z3-Rešenja
Z4-Zadaci Z4-Rešenja
Z5-Zadaci Z5-Rešenja
Z6-Zadaci Z6-Rešenja
Z7-Zadaci Z7-Rešenja
Z8-Zadaci Z8-Rešenja
Z9-Zadaci Z9-Rešenja
Z10-Zadaci Z10-Rešenja
Z11-Zadaci Z11-Rešenja
Z12-Zadaci Z12-Rešenja
Test-Zadaci Test-Rešenja

Domain-Specific Languages (DSLs)

  1. O predmetu
  2. Programski jezik Python
  3. Uvod u jezike specifične za domen
  4. Jezičke sintakse i metamodelovanje
  5. Tekstualne sintakse
  6. Arpeggio
  7. parglare - u pripremi
  8. textX
  9. Xtext
  10. Generisanje programskog koda
  11. Anatomija jednog DSL-a


High-performance computing (HPC)

First settings

HPC Complete Courses (C)

HPC Teroija Vežbe Zadaci
1. Uvod V1-openMP Z1-openMP
2. Arhitektura V2-openMP Z2-openMP
3. Upravljanje V3-openMPI Z3-openMPI
4. Tehnologije V4-openMPI Z4-openMPI
5. Problemi V5-openMPI Z5-openMPI
6. Biblioteke V6-openACC Z6-openACC
7. Algoritmi V7-openACC Z7-openACC

HPC Short Courses (C)

OpenMP presentation OpenMP training
MPI presentation MPI training



PhD Presentation (in Serbian)

FIS Presentation (in Serbian)

© 2018 - Milovan Tomašević. All rights reserved.

Powered by MT v8.3.0