Not currently scheduled for a next session. Please email us to express your interest.
Most programmers learn languages, whereas most computer scientists learn about languages.
This gives the computer scientist a distinct advantage over the programmer, even in the domain of programming! Their knowledge generalizes; they are able to understand the operation of a new language more deeply and expeditiously than those who have merely learnt specific languages.
The course is scoped to give software engineers a first look under the covers of popular languages and their implementations. Compared to a typical compilers course, some of the details of compiler design are treated summarily, so as to afford more time building a stronger understanding of the general design of languages and operation of compilers and interpreters.
This course assumes confident programming ability in any language. Familiarity with computer architecture is also advantageous.