Courses By Semester
retired on 31 May 2019
I am not currently scheduled to teach in any future semester.
CSci 487 Senior Project (on Blackboard only, co-taught with Joey Carlisle)
CSci 555, Functional Programming (using Scala)
CSci 450, Organization of Programming Languages (using Haskell)
CSci 503, Fundamental Concepts in Languages (using Haskell)
CSci 556, Multiparadigm Programming (using Python 3)
CSci 450, Organization of Programming Languages (using Haskell)
CSci 503, Fundamental Concepts in Languages (using Haskell)
Engr 694, Research Methods in Computer Science (scholarly writing)
CSci 450, Organization of Programming Languages (using Lua and Elm)
CSci 503, Fundamental Concepts in Languages (using Lua and Elm)
Engr 664, Theory of Concurrent Programming
CSci 555, Functional Programming (using Scala)
Engr 694, Research Methods in Computer Science (scholarly writing)
CSci 300, Social Responsibility in Computer Science (professional ethics and communication)
CSci 311, Models of Computation (automata theory and formal languages)
CSci 500, Fundamental Concepts in Computing (automata theory and formal languages)
CSci 450, Organization of Programming Languages (using Haskell and Lua)
CSci 503, Fundamental Concepts in Languages (using Haskell and Lua)
Engr 692, Special Topics on Ruby and Software Development
In this special topics course, I explored ideas that later influenced my new courses on Multiparadigm Programming (CSci 556) and Software Language Engineering (CSci 658), my approach to teaching CSci 450, and my subsequent use of the Prolog, Scala, Lua, Elixir, and Python 3 languages.
CSci 300 Social Responsibility in Computer Science
CSci 311, Models of Computation (automata theory and formal languages)
Engr 691, Special Topics on Software Architecture
CSci 311, Models of Computation (automata theory and formal languages)
CSci 487, Senior Project
Engr 664, Theory of Concurrent Programming
CSci 433, Algorithm and Data Structure Analysis
CSci 581, Special Topics on Object-Oriented Design and Programming
CSci 300, Social Responsibility in Computer Science
CSci 311, Models of Computation (automata theory and formal languages)
CSci 555, Functional Programming
CSci 300, Social Responsibility in Computer Science
CSci 487, Senior Project
CSci 581, Special Topics on Object-Oriented Design and Programming – first graduate course to use Java
Engr 664, Theory of Concurrent Programming
CSci 487, Senior Project
CSci 555, Functional Programming (using Haskell)
Engr 691, Analysis of Algorithms (in Jackson)
CSci 211, File Systems – first course in Department to use Java
CSci 300, Social Responsibility in Computer Science (professional ethics and communication)
CSci 550, Program Semantics and Derivation
CSci 490, Special Topics in Object-Oriented Desing and Programming in C++
Engr 664, Theory of Concurrent Programming
CSci 550, Program Semantics and Derivation
Engr 664, Theory of Concurrent Programming
CSci 211, File Systems (using Pascal)
CSci 555, Functional Programming (using Haskell)