Office: Doolan Hall 102
Dr. Dorin is Professor of Computer Science and Electrical Engineering, having joined the LMU faculty in 1971. He teaches courses in programming and data structures, advanced algorithms, and theoretical computer science. When he’s not busy torturing undergraduate students with combinatorial puzzles, he can often be found playing piano with the Marymount Institute Jazz Trio.
University of California at Los Angeles: Ph.D., Computer Science 1982
Northeastern University: M.S., Electrical Engineering 1971
Massachusetts Institute of Technology: B.Sc., Electrical Engineering 1970
Areas of Expertise (4)
Industry Expertise (3)
- Association of Computing Machinery (ACM)
- ACM Special Interest Group on Algorithms and Computation Theory (SIGACT)
FFYS 1000 (section 61) - Mathematician Meets Music
In this seminar we will discuss (primarily, Western piano-centric) music, with a decided emphasis on modern jazz, as seen through the eyes of a career mathematician and sometime pianist.
CMSI 186 (sections 01, 02, 03) - Programming Laboratory
CMSI 198 (01) - From Puzzles to Programs
The main objective is to use puzzles as the point of departure for discussions of some of the great ideas from Computation, Information, and Mathematics.
CMSI 281 (01 and 02)- Data Structures and Algorithms I
This is the first in a two-course sequence about some of the fundamental data structures, algorithms, and algorithm paradigms of computing.
CMSI 282 (01) - Data Structures and Algorithms II
This course is the second in a two-course sequence about some of the fundamental data structures, algorithms, problems, and paradigms of computing.
CMSI 385 (01) - Introduction to the Theory of Computation
The goal is to become familiar with some of the main ideas in the theory of computation. We will emphasize classical automata (especially finite automata, pushdown automata, and Turing machines); formal grammars and languages (especially regular sets, context-free languages, recursive and recursively enumerable languages); and computability/decidability.
Open source software has made inroads into mainstream computing where it was once the territory of software altruists, and the open source culture of technological collegiality and accountability may benefit education as well as industry. This paper describes the Recourse project, which seeks to transform the computer science undergraduate curriculum through teaching methods based on open source principles, values, ethics, and tools.
This article updates our earlier experiences with a Programming Laboratory. It appears between an introductory programming course and a two-semester sophomore sequence in data structures and algorithms. Although it was once organized around the notion of algorithm paradigms (with Ada as the implementation language), it has de-volved into a course that stresses fundamentals of programming (with Java as our programming language).
"The Computer in Action" is a role-playing activity developed by the Computer Science Outreach program at Purdue University, in which students process instructions and data in the same way that a real computer does. Students play the roles of Keyboarder, ...
We claim that a good basis for a course in Software Engineering is to have a group of students make a computer program for the game of Monopoly. We discuss our experiences in organizing and running such a course, and on the computer program that resulted from the most recent version of the course.