Below is a list of courses I have taught over the years.
This course provides an in-depth exploration of Digital Twin (DT) technology and its application within energy systems. Students will gain a foundational understanding of DTs, including their functionality, data acquisition challenges, and the development of predictive models. The course focuses on the use of optimization techniques, Uncertainty Quantification (UQ), and Machine Learning (ML) for DT applications in areas such as design, optimization, predictive maintenance, monitoring, and energy forecasting. By the end of the course, students will be able to: Understand and articulate the concept of a Digital Twin. Analyze the functionality of sub-elements and methods relevant to DTs. Identify challenges in data acquisition and curation for DT applications. Apply regression and classification modeling techniques within DT architectures. Use Python for model development and visualization. The course emphasizes hands-on learning through case studies and projects, with students expected to work individually and in groups to solve real-world problems in energy systems. There are no required textbooks, and all necessary reading materials will be available through the university’s online resources.
This course offers a comprehensive introduction to programming using Python, one of the most popular and versatile programming languages. Designed for beginners, the course covers the fundamentals of Python syntax, data structures, control flow, and functions. Students will learn problem-solving techniques, algorithm development, and debugging practices. Through hands-on exercises and projects, participants will gain practical experience in writing, testing, and maintaining Python programs, preparing them for more advanced topics in software development, data analysis, and automation.
This course provides an in-depth exploration of the principles and applications of control systems. Students will learn the fundamental concepts of feedback and control theory, including system modeling, time and frequency domain analysis, and stability criteria. The course covers techniques for designing and analyzing both linear and nonlinear control systems, with an emphasis on classical control methods such as PID controllers, root locus, and Bode plots, as well as an introduction to modern control strategies including state-space analysis.
This course provides a foundational understanding of electric circuits, focusing on the principles of circuit analysis and design. Students will learn about key concepts such as Ohm's Law, Kirchhoff's laws, and the analysis of resistive circuits. The course covers techniques for analyzing circuits with inductors, capacitors, and operational amplifiers, as well as transient and steady-state responses in AC and DC circuits. Practical applications of electric circuits in engineering and technology are explored through problem-solving exercises and hands-on laboratory work.