John Edward Hopcroft articles