The Master’s Program in Data Science provides students with a foundation in machine learning, big data analytics, and natural language processing (NLP), equipping them with the necessary skills to develop and optimize data-driven systems. The curriculum is designed to address the increasing demand for data-centric decision-making across various industries by integrating statistical modeling, algorithm design, and scalable data processing techniques.
Read More
Taught by: Vlad Posea
Undergraduate studies, year 1
The Introduction to Programming course provides a foundational understanding of programming concepts using the C language. The course covers essential topics such as data types, control structures, functions, and pointers, emphasizing both theoretical principles and practical applications. Students will develop problem-solving skills and learn how to write efficient, structured code. The course is designed for beginners, gradually building up to more advanced topics to ensure a solid grasp of programming fundamentals.
Taught by: Ștefan Rușeți, Radu Iacob
Undergraduate studies, year 2
The Algorithm Analysis course explores the formal study of algorithm efficiency, correctness, and computability. It covers complexity analysis using asymptotic notation, proofs of algorithm correctness, and fundamental computability concepts. Students will learn techniques for evaluating algorithm performance, proving correctness through formal methods, and understanding the limits of computation. The course provides a rigorous foundation for designing and analyzing efficient and reliable algorithms.
Taught by: Mihai Dascălu
Undergraduate studies, year 2
The Object-Oriented Programming course introduces the principles of software development using Java. It covers core concepts such as classes, objects, inheritance, polymorphism, encapsulation, and abstraction, emphasizing best practices in software design. Students will learn how to structure programs using object-oriented paradigms, improve code reusability, and develop maintainable applications. The course combines theoretical foundations with hands-on coding exercises to build a strong understanding of modern software development.
Taught by: Mihai Dascălu, Traian Rebedea, Radu Iacob, Costin Chiru
Undergraduate studies, year 2
The Algorithm Design course explores fundamental techniques for developing efficient algorithms, preparing students for both academic problem-solving and coding interviews. It covers well-known algorithms across various domains, including sorting, searching, graph traversal, dynamic programming, and greedy methods. Students will learn how to design, analyze, and implement these algorithms while understanding their applicability to real-world problems. Emphasizing problem-solving strategies and algorithmic thinking, this course provides a strong foundation for tackling computational challenges commonly encountered in technical interviews.
Taught by: Ştefan Trăuşan-Matu
Undergraduate studies, year 4
The Human-Computer Interaction course has a major focus on recent advances in Artificial Intelligence (AI): Human-AI Interaction, Human-Centered AI, Natural Language Processing, and intelligent interfaces. State-of-the-art prompt engineering for chatbots methods, and the problems related to ethics and explainability of AI (XAI) are introduced. An important part of the course also includes the theoretical and practical aspects and methods and modeling techniques, design, implementation and evaluation of human-computer interfaces. Interdisciplinary aspects will be discussed, including psychology, sociology, anthropology, neurology, and philosophy. Special emphasis is given to considering User eXperience (UX) dimensions and laws.
Image by vectorjuice on Freepik