Lecture descriptions


Distributed systems

For: Master students in Distributed and Parallel Computing, Semester 1

Lectures: 2h/week Labs: 1h/week

What is a Distributed System. Design and Middleware. Communication in Client-Server model. Remote Procedure Call. Group Communication. Clock synchronization. Distributed Mutual Exclusion. Deadlocks. Elections. Fault Tolerance. Atomic Transactions. Distributed Systems Models. Real Time Systems. Moden Technologies for Distributed Systems. P2P. Grids. Ubiquitous Computing. Virtualization. Service oriented architectures. Web Services. Web 2.0 and Web Services. Data and Services. Service Component Architecture. Google, Amazon and Public Web Service. Sockets in Java. Remote Methods Invocation. Java NIO. Web Services with Eclipse WTP, J2EE, Apache SOAP, Apache Axis, Ajax, PHP, JXTA, XFire and Spring.


Parallel Computing

For: Master students in Distributed and Parallel Computing, Semester 2

Lectures: 2h/week Labs: 1h/week

Hardware organization of a parallel computer. Why parallel computing. Architectural classification. Theory of parallel computing: performance measurements, paradigms and models -- shared memory and distributed memory. Inter-connection networks and message passing. Parallel algorithms: building parallel codes and examples -- sorting, linear algebra. Labs with PVM, MPI, OpenMP, mpC, and Pthreads.


Resource Management in Parallel and Distributed Systems

For: Master students in Distributed and Parallel Computing, Semester 3

Lectures: 2h/week Labs: 1h/week

Resources in Parallel and Grid computing, Web services and P2P systems, Cloud, Fog and Edge computing. Workloads and workflows. Resource provisioning. Resource scheduling. Resource allocation. Resource monitoring. Scalable systems. Migration. Labs with CloudSim and iFogSim.


Research practice I

For: master students, Semester 1

Seminar: 3h/week

Stages of master studies. Departament's research projects. Journal classification, conference selection, textbooks vs. research books. Rules in writing scientific articles and reports. Research funding. Content and structure of a disertation thesis. Categories of research: fundamental, applied, experimental. Researcher's activitis. Reviews.


Research practice II

For: master students, Semester 2

Seminar: 3h/week

Scientometrics and key performance indications. Evaluation of research results. Software tools supporting research activities. Technological readiness levels. Ethics in research. Collaborative research activities. Intellectual property rights of research result. Publications versus Patents. Research activities in PhD stage


Thesis preparation

For: master students, Semester 2

Seminar: 3h/week

Master thesis requirements. Literature surveys. Gaps in state-of-the-art. Software tools for thesis support. Ethics and intellectual property.


Computer Graphics

For: Undergarduate students in Computer Science, Semester 6

Lectures: 2h/week Labs: 2h/week

Geometry of visualization techniques: projections, 3D transformations,visualization coordinate system. Drawing basic graphical elements: theprinciples of incremental drawing with applications to lines, circles, planecurves, spatial curves, polynomial surfaces. Clipping. Models of 3D objects.Rendering: algorithms for visible lines and surface drawing, illumination,shadows, filling, textures, fractals, colors. Ray tracing. Animation. Labs withOpenGL, VRML and PovRay.


Cloud Computing

For: PhD students, Semester 1

Lectures: 3h/week

What is Cloud Computing. Enabling technologies. IaaS, PaaS and SaaS examples. Programming issues. Multi-Clouds and Federations. Case studies: Portability and deployments (mOSAIC project); Model-driven-engineering (MODAClouds project); Cloud-based Big Data applications (DICE); Security SLAs and monitoring (SPECS); Heterogeneous HPC Clouds (CloudLightning); Automation (AMICAS); Cloud-based e-government tools (SEED) or digital preservation (SCAPE)


Grid Computing

For: PhD students, Semester 1

Lectures: 3h/week

What is grid computing. Its benefits. Grid applications. Architecture and standards: SOA, SOAP, OGSA, OGSI, WSDL, WSRF. Globus components. MDS, GRIS, GRAM, GIIS, GASS, RSL, GridFTP. Getting started with developments in C++. Programming examples using Java. Grid service development: specifying, coding, building, packing, deploying, testing. Major features of grid services: factory, service data elements, life cycle, notification. Designing grid applications. Application examples: lottery, small blue, hello-world. Case study: a bulletin service application. Developing a portal. Overview of grid computing products and tools. Special issues: grid security, data management, information and workload virtualization. Grid projects in research and industry. Labs with Globus Toolkit 4


Mathematical Software

For: Undergraduate students in Computer Science, Semester 5

Lectures: 2h/week Labs: 2h/week

Classification. Short history of mathematical software. Scientific modeling,Software design. Numerical software: numerical analysis and numerical dataprocessing, numerical problems, errors, available and reusable software.Computer Algebra Systems: evaluation, data types, limitations. Expert systemsand problem solving environments. Educational software. Labs with Maple, Matlaband MathCad.