Courses/Slides

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. Pyhton
      1. Python-Design-Patterns (source: GIT)
    3. Java
    4. DataBase training
    5. Domain-Specific Languages (DSLs)
    6. High-performance computing (HPC)
      1. First settings
      2. HPC Complete Courses (C)
      3. HPC Short Courses (C)
    7. Markdown-it
  2. Delavnice
    1. PhD Presentation (in Serbian)
    2. FIS Presentation (in Serbian)

Technologies

GIT - Program control system

Pyhton

ZadaciReš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-Design-Patterns (source: GIT)

Creational Patternsabstract_factoryborgbuilderfactory_methodlazy_evaluationpoolprototype
Descriptionuse a generic function with specific factoriesa singleton with shared-state among instancesinstead of using multiple constructors, builder object receives parameters and returns constructed objectsdelegate a specialized function/method to create instanceslazily-evaluated property pattern in Pythonpreinstantiate and maintain a group of instances of the same typeuse a factory and clones of a prototype for new instances (if instantiation is expensive)
Structural Patterns3-tieradapterbridgecompositedecoratorfacadeflyweightfront_controllermvcproxy
Descriptiondata<->business logic<->presentation separation (strict relationships)adapt one interface to another using a white-lista client-provider middleman to soften interface changeslets clients treat individual objects and compositions uniformlywrap functionality with other functionality in order to affect outputsuse one class as an API to a number of otherstransparently reuse existing instances of objects with similar/identical statesingle handler requests coming to the applicationmodel<->view<->controller (non-strict relationships)an object funnels operations to something else
Behavioral Patternschaincatalogchaining_methodcommanditeratormediatormementoobserverpublish_subscriberegistryspecificationstatestrategytemplatevisitor
Descriptionapply a chain of successive handlers to try and process the datageneral methods will call different specialized methods based on construction parametercontinue callback next object methodbundle a command and arguments to call latertraverse a container and access the container’s elementsan object that knows how to connect other objects and act as a proxygenerate an opaque token that can be used to go back to a previous stateprovide a callback for notification of events/changes to dataa source syndicates events/data to 0+ registered listenerskeep track of all subclasses of a given classbusiness rules can be recombined by chaining the business rules together using boolean logiclogic is organized into a discrete number of potential states and the next state that can be transitioned toselectable operations over the same dataan object imposes a structure but takes pluggable componentsinvoke a callback for all items of a collection
Design for Testability
Patterns
constructor_injectionparameter_injectionsetter_injection
Description
Patterns
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 usewith 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 Patternsdelegation_pattern
Descriptionan object handles a request by delegating to a second object (the delegate)
Othersblackboardgraph_searchhsm
Descriptionarchitectural model, assemble different sub-system knowledge to build a solution, AI approach - non gang of four patterngraphing algorithms - non gang of four patternhierarchical state machine - non gang of four pattern

Java

DataBase training

ZadaciReš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)


HPCTeroijaVežbeZadaci
1.UvodV1-openMPZ1-openMP
2.ArhitekturaV2-openMPZ2-openMP
3.UpravljanjeV3-openMPIZ3-openMPI
4.TehnologijeV4-openMPIZ4-openMPI
5.ProblemiV5-openMPIZ5-openMPI
6.BibliotekeV6-openACCZ6-openACC
7.AlgoritmiV7-openACCZ7-openACC

HPC Short Courses (C)


OpenMP presentationOpenMP training
MPI presentationMPI training

Markdown-it

Delavnice

PhD Presentation (in Serbian)

FIS Presentation (in Serbian)