General Information
Materials and Notes
Policies and Procedures
|
Quotes
|
Programming languages are one of the most important, yet generally overlooked, technologies in software engineering. Their impact extends far beyond the consideration of what language to program in because most well-designed software systems contain several programmer-designed languages. This course teaches students how to identify and create languages when designing software systems. In particular, the course will address the following questions:
By the end of the course, students are expected to develop skills in identifying, modeling and implementing simple languages, in understanding certain concepts that distinguish programming languages, and in functional programming. On a more general level, students are expected to strengthen their skills at approaching open-ended programming and software-development problems.
The course will assume that you already have experience with and are comfortable programming in some higher-level language (such as C++ or Java). The course does not assume experience with functional programming. You should, however, already have written programs with conditionals (ifs), structures (records), lists, and trees; CS2005 should provide adequate preparation. Students lacking this background should speak to the instructor before attempting the course.
This page maintained by Kathi Fisler Department of Computer Science Worcester Polytechnic Institute |