This course introduces students to the key features of programming languages. Students implement a series of interpreters that nail down the precise details of how various aspects of programming ...
According to various sources, there are several hundred programming languages, although only a couple dozen are widely used at any given time. The Online Historical Encyclopedia of Programming ...
Study fundamental concepts on which programming of languages are based, and execution models supporting them. Topics include values, variables, bindings, type systems, control structures, exceptions, ...
Improve existing software. Create technologies that make everyday life better. Use computer science, and smartphones to capture more data from citizen scientists. Software is everywhere: interfaces to ...