AIMS AND OBJECTIVES OF THE COURSE: At the end of the course the students are expected to be know the concepts, principles, models and architectural styles of high-performance computer systems and to apply them in the design and development of effective infrastructure of high-performance computer systems, to make comparative analyses and to evaluate the advantages and disadvantages of the alternative decisions.

DESCRIPTION OF THE COURSE: The main topics concern: Taxonomy. Architectural styles. Technological specifics; Scalable high-performance computer systems; Vector processors; Massively parallel processors; Clusters of servers and workstations; Parallel input-output; Resource management and scheduling of computer clusters; Symmetric and CC-NUMA multiprocessors; System communication networks for high-performance computer platforms; Parameters of communication performance of system communication networks; Performance parameters of high-performance computer systems; Supercomputers; Metacomputers. Virtual supercomputers; Resource brokers of computational resources; Infrastructure for management of computational resources

PREREQUISITES: Computers Organization, Computer Architecture.

TEACHING METHODS : Lectures using video-presentation with beamer, laboratory works end with presentation of the results, parallelism profiles and estimation of the performance parameters of the parallel system for the certain task.

METHOD OF ASSESSMENT: Exam during the exam session with duration two academic hours, students give written answers to 3 compulsory and 5 optional questions, problems or tasks (60%), laboratory works (40%).

DESCRIPTION OF THE COURSE: The course includes problems concerning models and stages of software life cycle - software development method including design, development, testing and debugging, support and maintenance. Various programming styles are under discussion – imperative (procedure oriented) using C,C++,C# as implementation language, logic programming using Prolog and functional programming using Lisp.

PREREQUISITES: Basic knowledge, practical skills and experience in universal procedure oriented programming languages like C, C++, Java. Material covered is to be useful for software engineers – designers, managers, developers and quality assurance engineers.

TEACHING METHODS: Lectures (with slides, multimedia projector) and additional text materials; web site of the course; laboratory work (based on instructions) with a tutorial for every laboratory theme.

METHOD OF ASSESSMENT: Written examination (test work for fixed time).


AIMS AND OBJECTIVES OF THE COURSE: At the end of the course the students are expected to be able to apply the methodologies and software tools for design and deployment of agent based applications, to assess in which cases use agent-based applications and how to implement the communication between them, to implement intelligent agents, multi-agent systems and mobile agents and use them in solving of engineering problems.

DESCRIPTION OF THE COURSE: The main topics concern: Agent based software technologies – motivation and application of agent based technologies in Web business services; Web services and software agents – interoperability, integration of software agents; Agents - definition, infrastructure, interaction of agents; Service oriented architecture based on agents; Intelligent agent - definition, properties, characteristics, classification, tools for deployment; Multi-agent systems - nature, basic elements, properties, communication and distribution of the task; GAIA methodology for designing of multi-agent architecture - roles model and interaction model, analysis and design; Methodology based on messages for agent-based analysis and design - concepts and notations, analysis; Mobile agents - nature, field of application; Java-based agent platforms - specifications IEEE FIPA, architecture of FIPA, platforms Cougaar, AgentFactory, 3APL platform, Jason (AgentSpeak APL); JADE platform - architecture, packages, messaging service, administration and development of applications, programming, communication, detection of agents.


AIMS AND OBJECTIVES OF THE COURSE : To provide an overview of modern interactive graphics systems and an insight into the most important special techniques required for developing efficient interactive graphics applications. The students should obtain an understanding of the important special tools required and problems encountered while building graphics applications.

DESCRIPTION OF THE COURSE : The main topics concern: overview of modern interactive graphics systems; 2D model transformations using homogeneous coordinates; 2D viewing pipeline – graphics windows and viewports; basic raster algorithms; developing efficient interactive graphics applications; 3D image modeling; projections; 3D viewing pipeline; elimination of hidden surfaces; illumination models; color models; image rendering using local and global illumination models; ray tracing; spline curves and surfaces; fractals; computer art and animation.

OpenGL is used as the platform for practical C programming exercises, and as an example of a modern system which incorporates many of the fundamental ideas of computer graphics.

PREREQUISITES : Mathematics part 1 and 2; Algorithms & Programs Synthesis; Programming and Computer Applications I and II ; Programming Languages.

TEACHING METHODS : Lectures, using slides, case studies, demo programs and multimedia presentations; laboratory with reports.

METHOD OF ASSESSMENT: Final exam

DESCRIPTION OF THE COURSE: The main topics concern: Object-oriented programming and component programming methodologies; introduction to C# programming language: classes, methods, properties; inheritance, interfaces, polymorphism, indexers, attributes, exceptions, delegates and events; windows applications; data base access using ADO.NET; XML Web services, Web applications using ASP.NET; principles of managed threading.

PREREQUISITES: The course assumes that the students are aware of the basic operation of a computer system, programming fundamentals and object-oriented programming.

TEACHING METHODS: Lectures, using a beamer, case studies, laboratory work in teams, preparation of exercises and laboratory works, solve a problem using C#.

METHOD OF ASSESSMENT: Exam.