Home Graduate Programs Ph.D. Program Course Descriptions
PDF Print E-mail

CMP6102 Advanced Topics in Data Mining

This course treats specific advanced topics of current research interest in the area of handling spatial, temporal, and spatio-temporal data. Major topics include data mining and machine learning techniques on clustering, association analysis, and classification. In addition, students will learn how to use popular data mining tools and how to implement applications in geosciences. The class will expose students to interdisciplinary research on recommender systems, link analysis, spam detection, and stream mining.

CMP6122 Advanced Topics in Cryptography

This course aims at equipping students with a deeper understanding of cryptography. It starts by introducing the underlying theory of Galois fields, and targets basic topics of significant practical importance as well as advanced topics of theoretical importance. In the first part of the course, a detailed analysis of standard cryptographic algorithms is made and efficient implementation ideas are discussed, focusing on public key schemes such as RSA, ElGamal and Diffie-Hellman, as well as elliptic curve cryptography and homomorphic encryption. In the second part, application of these algorithms to advanced protocols, such as for authentication, identification, key distribution, zero-knowledge and computationally-private information retrieval, is discussed. In the last part of the course, advanced mathematical algorithms, such as brute-force, baby-step giant-step and the Pohlig-Hellman, for attacking some of the covered cryptographic schemes are discussed.

CMP6132 Advanced Topics in Bioinformatics

The challenge in the new -omic era is to develop computational methods for integrating different data types and extracting complex patterns accurately and efficiently from a large volume of data. This course will discuss computational issues arising from high-throughput techniques recently introduced in genomics, and cover very recent developments in bioinformatics, including genome structural variant discovery, genome-wide association studies, biological network, pathway analysis, epigenome analysis, cancer genomics, and transcriptome analysis.

CMP6137 Advanced Topics in Wireless Networks and Mobile Communications

This is a research-oriented course and provides a comprehensive overview of wireless networking and mobile communications technologies. The topics include radio propagation models, next generation wireless networks, cellular networks, network and mobility management, network quality of service (QoS), queuing theory, wireless mesh networks, dynamic spectrum management, cognitive radio networks, vehicular communications, and wireless ad hoc networks.

CMP6146 Advanced Topics in Computer Architecture

This course provides a comprehensive presentation of the organization and architecture of modern-day computers, emphasizing both fundamental principles and the critical role of performance in driving computer design. The topics include CPU design, pipeline design, parallel computing and multi-cores, memory hierarchy, storage and GPGPU.

CMP6160 Advanced Topics in Artificial Intelligence

This is a research oriented course. Topics vary from one offering to the next. Selected state of the art research papers from various fields of artificial intelligence (such as searching, knowledge representation, learning, probabilistic reasoning, and natural language processing) will be read. Students are required to write paper reviews and do a final project.

CMP6162 Advanced Topics in Video Surveillance

This course studies advanced computer vision theories and algorithms for intelligent video surveillance systems. Various statistical and mathematical approaches will be covered to understand the fundamentals of detection, estimation and tracking methods and their applications to video understanding. Mainly the following problems will be discussed and state-of-the art solutions will be studied in detail: Human Detection, Human Tracking, Head Detection, Head Tracking, Human Motion Analysis, Tracking in Crowds, Crowds Motion Analysis, Multi-camera Approaches in Videos. Literature survey will be covered for each topic and existing theoretical approaches will be covered with practical implementations. Some examples of widely used approaches are image feature detection, bayesian estimation, regression trees, gabor filters, particle filters, feature matching algorithms, 2D/3D model fitting methods.

CMP6163 Advanced Topics in Computer Communications Systems

This course introduces advanced techniques specifically for packet-switched networks (be it wired, wireless or optical). It is intended to fill a gap to offer a system-oriented view including the hardware and software related methods. Some of the topics to be covered are routers, switches, scheduling, routing, packet classification, network processors, deep-packet inspection, content networking, network search engines, wireless networks, mm-wave WirelessHD, GPGPU for Communications.

CMP6164 Advanced Topics in Computer Vision

After a brief overview of standard techniques in computer vision, modern and more advanced methods will be discussed. The topics comprise multi-camera systems, 3D reconstruction, motion estimation, object and scene recognition, augmented reality, visual localization, various optimization methods and other hot topics in the field. The class will be more research oriented where various seminal and popular academic papers will be studied.

SEN6001 Advanced User Interface Software

This course will cover the research and implementation of user interface software. After a quick overview of the design of user interfaces, we will concentrate on how to implement the chosen design. Particular emphasis will be placed on user interface software tools, such as frameworks, SDKs, toolkits, windowing systems, interface builders, prototypers, and advanced user interface development environments. In particular, the course will cover Internet UI frameworks, Service-Oriented Architecture (SOA) and other component frameworks, APIs for UI development such as MFC and Java Swing, interactive tools such as Visual Basic .Net and Adobe Flash, 2-D and 3-D graphics models for UIs, and various research systems like Amulet, subArctic, the Context Toolkit, and Papier Mache. Lectures will discuss the fundamental principles behind all of these systems, while showing the historical progression of the ideas from research prototypes to commercial systems. Other topics will include designing an API so it is usable by the target programmers, and how to evaluate user interface tools and frameworks.

SEN6002 Program Analysis

This course provides an overview of the state of the art in program analysis and recent research in the area.  Topics include program representations, abstract interpretation, type-based and constraint-based analysis, approaches to interprocedural analysis, counterexample-guided abstraction refinement, extended static checking, and combinations of testing and static analysis.  The course will mix theory and practice; students will formalize analyses and prove them correct, but also implement simple analyses and complete a capstone course research project.

SEN6006 Analysis of Software Artifacts

Analysis is the systematic examination of an artifact to determine its properties. This course will focus on analysis of software artifacts--primarily code, but also including analysis of designs, architectures, and test suites. We will focus on functional properties, but also cover quality attributes like performance and security.  In order to illustrate core analysis concepts in some depth, the course will center on static program analysis; however, the course will also include a breadth of techniques such as testing, model checking, theorem proving, dynamic analysis, and type systems.

SEN6007 Advanced Human Computer Interaction

Practical development of software requires an understanding of successful methods for bridging the gap between a problem to be solved and a working software system. In this course you will study a variety of ways to understand the problem you're solving, the various factors that constrain the possible solutions, and approaches to deciding among alternatives.

SEN6010 Semantics of Programming Languages

This course introduces foundational concepts and techniques of program-ming language semantics. We demonstrate the utility of a mathematical approach to programming languages in answering questions about program correctness, the pro’s and con’s of various languages, compiler correctness, and other practical issues. We focus on two of the most successful styles of semantic description: denotational and operational. We deal with small “core” languages, each chosen to illustrate a specific paradigm. Our approach is incremental, studying each feature in as simple a setting as possible. We use semantics to prove properties of a language, to analyze programs, to de-sign correct programs, to prove correctness of compiler optimizations, and to prove general laws of program equivalence.

SEN6011 – Advanced Educational Software

This course aims to review, design, implement and evaluate educational software. This course covers history of the educational software, major types of educational software such as office software, educational games software, testing software, learning management systems and, educational software development process. The students are expected to design an educational software. They also present their research at the end of the course, based on the related recent literature as well as writing an original article about the educational software. At the end of this course, students will be able to plan the evaluation of educational software, know how to make concurrent design, put the design plans into development action, implement and evaluate the educational software.

SEN6012 – Advanced Web Based Learning

This course aims to teach how to design effective web based course, implement and evaluate web based learning through following instructional design framework. Topics of this course covers introduction to web based learning, communities and instructional design, WBID model, implementation and evaluation of web based instruction. Students will design a web based learning environment; review and presentation of recent literatures, doctoral thesis and write an original article on the web based learning. At the end of this course, students will understand web based learning and learn web based learning environments. Students will also be able to develop the instructional content for web based instruction, make concurrent design such as instructional design and motivational strategy planning and will be competent to make concurrent design such as pre-planning and design tasks.

SEN6021 – Data Mining and Knowledge Discovery

This course will focus on applying data mining solutions on knowledge discovery areas and providing suitable data mining models for real life cases. In this course, we will focus on data mining methods and algorithms, Knowledge Discovery in Databases (KDD) dealing with the data integration, data mining and data interpretation of patterns. Topics include rough set theory, decision tables and algorithms, clustering, hybrid clustering, data mining using multiple classifiers combination, image classification via visual learning, clustering parallel data stream, correlation analysis, association rules, rule mining and data mining applications in power systems. The course will cover theoretical and practical advances and applications of data mining in different areas.

SEN6023 – Fundamental Technologies in Data Mining

This course will cover the description of novel mining algorithms and the progress of data mining technology; introducing data mining, data warehouse and OLAP technology for data mining, data processing, mining association rules in large databases, association mining to correlation analysis, cluster analysis, mining complex type of data. Topics will include probability theory, decision theory, probability distributions, linear models for regression, linear models for classification, neural networks, kernel methods, kernel machines and, combining methods such as tree-based models.

CMP6008 Directed Topics I

This is a research-oriented course and designed to teach the state-of-art knowledge in various topics in computer engineering domain. There will be extensive reviews of seminal research papers in various selected topics.

CMP6009 Directed Topics II

This is a research-oriented course and designed to teach the state-of-art knowledge in various topics in computer engineering domain. There will be extensive reviews of seminal research papers in various selected topics.

CMP6987 Seminar

CMP6901 Qualifier Preparation

CMP6902 Qualifier Exam

CMP6999 Doctoral Thesis