Explore the fundamentals of Computational Fluid Dynamics (CFD) in this comprehensive 32-hour course. Delve into topics such as computer representation of arrays and functions, finite differences, Laplace equation, linear wave equation, and one-dimensional Euler equations. Learn about stability analysis, boundary conditions, and advanced techniques like flux vector splitting and Roe's averaging. Discover methods for accelerating convergence, including preconditioning, dual time stepping, and multigrid methods. Gain insights into parallel computing and the calculus of variations. Through lectures and demonstrations, develop a strong foundation in CFD principles and their practical applications in solving complex fluid dynamics problems.