I took an incomplete in the PDEs course I was taking last year (first time ever taking an incomplete). I was just too busy that semester: I was taking two other courses, full TA load, I taught the PDEs course for a week (on parallel programming, using supercomputers, and software libraries for numerical analysis), and I took my prelim that semester (two High Passes, yaay). All that combined meant that I just didn’t have the time (or the energy, after the prelim) to finish up the PDEs work, so I took my first incomplete. After about a year of procrastination I finally sat down to do it and enjoyed working on a concrete problem again. I won’t say I learned terribly much doing it, since I was pretty familiar with everything I needed to do for the two projects in the course (I taught the class for a week, after all), but it was fun actually building something from scratch. Programming really is my first love.
I finished up both projects: (warning: technical details) Project 1 was basically solving a time-dependent PDE using a finite difference discretization and forward/backward Euler timestepping methods, with a Conjugate Gradient solver for the implicit method, all written as a parallel application using MPI (had a really good time with this one since I like parallel programming so much). Project 2 was writing parallel solvers in PETSc for a few PDEs, with a focus on domain decomposition methods and preconditioning.
I finished up both projects late last week and turned in my writeup. It’s a hell of a relief to have that out from over my head, though of course I thought of ten things I did wrong or should have done as soon as I turned it in, but we’ll see how it goes. It was fun to work on, but I’m glad my last course-related obligation is done for my school career. 11 years after I started college, and my last homework is done. It’s a weird feeling.