Course Work
Programming and Computing Courses
- CMPSC 465 Data Structures and Algorithms: Theoretical concepts of computer science: data structures, analysis of algorithms, recursion, trees, sets, graphs, sorting.
- CMPSC 360 Discrete Mathematics for Computer Science:Discrete mathematics for modern computer science including sets, relations, logic, algorithms, graphs, finite state machines and regular expressions.
- CMPSC 221 Object Oriented Programming with Web-Based Applications: Virtual machines, intermediate code generation (Java-specific), graphical user interfaces (GUI) design, event handling, server-side programming with database queries, and security, permissions and file management concepts for client/server systems.
- CMPSC 132 Programming and Computation II: Data Structures: Design and analysis of efficient algorithms using important data structures, and programming techniques that support reusable and modular program components, including data abstraction, polymorphism, and higher-order functions.
- CMPSC 131 Programming and Computation I: Fundamentals: C and Python programming to reinforce constructs such as object-oriented and functional programming languages such as iteration, conditionals, functions, recursion, and datatypes.
- STAT 184 R Programming: Computing fundamentals, workflow using the R programming language and related tools to access, join, wrangle, clean, and visualize real data from various sources (e.g. CSV, HTML scraping, web URL, R packages).
Database & Data Science Courses
- CMPSC/DS 448 Machine Learning and Algorithmic AI: Evaluation and use of machine learning models; algorithmic elements of artificial intelligence, and how to design and evaluate data-driven solutions for real problems in different domains.
- CMPSC/DS 410 Programming Models for Big Data: Covering rogramming models such as MapReduce, data flow supports for modern cluster computing environment, and programming models for large-scale clustering (either a large number of data samples or a large number of dimensions). Using these frameworks and languages, the students will learn to implement data aggregation algorithms, iterative algorithms, and algorithms for generating statistical information from massive and/or high-dimensional data. The realization of these algorithms will enable the students to develop data analytic models for massive datasets.
- CMPSC/DS 442 Artificial Intelligence: Goal-based and adversarial search, logical, probabilistic, and decision theoretic knowledge representation and inference, decision making, and learning.
- DS 300 Privacy and Security for Data Sciences: Analyzing and implementing protection strategies for data privacy and security.
- DS 220 Data Management for Data Sciences: Relational Databases, key-value stores, column-oriented databases, vector-space databases, graph databases, and distributed file systems together with their applications in solving real-world big data management problems
- DS 200 Data Science: The "big picture" of data sciences including elements of understanding data through exploratory data analysis, testing hypotheses against data, building predictive models, all using real-world data.
Mathematics & Statistics Courses
- CMPSC/MATH 455 Introduction to Numerical Analysis I:Floating point computation, numerical rootfinding, interpolation, numerical quadrature, direct methods for linear systems.
- STAT 415 Mathematical Statistics: A theoretical treatment of statistical inference, including sufficiency, estimation, testing, regression, analysis of variance, and chi-square tests.
- STAT 414 Probability Theory: Probability spaces, discrete and continuous random variables, transformations, expectations, generating functions, conditional distributions, law of large numbers, central limit theorems and Bayesian statistics.
- MATH 230 Calculus and Vector Analysis: Three-dimensional analytic geometry; vectors in space; partial differentiation; double and triple integrals; integral vector calculus.
- MATH 220 Matrices/Linear Algebra: Analyzing complicated matrix problems into simpler components which appear in many disguises in physical problems. The course also introduces the concept of a vector space, a crucial element in future linear algebra courses.
- MATH 141 Calculus with Analytic Geometry II: Develops the mathematical skills required for analyzing growth and change and creating mathematical models that replicate reallife phenomena.
Enginering Leadership & Management Courses
- ENGR 408 Leadership Principles: A project-based exploration of theories and principles of engineering leadership applicable to technical careers and developing awareness of personal leadership strengths to analysis of corporate mission, vision, values, and strategies.
- ENGR 407 Technology-Based Entrepreneurship: Technology innovation coupled with business planning and development, to develop the ability to lead a team and move a product from idea to market through many challenging and exciting projects.
- ENGR 409 Leadership in Organizations: A 'mini-mba' course, where students gain deeper global understanding of the skills and ethical behavior associated with, the essential dimensions of leadership in organizations