Skip to Content

Course Search Results

  • 3.00 Credits

    This course is the second in a two-course sequence that prepares students to apply practical solutions to modern data science problems as a professional data analyst. The intent of this course is to go further in-depth and reinforce the concepts taught in CS 6570. Students will investigate and analyze the topics of CS 6570 using advanced tools and techniques to better prepare them for the challenges associated with the data science discipline. The principles of visualization will also be emphasized as well as exposure to recommendation engines and time series forecasting and analysis. Prerequisite:    CS 4580 and CS 6570
  • 3.00 Credits

    Introduction to fundamental principles and practical techniques of machine learning and its applications, including parametric and non-parametric algorithms, support vector machines, kernels, neural networks, clustering algorithms, dimensionality reduction, recommender systems, and deep learning. This course focuses on understanding and implementing the machine learning algorithms. Prerequisite:    CS 3100
  • 3.00 Credits

    Investigation of high-performance computer processing architectures, including concurrent, multicore platforms; memory hierarchy; static and dynamic scheduling; instruction-level parallelism, including branch prediction; graphics processing units; cache performance and analysis. Prerequisite:    CS 2810 and ECE 3710
  • 3.00 Credits

    The most exciting technologies of today are immersive, interactive, solve big problems, and are even entertaining. In this course, we will study how, as software developers, we can understand our users and create innovative designs that best meet their needs and desires. Known tools and techniques from the field of human-computer interaction are reviewed. User center research and evaluation techniques will be presented and students will have the opportunity to undertake a study on user design where they apply these techniques. Prerequisite:    CS 3100
  • 3.00 Credits

    Deep learning is at the heart of many life-changing applications and areas of interests including language understanding, face recognition, speech synthesis and recognition, object detection, and robotics to name a few. This course introduces the fundamental principles of deep learning and its applications, including multilayer perceptrons, backpropagation, auto-differentiation, optimizers, convolutional networks (CNNs), recurrent networks (RNNs), autoencoders (AEs), and generative adversarial networks (GANs). This course focuses on both understanding deep learning algorithms (their strengths and limitations) and getting acquainted with the current deep learning research landscape. Prerequisite:    CS 6600
  • 3.00 Credits

    Current business demands often require an amount of data that cannot reasonably process on a single computer. Even companies that work with reasonably small datasets expect rapid growth, so they prefer to use data processing solutions that scale when needed. In this course, you will gain practical, hands-on experience with modern cloud computing resources through publicly available cloud infrastructures. This course will prepare students with practical, hands-on experience in modern cloud and distributed computing paradigms and tools. Prerequisite:    CS 3580 and CS 6570
  • 3.00 Credits

    Introduction to fundamental principles and processes of software testing, including testing throughout the software development lifecycle, static testing, testing techniques and management; develop and apply knowledge and skills in implementing testing techniques in software development projects; including black-box and white-box testing, desktop, web, and mobile testing, testing automation, and test metrics.
  • 3.00 Credits

    Introduction to software testing as a precursor of debugging and repair. Understanding the cognitive process behind debugging and an introduction to scientific debugging. Introduction to automated debugging techniques like Fault Localization and Delta Debugging. Understanding the intuition behind Automatic Program Repair (APR). Introduction to APR techniques and tools. Introduction to recent advances in program debugging and repair. Understanding challenges and opportunities associated with automated program debugging and repair.
  • 3.00 Credits

    Computer Systems Security studies the design and implementation of secure computer systems. Topics include threat models, operating system security, TCP/IP security issues, information flow control, language security, hardware security, security in web applications, and detecting/monitoring unauthorized activity. Assignments include readings from current articles, labs that involve implementing and compromising a secure computer system, and a team final project. Prerequisite:    CS 2420 and CS 3100
  • 3.00 Credits

    A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Prerequisite:    CS 2420