Finite Element Programming in C++