I am a senior pursuing a BA in Computer Science at Eastern Kentucky University, and I am currently employed as a student programmer with the EKU Training Records Information System. Some of my interests include programming language design, declarative programming, constraint programming, procedural content generation, and game development.
This independent study program, Models of Computation, is an exploration of the concepts underlying several models of computation and the techniques commonly used to program with these models. Emphasis is given to functional, relational, object-oriented, and concurrent concepts and techniques, with an eye toward developing a multi-paradigm approach to software development. While Oz is the primary language of instruction, Haskell, Erlang, Java, and Prolog are studied to illustrate how these languages were developed to utilize the models for which they were designed. Specialized programming models, including GUI programming, distributed computing, and constraint programming are also explored. The innovative work, Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi is utilized as the primary text for this course.