This posting brings back memories. I was a computer science major at the University of Maryland, College Park, in the late 70s. CMSC 330 was then taught by the late John Gannon, a demanding but excellent teacher. He tragically died in 1999 at only 51 years old. CMSC 430, subject of the OP, was also a fun course, but for the projects we had to use PL/UM, a local dialect of IBM's PL/I. The compiler (for our Univac 1108) was written by the professor teaching the class and it was buggy as hell. When we complained that our correctly written project code wouldn't compile or run correctly, the professor said that that was just training for the real world and we should find work-arounds!
330 was my favorite non-400 class at umd, I took it with Anwar Mamat (excellent professor) whom, I was surprised to learn, is managing a team at Amazon now.
Learning OCaml was wonderful; learning Prolog was a hellish nightmare.
It was soooo cool. I didn’t take 430 though, favored the classes on network security and protocol design instead.