The “Distributed Systems and Web Technologies” Master’s program encompasses a wide range of courses that cover both foundational and advanced topics.
This course provides in-depth knowledge of Cloud Computing, covering key topics such as Cloud architecture, service models, and architectural aspects. Participants will learn about Cloud storage systems and gain practical skills in Cloud application development. Topics also include Cloud infrastructure, resource management, and serverless applications. Additionally, the course covers notification services, virtualization, and open-source solutions like OpenStack and OpenShift with Docker and Kubernetes. Students will explore storage systems, databases, and Cloud security, providing a comprehensive understanding of the Cloud computing landscape.
The "Cyber Security" course focuses on aligning objectives with curricula to cultivate practical skills in the realm of cybersecurity, emphasizing cryptographic foundations and the implementation of security measures at the system level. Students will gain advanced knowledge of computer science and information technology, enabling them to work effectively with these concepts. The curriculum includes the application of advanced methods for analysing, modelling, and simulating distributed systems, as well as designing, implementing, and testing distributed and high-performance service-oriented web applications. Students will learn to ensure contextual integration and integrity in distributed software systems while adhering to legislation and professional ethics codes. The course also covers intellectual property rights and offers strategies for continuous learning and self-development. Topics encompass Feistel class ciphers, stream ciphers, digital signatures, cryptosystems, organizational security auditing, e-commerce, communication network security, and the implementation and testing of security-based design patterns and cryptography.
The "Ethics and Integrity" course is a comprehensive exploration of ethical principles within academic and professional contexts. It equips master's students with a deep understanding of ethics, focusing on personal, social, and professional development. Students learn specific IT-related ethical concepts, skills for interpreting and adhering to ethical codes, and techniques for research article and thesis writing. The course also enhances analytical and critical thinking abilities. Ultimately, it prepares students for ethical challenges in their careers, promoting competence, fairness, and a commitment to integrity in their professional journey.
This course provides an overview of Distributed Processing fundamentals in the field of computer science. Participants will gain a holistic understanding of distributed computing systems, including taxonomy and models. They will explore topics such as clusters, grids, and cloud systems, delving into communication within distributed systems, leader selection, mutual exclusion, clock synchronization, global state, transaction atomicity, fault tolerance, routing, and load balancing. Additionally, students will become familiar with distributed programming techniques and develop the capability to design, implement, and test distributed algorithms.
The "Performance and Reliability in Complex Systems" course explores reliability and security concepts, focusing on performance evaluation methods and techniques for enhancing operational safety in distributed systems characterized by gradual performance degradation. Students will grasp the methods for evaluating the reliability and security of complex systems, whether fixed or reconfigurable, and the strategies to bolster operational safety. The course introduces analytical tools like Markov models for assessing redundant system reliability and utilizes Petri net modelling for distributed system interactions. It also delves into RAID-type structures for data safety. Students will study the reliability and availability of communication networks with performance degradation and learn Monte Carlo simulation for large-scale distributed systems, enabling them to evaluate the reliability of complex programs in diverse contexts.
The “Web Technologies and Languages” course provides a comprehensive exploration of the web technologies and frameworks essential for building distributed and responsive web applications. Students will acquire practical proficiency in the Java EE framework, gaining insights into various web patterns and architectures. The curriculum covers both server-side and client-side technologies, emphasizing the development of well-rounded skills. Topics include web application architectures, Java Enterprise Edition components like Servlets and JSP, web patterns like MVC (Model-View-Controller), and web-responsive languages and technologies such as HTML5, JavaScript, and Ajax. Students will also study real-world examples of web applications built using various technologies, preparing them for the dynamic field of web development.
The “Big Data Techniques” course is designed to provide students with the skills and knowledge needed to develop applications and techniques for the processing of large-scale data sets. The course covers a wide array of topics, including MapReduce techniques, data acquisition and retrieval, algorithm design for big data processing, pattern identification, statistical data processing and data analytics. Additional related areas of interest covered by the course are data compression, clustering and classification methods, stream processing, and big data visualization.
The "Network Service Management" course is designed to equip participants with the knowledge and practical skills required for configuring, monitoring, and managing network services. This course provides a comprehensive introduction to Linux operating system internals, including its organization, functionality, and application installation procedures. It covers essential techniques for configuring, monitoring, and administering both basic and network services on Linux systems. Additionally, the course introduces key concepts related to network and system security, as well as backup policies. Participants will gain expertise in Linux system installation and configuration, file systems, system services, Linux kernel, and Linux system security.
The “High Performance Computing” course offers an in-depth exploration of the field, beginning with an introduction to the fundamentals of high-performance computing (HPC). Students will become familiar with specialized programming techniques unique to HPC and develop the ability to design, implement, and rigorously test high-performance computing algorithms. The course focuses on parallel and distributed programming, enabling students to acquire essential skills in these areas. Topics include advanced MPI programming techniques, advanced OpenMP programming techniques, multi-CPU and cluster computing, as well as the application of graph optimization algorithms (e.g., minimum spanning trees, optimal paths) and nature-inspired optimization algorithms (such as ACO-TSP and parallel genetic algorithms).
The “Multiagent Systems” course offers a broad exploration of knowledge and practical applications specific to multiagent systems. This course delves into the fundamental concepts of multiagent systems, focusing on how agents interact, cooperate, and coordinate to solve problems in distributed environments. Students will gain insights into various agent architectures, including logic-based, reactive, belief-desire-intentions (BDI), and layered architectures. Topics cover modelling agent rationality with game theory, inter-agent communication, search algorithms tailored for multiagent systems, and mechanisms such as auctions, voting, bargaining, and contract net protocols. The course also addresses coordination methods, learning within multiagent systems, and introduces students to multiagent development frameworks.
The “Design Paradigms for Distributed Applications” course acquaints students with distributed application design models and the use of design patterns to develop high-performance, scalable, and maintainable software components. Students will gain knowledge of distributed application design patterns, architectural aspects of enterprise distributed platforms, and mechanisms for load balancing, fail-over, and resource replication within distributed applications. The course covers layered architectures in enterprise distributed applications, identifies common anti-patterns, and explores recent research in distributed application design. Students will develop the capability to modularize and independently design components of distributed applications, as well as design, implement, and test distributed applications.
Legal and Religious Holidays:
30.11.2023, 01.12.2023, 25.12.2023 , 26.12.2023, 01.01.2024. 02.01.2024, 24.01.2024 01.05.2024, 03.05.2024, 06.05.2024, 01.06.2024, 24.06.2024, 15.08 2024.
Practical Activities (3 -6 Weeks)
will be scheduled either during the entire academic Year
Gheorghe Asachi Technical University of Iasi, with the oldest engineering education tradition in Romania, is dedicated to developing technology for the community through research, teaching, and technology transfer.
Copyright © 2024 TUIASI. All rights reserved.