Alexander Dekhtyar department of Computer Science University of Maryland, College Park, MD, 20-737 email: dekhtyar@cs.umd.edu web: http://www.cs.umd.edu/~dekhtyar/academ Teaching Statement ------------------ 1. Teaching Experience 1.1. Instructor Experience Since I started my graduate study at the University of Maryland in 1995, I have been an instructor for four classes during summer semesters. (*) CMSC 330, ``Organization of Programming Languages''. The class was taught in summer 1996 for junior Computer Science majors. In this class, I have taught the general concepts of programming languages design. We have studied the four programming language paradigms, using AWK, ML, Prolog and C++ as the examples of respectively procedural, functional, logical and object-oriented languages. The students had rather extensive projects in each of the four languages. We have also discussed in detail the syntax of programming languages, including regular expressions and context-free grammars. For this class I have developed and implemented a series of homework projects in all four languages studied. (*) CMSC 102, ``Introduction to Internet Technologies''. In CMSC 102, taught in summer 1996, I have introduced the class of incoming high school seniors to the state of the art in the Internet technologies. After a brief introduction into Unix operating system, we have surveyed the basic principles TCP/IP protocol and studied the Domain Name System. I have taught students the principles and operation of emailing software, file transfer protocol, Usenet and newsgroups, gopher and archie. The last part of the course was devoted to the emerging (at that time) World Wide Web technology, http protocol, and HTML. (*) CMSC 106, ``Introduction to C''. I taught this department's introductory programming class to a group of incoming freshmen students in summer 1998. In this class, I had presented basic concepts of programming in C, introducing one by one numerous features of the language, starting with variables and assignment statements and progressing to branching, loops, functions, arrays, strings, pointers and pointer arithmetics. For this class I have also developed all the programming projects. (*) CMSC 150 ``Introduction to Discrete Mathematics''. In CMSC 150, taught in summer 1999, I have spent most of the time covering two key topics in the course: Propositional and Predicate Logic and Number Theory and Induction. Another important topic, Set Theory had been covered at the end of the class. We have spent considerable time studying Boolean Algebra, logical equivalences and arguments in Logic at the first third of the course. The second part of the course was mostly devoted to the study of different methods of proof (direct proof, proof by contradiction, proof by induction), with the statements from Number Theory being the subjects of the proofs. For each class I taught as instructor, I had to teach lectures on a daily basis (4--5 times a week), designed (and for CMSC 330 and CMSC 106 implemented) all homeworks and programming projects, created, administered and graded midterm and final exams. I have also created numerous handouts and lecture notes for all the classes. When teaching the classes, I tried to follow the general syllabi, adopted by the department. However, due to the specifics of summer semesters, I had to restructure the material presented in class and alter the homework and project content and policies. 1.2. Teaching Assistant Experience Together with being instructor in those four classes, I have also been a teaching assistant at CMSC 330, ``Organization of Programming Languages'' and CMSC 452, ``Theory of Computing'' in regular semesters (1995-96 academic year) and at CMSC 102, ``Introduction to Internet Technologies'' in summer semester of 1997. In CMSC 330 I was responsible for teaching a recitation session once a week, implementing projects, grading homework and exams. In CMSC 452, in which the key concepts of Theory of Computing, such as regular expressions and automata, context-free grammars, Turing Machines and first-order logic have been studied, my responsibilities included grading homework and exams and occasionally replacing the professor at the lectures. In CMSC 102, I taught a recitation session once a week, supervised lab practice, and graded homeworks and exams. In all classes I had to hold office hours. 1.3. Other Experience Prior to entering graduate school at the University of Maryland, I had worked one semester in a high school in Tver, Russia as a teacher of physics. I had taught sophomore, junior and senior high school grades (9th, 10th and 11th). This was a part-time position while I was finishing my undergraduate degree at Tver State University, Russia. 2. Teaching Interests I feel comfortable teaching a wide variety of classes on the undergraduate level, including - introductory programming languages, - data structures, - databases, - algorithms} and theory of computation/logic, - artificial intelligence. At the graduate level, I can teach - artificial intelligence, - logic programming, - database - and some theory of computation classes. I would also be interested in teaching the graduate seminars which tie in directly to my current research. The topics for such seminars include - reasoning with uncertain information in Databases and AI, - intellegent agent systems, - non-monotonic reasoning - knowledge representation.