Courses Taught or being Taught:

CIS*2430    Object Oriented Programming

CIS*2910    Discrete Structures in Computing II

CIS*3530    Data Base Systems and Concepts

CIS*3700    Introduction to Artificial Intelligence

CIS*4430    Information Organization and Retrieval

CIS*4650    Compilers

CIS*6650    Special Topics in Statistical Natural Language Processing

CIS*6650    Special Topics in Experimental Design




CIS*2430 - Object Oriented Programming

This is an introductory course on Object-Oriented Programming (OOP). It assumes that students already know the basics of a procedural programming language such as C and can write computer programs independently either through previous courses or working experience. It is also desirable that students have some basic understanding of simple data structures such as arrays, linked lists, and hash tables. The course focuses on the fundamental concepts and techniques of object-oriented programming along with suitable applications. Students will have ample opportunites to improve their development skills with Java programming language through assignments and lab exercises.

Back to top

CIS*2910 - Discrete Structures in Computing II

This course is a further introduction to discrete structures and formal methodologies used in Computer Science, including sequences, summations, recursion, combinatorics, discrete probability, and graph theory. It is a subsequent course to CIS*1910 and is often taken together with CIS*2520. The three together help lay a solid mathematical foundation so that the students can understand the related concepts and theories in other computer science courses in depths.

Back to top

CIS*3530 - Data Base Systems and Concepts

Review of data organization and data management principles with the perspective of analyzing apllications suitable for implementation using a DBMS. Analysis of several data base models, query specification methods, and query processing techniques. Overview of several related issues including concurrency control, security, integrity and recovery. Students are expected to demonstrate concepts through project assignments.

Back to top

CIS*3700 - Introduction to Artificial Intelligence

Examination of techniques used in the field of artificial intelligence, including heuristic search, A* algorithms, game searches, logic-based knowledge representation. Other topics may include frames, scripts, semantic nets, models of uncertain reasoning, expert systems, and natural language understanding. These ideas will be explored through the development of a substantial project.

Back to top

CIS*4430 - Information Organization and Retrieval

Advanced techniques for information management. Analysis of advanced indexing structures. Information retrieval, feedback strategies, text searchings, and automatic indexing. Database query optimization and system support. Web-based retrieval.

Back to top

CIS*4650 - Compilers

Detailed study of the compilation process. Design and implementation of a compiler considering techniques for parsing, building, and manipulating intermediate representations of a program and code generation. Interpreters.

Back to top

CIS*6650 - Special Topics in Statistical Natural Language Processing

Statistical language modeling is an interdisciplinary area among Probability and Statistics, Information Theory, Linguistics, and Computer Science. This course will provide an introduction to this emerging filed, with emphasis on major techniques and applications. Students are required to review the literature and implement a particular technique with a suitable application.

Back to top

CIS*6650 - Special Topics in Experimental Design

This course provides students with an understanding of the design and analysis for experiments and how these skills relate to research in computer science in general and their areas of study in specific. Basic knowledge of probabilities and statistics at un undergraduate level should be helpful, although not necessarily required, since we will also review and introduce essential concepts and techniques for applied statistics in this course.

Back to top