Hacker News new | ask | show | jobs
by Ologn 719 days ago
Probably the hardest CS undergraduate course I took was "Principles of Programming Languages" which was similar to this, and another course mentioned in this thread. Not sure if it was not taught well or was just inherently difficult. Covered programming paradigms (object-oriented - Java, functional - Common Lisp, and logical - Prolog), designing a language with an abstract syntax tree and then parsing and executing it etc. A lot to cram into one course I guess.
1 comments

I took a similar class. What surprised me was that depending on the teacher the classes were significantly different. For most of my friends it was more of a survey of different programming languages. They covered like 4 r 5 languages.

When I took it, the teacher taught LISP to start with, then taught us about compilers, BNF grammar, tokenizing, lex, yacc etc. We had write a compiler (translator) to compile the BNF code we were given. The BNF was a stripped down Pascal. Think ints, for loops, if statements, long expressions (abc * bxy - (delta/time .... I think variable names where like normal. Implementing BNF was very much a recursion exercise.

I did not like the teacher, but it really upped my programming skills.