Courses
Faculty associated with Kno.e.sis offer a number of courses that provide the students with a comprehensive background and expertise in relevant research areas including, advanced data management, data integration and analysis,Semantic Web and Service Oriented computing. Courses that prepare students for research in Kno.e.sis with one or more faculty members are in BOLD.
Keke Chen
CS 400/600 Fall 2008: Data Structures and Algorithms.
Study of the implementation of data structures and control structures in professional computer programs. Introduction to the fundamentals of complexity and analysis. Study of common standard problems and solutions (e.g., transitive closure and critical path). Emphasis on high-level language software design.
CS405/605 Introduction to Database Systems (Spring 2009)
Survey of logical and physical aspects of database management systems, including entity-relationship and relational data models; physical implementation methods;
query languages; SQL, relational algebra, relational calculus, and QBE; experience in creating and manipulating databases.
Course Page: Introduction to Database Systems
Special Topics in Privacy Aware Computing (Winter 2009)
Course Description Not Available.
Course Page: Special Topics in Privacy Aware Computing
Guozhu Dong
CS400/600: Data Structures and Software Design
Study of the implementation of data structures and control structures in professional computer programs. Introduction to the fundamentals of complexity and analysis. Study of common standard problems and solutions (e.g., transitive closure and critical path). Emphasis on high-level language software design.
CS405/605: Introduction to Database Management Systems
Survey of logical and physical aspects of database management systems, including entity-relationship and relational data models; physical implementation methods; query languages; SQL, relational algebra, relational calculus, and QBE; experience in creating and manipulating databases.
CS466/666: Introduction to Formal Languages
Introduction to the theory of formal languages and automata. Emphasis is on those classes of languages commonly encountered by computer scientists (e.g., regular and context-free languages).
CS701: Database Systems and Design
Introduction to basic goals and techniques in the design and implementation of information retrieval systems. Input, file organization, search strategies, output, language design, and evaluation techniques are covered.
CS705: Introduction to Data Mining
Data mining is concerned with the extraction of novel knowledge from
large amounts of data. This course introduces and studies the
concepts, issues, tasks, and techniques of data mining. Topics include
data preparation and feature selection, association rules,
classification, clustering, evaluation and
validation, scalability, spatial and sequence mining, privacy, and data mining applications.
Course Page: Introduction to Data Mining
CS790: Advanced Data Mining
In this course we will cover advanced topics in data mining. We will study some classic papers as well as some important recent papers, on different types of applications, in this fast evolving field. Topics include sequence mining, text mining, graph mining, data warehouse/cube mining, micro-array gene expression mining, privacy with respect to data mining, sensor network mining, data stream mining, time series mining, web mining, etc. The aim is to prepare you for advanced data mining research and application development.
CS790: Information Security
Lectures on and study of selected topics in current research and recent developments in computer science.
CS790: Data Warehousing
Course Description Not Available.
T.K.Prasad
CS340 Programming Language Workshop in Python
This course is designed as a self-study in Python. You are expected to learn the language and solve a
set of programming problems assigned to you from Dietel et al using Python available from
http://www.python.org
Course Page: Programming Language Workshop in Python
CS340 Programming Language Workshop in Java
This course is designed as a self-study in Java. You are expected to learn the Java language and solve a
set of programming problems assigned to you using it. (You may develop your code using any IDE you like, but you must
ensure that it eventually runs using JDK 5).
Course Page: Programming Language Workshop in Java
CS340 Programming Language Workshop in C#
This course is designed as a self-study in C#. You are expected to learn the
language and solve a set of programming problems assigned to you using MS Visual Studio .NET.
Course Page: Programming Language Workshop in C#
CS466/666 Formal Languages and Automata
This course introduces the theory of formal languages and automata. The primary focus is on the two methods of
defining languages: using generators (e.g., grammars/regular expressions) and using recognizers (e.g., finite state
machines). Along with presenting the fundamentals, this course will develop and examine relationships among the various
specification methods for the regular languages and the context-free languages, in detail.
Course Page: Formal Languages and Automata
CS480/680 Comparative Languages
This course will introduce fundamental concepts and paradigms underlying the design of modern programming languages.
For concreteness, we study the details of an object-oriented language (e.g. Java), and a functional language
(e.g., Scheme). The overall goal is to enable comparison and evaluation of existing languages. The programming assignments
will be coded in Java 5 and in Scheme.
Course Page: Comparative Languages
CS499/699 Introduction to Information Retrieval
To cover the foundations of information retrieval, to enable design, analysis
and implementation of IR systems.
Course Page: Introduction to Information Retrieval
CS707 Information Retrieval
This course covers models for information retrieval, techniques for indexing and searching, and algorithms for
classification and clustering. It will also cover SVM, latent semantic indexing, link analysis and ranking, Map-Reduce
architecture and Hadoop, to different degrees of detail, time permitting.
Course Page: Information Retrieval
CS774 Logic Programming
This course deals with logic programming paradigm and Prolog. We discuss the syntax and the semantics of Prolog,
the working of a Prolog interpreter and various applications of Prolog. In particular, we consider the use of Prolog for
Database Querying, for Parsing and for Problem Solving in Artificial Intelligence etc. Meta-programming aspects of Prolog
will be emphasized. The programming assignments will be coded in SWI_Prolog .
Course Page: Logic Programming
CS776 Functional Programming
This course will discuss important concepts of functional programming such as recursive definitions, higher-order functions,
type inference, polymorphism, abstract data types, modules etc. The programming exercises will illustrate the utility of
list-processing, pattern matching, abstraction of data/control, strong typing, and parameterized modules (functors). We also
study the mathematical reasoning involved in the design of functional programs and techniques for proving properties about
functions so defined. The programming assignments will be coded in SML '97
(Standard ML of New Jersey). and Haskell.
Course Page: Functional Programming
CS780 Compiler Design and Construction I
This course deals with the theory and practice of compiler design. Topics emphasized are scanning and parsing. If time
permits, semantic analysis will also be covered.
Course Page: Compiler Design and Construction I
CS781 Compiler Design and Construction II
This course is a continuation of CS780 covering the theory and practice of compiler design. Topics emphasized are semantic
analysis, code generation, and optimization.
Course Page: Compiler Design and Construction II
CS784 Programming Languages
To provide a solid foundation for studying advanced topics in Programming Language Specification and Design.
Course Page: Programming Languages
CEG860 Object-Oriented Programming
This course motivates the need for object-oriented programming, and studies, in detail, object-oriented programming
techniques, languages, and technology. The lectures will focus on the foundations of OOP, while the student
presentations will focus on the applications and extensions of Object Technology.
Course Page: Object-Oriented Programming
CS884 Advanced Topics in Programming Languages
The primary focus of this course is the design and specification of the Object-Oriented language Java.
Course Page: Advanced Topics in Programming Languages
CS891 Information Extraction, Retrieval, and Management
This course expects an advanced Ph.D. student to (i) review background material in the area of Information Retrieval,
Extraction, and Management, and (ii) develop/deliver a presentation on a mutually acceptable topic.
Course Page: Information Extraction, Retrieval, and Management
Collaborative Design of a System-on-a-Chip
Soon it is estimated that circuits will have a complexity of about 150 million transistors and require perhaps over 1,000
design engineers. So technology is in need of collaborative design, since it is not realistic to have available thousands
of designers at the same location. Likewise, another paradigm of design for systems on a chip is that multidisciplinary
skills are required. Thus, this course aims to develop an understanding of Micro/Macro collaboration along with
the ability to apply and use multidisciplinary skills for the design of a system on a chip.
Course Page: Collaborative Design of a System-on-a-Chip
Micheal Raymer
CS271 Introduction to Bioinformatics
Tools-oriented approach to bioinformatics emphasizing data structure and DNA, string representation in PERL, data searches,
pairwise alignments, substitution patterns, protein structure prediction and modeling, proteomics, and the use of web-based bioinformatic tools.
Course Page: Introduction to Bioinformatics
CEG320 Computer Organization & Assembly Language Programming
Terminology and understanding of functional organizations and sequential operation of a digital computer. Program structure,
and machine and assembly language topics including addressing, stacks, argument passing, arithmetic operations, traps, and
input/output. Macros, modularization, linkers, and debuggers are used. Prerequisite: CEG 260, CS 242.
Course Page: Computer Organization & Assembly Language Programming
CS400 Data Structures and Software Design
Study of the implementation of data structures and control structures in professional computer programs.
Introduction to the fundamentals of complexity and analysis. Study of common standard problems and solutions (e.g., transitive closure and critical path).
Emphasis on high-level language software design. Three hours lecture, two hours lab.
Course Page: Data Structures and Software Design
CS466 Introduction to Formal Languages
Introduction to the theory of formal languages and automata. Emphasis is on those classes of languages commonly encountered
by computer scientists (e.g., regular and context-free languages). 3 credit hours lecture, 2 credit hours lab. Prerequisite:
CS 400, MTH 257; or MTH 257 and a 400-level math or statistics course.
Course Page: Introduction to Formal Languages
CS471Algorithms for Bioinformatics
Theory-orientated approach to the application of contemporary algorithms to bioinformatics. Graph theory, complexity theory,
dynamic programming and optimization techniques are introduced in the context of application toward solving specific computational
problems in molecular genetics.
Course Page: Algorithms for Bioinformatics
CS480 Comparative Languages
Basic concepts and special-purpose facilities in programming languages examined through several representative languages. Three hours lecture, two hours lab.
Course Page: Comparative Languages
Amit Sheth
CS 475/675: Web Information Systems
This course covers advanced topics in managing Web-based resources, with a focus on building applications involving heterogeneous data. It will expose students to the following concept, topics, architectures, techniques, and technologies
- data, metadata, information, knowledge, and ontologies
- unstructured, semi-structured, structured, multimodal, multimedia, and sensor data syntax, structural/representational, and semantic aspects of data
- architectures: federated databases, mediator, information brokering
- integration and analysis of Web-based information
- automatic information/metadata extraction (entity identification/recognition, disambiguation)
- Web search engines, social networks, Web 2.0
- Semantic Web and Web 3.0
- relevant Web standards and technologies
- real-world examples that have major research projects and commercial products
The course assumes basic knowledge of databases and Web technologies (e.g., search engines). It is an ideal first course in a series of advanced courses on Semantic Web and Services Sciences we will offer as education and research components of the Advanced Data Management Program at Ohio's Wright Center of Innovation. See additional activities in this area at Kno.e.sis Center.
CS 499/699 Web Information Systems (Spring 2008)
This course covers advanced topics in managing Web-based resources, with a focus
on building applications involving heterogeneous data. It will expose students to topics,
techniques, and technologies of data, metadata, information, knowledge, and ontologies
including the semantic aspects of data, data architectures, Web search and information integration,
Web standards, Web 2.0, Semantic Web,and Web 3.0.
CS 790 Web3.0:Social, Services, Sensor Semantic Web (Winter 2009)
Web has rapidly evolved from a Web of documents and databases (also called Web1.0) to Web2.0 involving user generated content, social computing and more. At the same time, Web services and Web APIs have allowed delivery of computing capabilities (tools and applications wrapped as services) over the Web, leading to rapid integration of services as Mashups. Now, both machine sensors as well as humans as sensors (eg a human twitting his observation or views) are rapidly becoming important members of the Web. Many exciting applications become possible if all the resources generated through services, social interactions, user generated content and sensors can be easily integrated and analyzed. Semantics and the Semantic Web technologies have started to provide such a capability.
CS 790 Services Science (Winter 2008)
Service Science, Management, and Engineering (SSME), often referred to as Services Science, is emerging as a
distinct field of study. It encompasses numerous areas relating to the increasing role of services in the world economy.
In this course we will focus primarily on services computing, or the technical aspects of services science, and
secondarily on the allied economic, business, and organizational aspects.
The course will start with a rapid introduction to Web services and Web processes/workflows, including related
technologies (WSDL, SOAP, UDDI) and then look at the emergence of semantic Web services (SWS) and processes (SWP),
in which semantics is used to enhance design, annotation, publication, discovery, composition, and execution of services
and processes. We will also cover the non-technical aspects that are key to the emerging service economy.
Course Page: Services Science
CS 790 Semantic Web (Fall 2007)
World Wide Web (Web 1.0, or “the Web,” as we now know it) centers on documents and semi-structured data in html,
rss, and xml. The next generation Web, also called Web 2.0 and Web 3.0, has already started to emerge. Web 2.0 is about
user-generated content, user participation such as through tagging, and social networking. Web 3.0, also called Semantic Web,
is about labeling content such that machines can process it more intelligently and humans can exploit it more effectively.
These labels or metadata add semantics (meaning) to data, and their formal representation enables powerful reasoning that
leads not only to better (semantic) search but also to analysis, discovery, and decision making. Semantic Web is already a
rapidly emerging field, with standards, technologies, products, and applications—as well as to excellent job prospects
(for MS students) and research opportunities (for PhD students).
Course Page: Semantic Web
Shaojun Wang
CS 409/609 Principles of Artificial Intelligence
This course is an introduction to artificial intelligence. We will cover the most fundamental yet important algorithms
and methods in this field and illustrate application areas such as natural language processing, speech recognition,
computer vision and robotics.
Course Page: Principles of Artificial Intelligence
CS 712 Advanced Topics in Artificial Intelligence: Inference in Graphical Models
Graphical models are a unifying framework for describing the statistical relationships between large sets of variables.
The course addresses the basic questions of computing the marginal distribution, partition function and feature
expectation etc. The focus is on sparse graph structures and theoretical analysis with the goal of providing a unifying
roadmap for navigating and understanding the broad array of approximate algorithms for marginalization and learning in
graphical models. Topics include: message passing algorithms; belief propagation; survey propagation; sparse graph codes;
random combinatorial optimization (random K-satisfiability). This course will show how a wide class of methods----including mean
field theory, sum-product or belief propagation algorithms, expectation-propagation, and max-product algorithms----are all variational
methods, meaning that they can be understood as algorithms for solving particular optimization problems on graphs. The perspective also
forges connections to convex optimization, including linear programming and other type of conic relaxations.
Course Page: Advanced Topics in Artificial Intelligence: Inference in Graphical Models
CS 712 Advanced Topics in Artificial Intelligence: Probabilistic Graphical Models
This course will cover the fundamentals of graphical probability models, focusing on the key representations, algorithms and theories that have facilitated much recent progress in artificial intelligence research.
Course Page: Advanced Topics in Artificial Intelligence: Probabilistic Graphical Models
CS 714 Machine Learning, Winter 2009
This introductory course on machine learning will give an overview of many concepts, techniques, and algorithms in
machine learning that are now widely applied in scientific data analysis, data mining, trainable recognition systems,
adaptive resource allocators, and adaptive controllers. The emphasis will be on understanding the fundamental principles
that permit effective learning in these systems, realizing their inherent limitations, and exploring the latest advanced
techniques employed in machine learning.
Course Page: Machine Learning
CS 771 Natural Language Processing Techniques
This course is designed to introduce students to the current statistical techniques for the automatic analysis of natural
(human) language data. It develops an in-depth understanding of both the algorithms available for the processing of
linguistic information and the underlying computational properties of natural languages. Potential topics include
language modeling, finite state models, stochastic grammars, latent semantic analysis, log-linear models in natural
language processing. We will explore how these core techniques can be applied to user applications such as information
extraction, question answering, automatic speech recognition, statistical machine translation.
Course Page: Natural Language Processing Techniques
CS 772 Advanced Natural Language Processing Concepts
This is a seminar-style course devoted to recent research in statistical techniques for the automatic analysis of
natural (human) language data. The instructor will give some lectures on the fundamentals and ask students to
present topical papers. The topics covered in this course are: syntactic language models and large-scale distributed
language models, search algorithms, statistical machine translation and non-parametric Bayesian models/processes (Dirichlet, Pitman-Yor, Indian-Buffet, etc)
for natural language processing.
Course Page: Advanced Natural Language Processing Concepts
CS 790 Information Theory, Machine Learning and Statistics
Information theory deals with encoding data in order to transmit it correctly and effectively. Statistics and machine
learning deal with estimating models of data and predicting future observations. Is there any relationship between the
two? It turns out, perhaps not surprisingly, that the most compact encoding of the data is by the probabilistic model
that describes it best. In other words, there is a fundamental link between information and probability.
Course Page: Information Theory, Machine Learning and Statistics
Back