ABET Course Objective: Develop a greater understanding of the issues involved in programming language design and implementation. Develop an in-depth understanding of functional, logic, and object-oriented programming paradigms. Implement several programs in languages other than the one emphasized in the core curriculum (Java). Understand design/implementation issues involved with variable allocation and binding, control flow, types, subroutines, parameter passing. Develop an understanding of the compilation process.