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.