Artificial Intelligence Research Laboratory

Department of Computer Science

Jia Tao


  • Instructor: Fall 2007, Spring 2008, Fall 2008, Spring 2009, Summer 2010, Summer 2011
    • Com S 363. Introduction to Database Management Systems. Relational, object-oriented, and semistructured data models and query languages. SQL, ODMG, and XML standards. Database design using entity-relationship model, data dependencies and object definition language. Application development in SQL-like languages and general purpose host languages with application program interfaces. Information integration using data warehouses, mediators and wrappers. Programming Projects.
  • Teaching Assistant:
    • Com S 634. Theory of Games, Knowledge and Uncertainty. Fundamentals of Game Theory: individual decision making, strategic and extensive games, mixed strategies, backward induction, Nash and other equilibrium concepts. Discussion of Auctions and Bargaining. Repeated, Bayesian and evolutionary games. Interactive Epistemology: reasoning about knowledge in multiagent environment, properties of knowledge, agreements, and common knowledge. Reasoning about and representing uncertainty, probabilities, and beliefs. Uncertainty in multiagent environments. Aspects and applications of game theory, knowledge, and uncertainty in other areas, especially Artificial Intelligence and Economics, will be discussed.
    • Com S 587. Principles of Distributed and Network Programming. Programming paradigms for building modern distributed applications, including multithreaded client-server programming, distributed object frameworks and programming languages. Directory services. Web-based computing. Mobile computing. Peer-to-Peer computing. Network multimedia applications. Reliability and manageability of networked systems, including aspects of distributed system security, verification of concurrent systems, and network management.
    • Com S 562. Implementation of Database Systems. Implementation topics and projects are chosen from the following: Storage architecture, buffer management and caching, access methods, design, parsing and compilation of query languages and update operations, application programming interfaces (APIs), user interfaces, query optimization and processing, and transaction management for relational, object-oriented, semistructured (XML), and special purpose database models; client-server architectures, metadata and middleware for database integration, web databases.
    • Com S 330. Discrete Computational Structures. Concepts in discrete mathematics as applied to computer science. Logic, proof techniques, set theory, relations, graphs, combinatorics, discrete probability and number theory.
    • Com S 311. Design and Analysis of Algorithms. Basic techniques for design and analysis of efficient algorithms. Sorting, searching, graph algorithms, computational geometry, string processing and NP-completeness. Design techniques such as dynamic programming and the greedy method. Asymptotic, worst-case, average-case and amortized analyses. Data structures including heaps, hash tables, binary search trees and red-black trees. Programming projects.
    • Com S 227. Introduction to Object-oriented Programming. An introduction to object-oriented design and programming techniques. Symbolic and numerical computation. Recursion and iteration. Modularity procedural and data abstraction, specifications and subtyping. Object-oriented techniques. Imperative programming. Emphasis on principles of programming and object-oriented design through extensive practice in design, writing, running, debugging, and reasoning about programs.