Skip to Content

Course Search Results

  • 3.00 Credits

    Data mining is the study of efficiently finding structures and patterns in large data sets. We will focus on: (1) converting from a messy and noisy raw data set to a structured and abstract one, (2) applying scalable and probabilistic algorithms to these well-structured abstract data sets, and (3) formally modeling and understanding the error and other consequences of parts (1) and (2), including choice of data representation and trade-offs between accuracy and scalability. These steps are essential for training as a data scientist. Topics will include: similarity search, clustering, regression/dimensionality reduction, graph analysis, PageRank, and small space summaries. We will also cover several recent developments and applications. Prerequisites: 'C-' or better in (CS 3190 AND CS 3500)
  • 3.00 Credits

    Design and analysis of algorithms. Greedy algorithms, dynamic programming, divide and conquer. Asymptotic analysis and recurrence relations. Graph algorithms and network flows. Computational complexity and intractability. NP-hardness and beyond. Approximation algorithms. Prerequisites: 'C-' or better in CS 4150 AND (Full Major status in Computer Science OR Computer Engineering)
  • 3.00 Credits

    The mechanics of robots, comprising kinematics, dynamics, and trajectories. Planar, spherical, and spatial transformations and displacements. Representing orientation: Euler angles, angle-axis, and quaternions. Velocity and acceleration: the Jacobian and screw theory. Inverse kinematics: solvability and singularities. Trajectory planning: joint interpolation and Cartesian trajectories. Statics of serial chain mechanisms. Inertial parameters, Newton-Euler equations, D'Alembert's principle. Recursive forward and inverse dynamics. Prerequisites: 'C-' or better in ((MATH 2250 OR MATH 2270) AND (PHYS 2210 OR AP Physics C: Mech score of 4+)) AND (Full Major status in Computer Science OR Computer Engineering OR Software Development)
  • 3.00 Credits

    Introduction to fundamental problems of Computer Vision and main concepts and techniques to solve those. Topics in this class include camera pose estimation, 3D reconstruction, feature detectors and descriptors, object recognition using vocabulary tree, probabilistic graphical models, segmentation, stereo matching, graph cuts, belief propagation, and a brief introduction to deep neural networks. Prerequisites: 'C-' or better in (CS 3505 AND (MATH 2270 OR MATH 2250)) AND (Full Major status in Computer Science OR Computer Engineering OR Software Development)
  • 3.00 Credits

    The goals for this course are to study: (1) algorithms and methods for building computational models of natural language understanding, including syntactic analysis, semantic representations, discourse analysis, and statistical and corpus-based methods for text processing and knowledge acquisition, (2) issues involved in natural language understanding, such as cognitive and linguistic phenomena, and (3) applications that can benefit from natural language processing, such as information extraction, question answering, machine translation, and spoken language understanding. Students who have knowledge of finite-state automata but have not taken CS-3100 are also eligible for this course, but should contact the instructor for permission to enroll. Prerequisites: 'C-' or better in CS 3505 AND (Full Major status in Computer Science OR Computer Engineering OR Software Development)
  • 3.00 Credits

    This course covers techniques for developing computer programs that can acquire new knowledge automatically or adapt their behavior over time. Topics include several algorithms for supervised and unsupervised learning, decision trees, online learning, linear classifiers, empirical risk minimization, computational learning theory, ensemble methods, Bayesian methods, clustering and dimensionality reduction. Prerequisites: 'C-' or better in CS 3190 AND CS 3500 AND (Full Major status in Computer Science OR Software Development)
  • 3.00 Credits

    Foundations and details of deep learning, with implementations and applications. Students learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in machine learning applications, such as computer vision and natural language processing. Covers learning algorithms, neural network architectures, validation/evaluation of performance, and practical engineering tricks for training and fine-tuning networks for tasks such as object recognition and language translation. Prerequisites: 'C-' or better in (CS 3500) AND 'C' or better in ((MATH 1311 AND MATH 1321) OR MATH 2210) AND Full Major status in Computer Science OR Software Development OR Data Science
  • 3.00 Credits

    Human interfaces: visual, auditory, haptic, and locomotory displays; position tracking and mapping. Computer hardware and software for the generation of virtual environments. Networking and communications. Telerobotics: remote manipulators and vehicles, low-level control, supervisory control, and real-time architectures. Applications: manufacturing, medicine, hazardous environments, and training. Prerequisites: CS 3500 AND Full Major status in Computer Science OR Computer Engineering OR Software Development
  • 3.00 Credits

    Characteristics, objectives, and issues concerning computer operating systems. Hardware-software interactions, process management, memory management, protection, synchronization, resource allocation, file systems, security, and distributed systems. Extensive systems programming. Prerequisites: 'C-' or better in CS 4400 AND (Full Major status in Computer Science OR Computer Engineering OR Software Development)
  • 3.00 Credits

    This course will provide a comprehensive introduction to the principles and practices of network security especially Internet security. Topics to be covered include: cryptography essentials, authentication, access control, denial-of-service, digital pests, anonymity, cloud, and software defined network security. Existing network security standards (IPsec/SSL/WiFi/3G/4G) will be used for case studies. The network security concepts taught in this course will be strengthened with the help of written homework. Principles will be put into practice via programming assignments and one final project. In addition to the written homework, the programming assignments, and the final project, the course grade will be decided based on two midterm exams. This course does not have a final exam. Prerequisites: 'C-' or better in CS 4480 AND (Full Major status in Computer Science OR Software Development) OR Instructor Consent