19 Jul - 26 Aug
5:00pm-6:30pm PT Mon/Thu
$1800Apply for this course
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.
This course will next be taught by
Elliott is an instructor and course developer at Bradfield. Previously he was a tech lead at Triplebyte, where he designed assessments for hiring software engineers, and a senior engineer at Dropbox, where he built a distributed search engine. In addition, he has experience as a mentor for the Google Summer of Code and a tutor at Stanford's Center for Teaching and Learning.