Courses

Training Courses

NCC Montenegro is offering a variety of full semester courses that are available to students of all levels (PhD, MSc, Bsc, high school), and all other representatives of academia, industry and public organizations. Below please find descriptions of the current course offering offering.

For enrollment information , please follow our annouincements on the website and/or social media. Also, feel free to contact us directly.

A variety of full semester courses offered to all level of students and other representatives of academia, industry and public bodies

Python Programming with HPC
Since 2021/07

During this training, participants are expected to master the basic programming language Python. In the first part of the training, the student will learn how to install the necessary tools for writing and running Python code. In the following, they will get acquainted with the basic data types (numbers, strings, Boolean) and the fitness operator. Next, students will learn about non-primitive data types in Python (lists, tuples, sets and dictionaries), and in addition loops (while and for) and create basic functions. After that, students will learn how to do simple file processing (write, read, change). Also, we will talk about concepts of object-oriented programming and functional programming with practical tasks. In the main part of the course, participants will work on the implementation of a simple game using the Python package pyGame.

More information at [link]

Parallel Programming in HPC
Since 2021/07

Parallel Programming in High-Performance Computing (HPC) course is designed to equip you with foundational knowledge and practical skills to harness the power of parallel computing. Modern scientific, industrial, and technological advancements demand immense computational power, often exceeding the capabilities of single-core processors. Parallel computing leverages multiple processors or cores to execute tasks simultaneously, drastically reducing computation times and enabling solutions to previously unsolvable problems. HPC and parallel programming are at the heart of advancements in areas like numerical problems, climate modeling, engineering simulations, finance simulations and more. Whether you’re a researcher, developer, or industry professional, mastering parallel programming will enable you to tackle complex computational challenges efficiently and scale your solutions to meet real-world demands.

More information at [link]

Artificial Intelligence and Machine Learning
Since 2022/01

The NCC team at UDG introduces a comprehensive training program focused on Artificial Intelligence (AI) and Machine Learning (ML) techniques. This course emphasizes practical implementations and theoretical foundations, preparing participants to tackle challenges in AI development and deployment. Developed in collaboration with industry experts and academic researchers, the program equips students with the skills to design, train, and optimize AI models for real-world applications.

More information at [link]

Data Science
Since 2022/01

The NCC team at UDG introduces a comprehensive training program focused on Data Science and data analysis techniques. This course emphasizes practical implementations and theoretical foundations, preparing participants to tackle data processing, visualization, and analysis challenges. Developed in collaboration with industry experts and academic researchers, the program equips students with the skills to analyze, manipulate, and visualize data using modern tools.

More information at [link]

Deep Learning with HPC
Since 2022/01

The NCC team at UDG offers a comprehensive training program focused on Deep Learning (DL) techniques and their integration with High-Performance Computing (HPC). Developed through consultations with industry leaders and academic professionals, this course addresses the computational challenges and opportunities in deploying scalable AI solutions. The program emphasizes practical implementations and real-world applications, preparing participants to leverage AI advancements in research and industry.

More information at [link]

Prompt Engineering
Since 2024/10

The study of Prompt Engineering represents a cornerstone technique for effective interaction with advanced language models such as GPT-4, LLama, and beyond. This course equips students with the knowledge and skills necessary to harness the transformative potential of AI technologies, emphasizing innovative, responsible, and industry-specific applications. In an era of digital transformation, where real-time decision-making and intelligent automation shape industries, the demand for high-performance computing (HPC) is critical. By exploring advanced natural language processing (NLP) models, students will not only develop effective querying techniques but also understand the computational requirements and infrastructure needed to implement these solutions at scale.

More information at [link]

Advanced Databases
Since 2021/10

This course provides students with in-depth knowledge of advanced database techniques and data structures used in relational and NoSQL databases. It focuses on writing complex SQL queries, understanding when to use relational vs. non-relational databases, and managing distributed data storage for efficient parallel processing in large-scale systems. The course also explores methods for optimizing queries and ensuring data consistency across distributed environments. With the increasing demands for high-performance data management, this course introduces students to concepts relevant to HPC and AI-driven data processing. Topics such as data indexing, partitioning, replication, and distributed database architectures help students understand how to store and retrieve massive datasets efficiently. The course also covers NoSQL solutions, providing insights into key-value, document, wide-column, and graph-based databases, which are widely used in AI applications, large-scale analytics, and real-time processing.

More information at [link]

Software Engineering Tools and Methods
Since 2022/01

This course provides students with a deep understanding of modern software engineering tools and methodologies, focusing on software development best practices, testing strategies, and architectural patterns. Students will gain hands-on experience with software version control, project management tools, and testing frameworks, ensuring they can efficiently manage software projects in real-world settings. With a growing emphasis on cloud computing, microservices, and serverless architectures, this course introduces advanced software engineering principles essential for scalable and efficient application development. Students will learn to design, implement, and maintain modern software solutions, incorporating cloud-based infrastructures and automation tools that are widely used in AI-driven and high-performance computing (HPC) environments.

More information at [link].