This course is a follow-up to my Introduction to Computational Fluid Dynamics course. In this course we extend the capabilities of the two-dimensional, incompressible Navier-Stokes solver developed in the first course to include enhancements such as unsteady flow capabilities, second-order and blended interpolations for the convection terms, pressure, symmetry, and periodic boundary conditions, mesh clustering, the energy equation, and perhaps other topics as deemed appropriate. (Recently added a Poisson solver using red/black iteration scheme with OpenMP for parallelization.) All codes are written in Fortran90 and are available for download, as are the course notes. Upon successful completion of the course students should be able to develop their own codes or modify the available codes to solve problems of varying complexity. To get the maximum benefit from this course, I recommend that students complete the first course, or have an equivalent background.