Skip to Content

Course Search Results

  • 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 Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
  • 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 Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
  • 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 (CS3500) AND 'C' or better in ((MATH1311 AND 1321) OR MATH2210) AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
  • 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: 'C-' or better in CS 3500 AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
  • 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 Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
  • 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 Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
  • 3.00 Credits

    In this course, students will learn about various human aspects involved in security and privacy matters connected to technology, including but not limited to: theories of social behavior; laws, regulations, and public policy; UI/UX; economic and organizational considerations; security- and privacy-sensitive software engineering; etc. The course is taught with an active-learning approach with in-class activities and a group project dealing with one or more human and social aspects pertaining to security and privacy issues in everyday technologies. At the end of the course, students will be able to identify, analyze, and address various human aspects in development, deployment, and use of technology to help achieve optimal security and privacy for users and organizations
  • 3.00 Credits

    Representing information about real world enterprises using important data models including the entity-relationship, relational, and object-oriented approaches. Database design criteria, including normalization and integrity constraints. Implementation techniques using commercial database management system software and database connector APIs. Selected advanced topics such as query and transaction processing and index data structures. Prerequisites: 'C-' or better in CS 3500 AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)
  • 3.00 Credits

    Information retrieval (IR) is a research topic that concerns the organization, understanding, and access of information. Example applications of IR such as search engines (e.g., Google) and recommender systems (e.g., Spotify) have already become a significant part of everybody's lives. In this course, you will learn about the basic concepts of information retrieval and the underlying technologies that support the construction of modern IR systems. You will also obtain hands-on experience on these techniques by proposing and finishing your own information retrieval projects using existing toolkits and state-of-the-art algorithms. This is a combination of the undergraduate level (CS 5550) and graduate level (CS 6550) introductory courses for information retrieval. It will cover the basic design, algorithms, implementation, and evaluation of modern information retrieval systems. Topics include: search engine architecture, text processing, indexing, retrieval models, evaluation, and other advanced techniques and applications such as personalization, recommendation, question answering, etc. Prerequisites: 'C-' or better in CS 3130 AND CS 3500 AND (Full Major status in Computer Science OR Software Development)
  • 3.00 Credits

    This course covers the fundamental concepts of interactive and real-time rendering. The topics covered in this course are directly related to any application domain that displays 3D information, ranging from video games to interactive visualization. Interactive rendering often relies on the GPU hardware, so this course mainly covers topics related to GPU programming for interactive rendering, including shader programming, rendering transformations, shading, textures, shadows, tessellation, and advanced rendering techniques for interactive graphics applications. This is a project-based course with multiple programming assignments. Prerequisites: 'C-' or better in CS 3500 AND (MATH 2250 OR 2270) AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE)