I am an undergraduate CS student half way through my degree. I have started taking an online(Youtube) course on Programming Languages. The course contents include the following topics:
First-class functions, Pattern Matching, Type Inference, Type classes, Monads, Continuations, Objects & Inheritance, Modules, Generics, Memory Management, Concurrency. The course is primarily using Haskell and JavaScript to teach these concepts.
Now, I am not entirely sure whether a course on Compiler Construction is a prerequisite to this course or not. What other courses should be a prerequisite to this course?
Note: I have not had a course on Compiler Construction (CC) yet (I am currently in 5th semester of my degree and CC course is offered in the 7th), although I have a little bit of experience of programming in functional languages.