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.
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.
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
Course Description Not Available.
Course Page: Special Topics in Privacy Aware Computing
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.
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.
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).
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.
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
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.
Lectures on and study of selected topics in current research and recent developments in computer science.
Course Description Not Available.
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
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
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
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
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
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
To provide a solid foundation for studying advanced topics in Programming Language Specification and Design.
Course Page: Programming Languages
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
The primary focus of this course is the design and specification of the Object-Oriented language Java.
Course Page: Advanced Topics in Programming Languages
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
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
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
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
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
Basic concepts and special-purpose facilities in programming languages examined through several representative languages. Three hours lecture, two hours lab.
Course Page: Comparative Languages
This course discusses using Semantic Web Technologies, commonly referred to as Web 3.0 in research and real world applications. You can find the course Web page for this class here and class' community page here. (Please note that only members of the class have access to Web 3.0 Community page).
This course will prepare undergraduate and graduate students in essential technologies for building data/information centric Web applications. Detailed syllabus can be found at: here.
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
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.
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.
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.
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
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
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
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
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
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
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
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
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
© 2012 Kno.e.sis | 377 Joshi Research Center, 3640 Colonel Glenn Highway, Dayton, OH 45435 | (937 - 775 - 5217)