Courses
TEAC 500
Provides hands-on teaching experience to graduate students in undergraduate courses. Reinforces students' understanding of basic concepts and allows them to communicate and apply their knowledge of the subject matter.
INDR 520
Network flow models and optimization problems. Algorithms and applications. Minimum spanning tree problem. Shortest path problems. Maximum flow problems, minimum cuts in undirected graphs and cut-trees. The minimum cost network flow problem. Matching problems. Generalized flows. Multicommodity flows and solution by Lagrangean relaxation, column generation and Dantzig-Wolfe decomposition. Network design problems including the Steiner tree problem and the multicommodity capacitated network design problem; their formulations, branch-and-cut approaches and approximation algorithms.
COMP 590
Presentation of research topics to introduce the students into thesis research.
COMP 546
Advanced topics in data structures, algorithms, and their computational complexity. Asymptotic complexity measures. Graph representations, topological order and algorithms. Forests and trees. Minimum spanning trees. Bipartite matching. Union-find data structure. Heaps. Hashing. Amortized complexity analysis. Randomized algorithms. Introduction to NP-completeness and approximation algorithms. The shortest path methods. Network flow problems.
COMP 541
Basic linear models for classification and regression; stochastic gradient descent (backpropagation) learning; multi-layer perceptrons, convolutional neural networks, and recurrent neural networks; recent advances in the field; practical examples from machine translation, computer vision; practical experience in programming, training, evaluating and benchmarking deep learning models.
MECH 534
Geometric, physics-based, and probabilistic modeling methodology and associated computational tools for interactive simulation: computer programming, numerical methods, graphical modeling and programming, physics-based and probabilistic modeling techniques.
COMP 695
COMP 570
Algorithms, models, representations, and databases for collecting and analyzing biological data to draw inferences. Overview of available molecular biological databases. Sequence analysis, alignment, database similarity searches. Phylogenetic trees. Discovering patterns in protein sequences and structures. Protein 3D structure prediction: homology modeling, protein folding, representation for macromolecules, simulation methods. Protein-protein interaction networks, regulatory networks, models and databases for signaling networks, data mining for signaling networks.
COMP 542
Fundamental concepts and current research in natural language processing. Algorithms for processing linguistic information. Computational properties of human languages. Analysis at the level of morphology, syntax, and semantics. Modern quantitative techniques of using large corpora, statistical models, and machine learning applied to problems of acquisition, disambiguation and parsing. Applications such as machine translation and question answering.
COMP 534
Overview of Computer Security Techniques, Conventional Encryption, Public-Key Cryptography, Key Management, Message Authentication, Hash Functions and Algorithms, Digital Signatures, Authentication Protocols, Access Control Mechanisms, Network Security Practice, TCP/IP Security, Web Security, SSL (Secure Socket Layer), Denial-of-Service Attacks, Intrusion Detection, Viruses.
MECH 544
Fundamental concepts of modeling, control sensing, and intelligence of robotic systems. Robotic manipulators and mobile robots. Forward and inverse kinematics, trajectory planning, dynamics, control, and programming of robotic manipulators. Hardware components of mobile robots, visual and navigational sensors, pose estimation, navigation, and reasoning in mobile robots. Hands-on experience with robotic arms and mobile robots in a laboratory environment.
ENGL 500
The following objectives will be met through extensive reading, writing and discussion both in and out of class.Build a solid background in academic discourse, both written and spoken. Improve intensive and extensive critical reading skills. Foster critical and creative thinking. Build fundamental academic writing skills including summary, paraphrase, analysis, synthesis. Master cohesiveness as well as proper academic citation when incorporating the work of others.
COMP 589
Tools and techniques for ensuring software reliability. Specification formalisms and languages. Modeling tools and languages. Unit and integration testing. Automated testing and verification tools and algorithms. Mathematical representations for programs and executions. Hoare logic. Specification using modular contracts: Preconditions, postconditions, loop and object invariants. Ownership systems. Automated test generation. Model-based testing. Coverage metrics for testing adequacy. Type and effect systems for reliable software. Software model checkers. Static analysis. Concurrent/multi-threaded programs. Correctness criteria for concurrent programs: race-freedom, atomicity, linearizability and serializability. Testing, verification and debugging tools for concurrent programs.
COMP 543
Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.
COMP 537
Applications of artificial intelligence in user interfaces. Design, implementation, and evaluation of user interfaces that use machine learning, computer vision and pattern recognition technologies. Supporting tools for classification, regression, multi-modal information fusion. Gaze-tracking, gesture recognition, object detection, tracking, haptic devices, speech-based and pen-based interfaces.