This repository contains notes for John Evans' graduate course "Introduction to Finite Element Methods" at the University of Colorado Boulder. The course emphasizes fundamentals, though students also build their own MATLAB-based finite element analysis codes and learn how to use Gmsh and Paraview for pre- and post-processing. The notes for the course are contained in the directory Notes. A simple two-dimensional heat conduction code is contained in the directory Codes, and tutorials for using this code as well as Gmsh and Paraview for pre- and post-processing are contained in the directory Tutorials. Students use and build upon this code for the second homework assignment in the course. Homework assignments and associated codes and solutions are available to instructors upon request. Performance versions of homework assignment codes are also available. Please e-mail John Evans at john.a.evans@colorado.edu for more details.