| DTSC 115 |
| Introduction to Computer Science |
This course provides an introduction to computer science from broad and diverse perspectives, through object-oriented problem-solving using the Java programming language. Throughout the course, recurring themes are abstraction and effective use of basic algorithmic constructs such as sequence, selection and iteration. The building blocks of object-oriented programming such as encapsulation, inheritance, polymorphism and generics are covered and reinforced with practical applications. Required weekly laboratory sessions deepen students' learning with hands-on opportunities to experiment with the concepts covered in the lectures. (NUM) Prerequisite: C- or better in Computer Science 110 or mathematics skills appropriate for enrolling in a calculus class. |
|
1.25 units, Lecture
|
| DTSC 209 |
| Stochastic Processes |
An introduction to stochastic processes, including Markov chains, queueing
theory, and Monte Carlo simulations. Following the introduction of
conditional probability and expectation topics will include discrete Markov
chains, Poisson Processes, and continuous Markov chains. Limiting
behavior, stationary distributions, hitting times, and exit distributions will
emphasized throughout, along with applications and practical considerations
for Monte Carlo simulations. (NUM) Prerequisite: C- or better in Mathematics 132. |
|
1.00 units, Lecture
|
| DTSC 212 |
| Probability |
This foundational course provides an introduction to probability theory, covering key concepts and theorems essential for understanding randomness and uncertainty. Topics include discrete and continuous random variables, important densities and distribution functions, joint distributions and covariance, conditional probability and Bayes' theorem, the Law of Large Numbers, and the Central Limit Theorem. Additional topics may be included based on the instructor's focus as time permits. (NUM) Prerequisite: C- or better in Mathematics 132 or 231, or instructor consent. |
|
1.00 units, Lecture
|
| DTSC 215 |
| Data Structures and Algorithms |
A study of data structures and algorithms using a high-level programming language. The basic data structures (lists, stacks, queues, trees, and files) and basic algorithms (searching, sorting, and file management) will be introduced and implemented. Data and procedural abstraction, software design principles, and the analysis of the complexity of algorithms will be discussed. Details related to programming will be covered in a required weekly lab. (NUM) Prerequisite: C- or better in Computer Science 115L. |
|
1.25 units, Lecture
|
| DTSC 229 |
| Applied Linear Algebra |
An introduction to linear algebra with an emphasis on practical applications and computation. Topics will be motivated by real-world examples from a variety of disciplines, for instance medical imaging, quantum states, Google’s PageRank, Markov chains, graphs and networks,difference equations, and ordinary and partial differential equations. Topics will include solvability and sensitivity of large systems, iterative methods, matrix norms and condition numbers, orthonormal bases and the Gram-Schmidt process, and spectral properties of linear operators. MATLAB will be used for coding throughout the course, although no previous experience is required. Students may not count both Mathematics 228 and Mathematics 229 for credit towards the Math major. (NUM) Prerequisite: C- or better in Mathematics 132, 205, 231 or 253, or consent of instructor. |
|
1.00 units, Lecture
|
| DTSC 234 |
| Differential Equations |
An introduction to the theory of ordinary differential equation and their applications. Topics will include analytical and qualitative methods for analyzing first-order differential equations, second-order differential equations, and systems of differential equations. Examples of analytical methods for finding solutions to differential equations include separation of variables, variation of parameters, and Laplace transforms. Examples of qualitative methods include equilibria, stability analysis, and bifurcation analysis, as well as phase portraits of both linear and nonlinear equations and systems. At the discretion of the Mathematics Department, section enrollments may be balanced. (NUM) Prerequisite: C- or better in Mathematics 132. |
|
1.00 units, Lecture
|
| DTSC 237 |
| Mathematics of Finance |
This is an introductory course on the mathematics of financial products, with a focus on options. The main topics include: mechanics and properties of options, option pricing in binomial models, the Black-Scholes model, stochastic process, and the "Greeks". Equal emphasis is placed on proofs of formulas and the application of those formulas to pricing financial derivatives. Prerequisite: C- or better in Mathematics 132 and 207, or permission of instructor (NUM) Prerequisite: C- or better in Mathematics 132. |
|
1.00 units, Lecture
|
| DTSC 309 |
| Numerical Analysis |
Theory, development, and evaluation of algorithms for mathematical problem solving by computation. Topics will be chosen from the following: interpolation, function approximation, numerical integration and differentiation, numerical solution of nonlinear equations, systems of linear equations, and differential equations. Treatment of each topic will involve error analysis. (NUM) Prerequisite: C- or better in Computer Science 115, MATH 132, and any mathematics course numbered 200 or higher. |
|
1.00 units, Lecture
|
| DTSC 310 |
| Software Design |
Object-oriented paradigm for software analysis and design using an object-oriented programming language as a means to efficient, reliable, modular, and reusable code. Topics covered will include problem solving and design processes, design patterns, object-oriented principles and language-specific techniques, and tools for object-oriented modeling. (NUM) Prerequisite: C- or better in Computer Science 215. |
|
1.00 units, Lecture
|
| DTSC 312 |
| Statistical Learning |
This course provides a comprehensive introduction to foundational and advanced techniques in estimation and modeling from a mathematical standpoint. Key topics include maximum likelihood estimation, Bayesian inference, Markov chain Monte Carlo (MCMC) sampling, linear and regularized regression, as well as nonlinear approaches such as neural networks. Additional topics may cover dimension reduction, dealing with noisy and limited data, data visualization, optimization, and approximation theorems. Through programming-based assignments in MATLAB or Python, students will apply theoretical concepts to real-world problems, gaining hands-on experience in data analysis and model building. (NUM) Prerequisite: C- or better in Mathematics 212 and Mathematics 228 or Mathematics 229, or permission of instructor. |
|
1.00 units, Lecture
|
| DTSC 316 |
| Dynamical Systems |
An introduction to nonlinear dynamics and chaos theory, emphasizing qualitative methods for
both continuous and discrete dynamical systems. Topics will include fixed points and periodic
solutions, linearization and asymptotic behavior, existence and nonexistence theorems for
periodic orbits, and Floquet theory. Special emphasis will be placed on stability and bifurcation
analysis for parameterized families. The final part of the course will serve as an introduction to
chaos theory. Topics will include routes to chaos, strange attractors, self-similarity and fractal
dimensions, Lyapunov exponents, and renormalization. Modeling of real-world systems and
their applications will we stressed throughout the course. (NUM) Prerequisite: A grade of C- or better in MATH 234; or Permission of the Instructor |
|
1.00 units, Lecture
|
| DTSC 334 |
| Partial Differential Equations |
An introduction to partial differential equations and their applications. Topics will include physical laws, Fourier series, heat equations, wave equations, and other classical models. Students will learn to approach problems using both analytical and qualitative methods. The purpose of the course is to gain an understanding of how to construct mathematical models using real-life applications and to acquire the skills necessary to solve these problems appropriately. (NUM) Prerequisite: C- or better in Mathematics 231 and 234, or permission of instructor. |
|
1.00 units, Lecture
|
| DTSC 340 |
| Principles of Software Engineering |
The study of issues involved in developing large-scale software systems. Topics covered include software life cycle, system design and specification, advanced programming concepts, and techniques for software testing, debugging, and maintenance. The issues studied will be applied to team projects. (NUM) Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203). |
|
1.00 units, Lecture
|
| DTSC 352 |
| Artificial Intelligence |
A study of basic principles and research methods in artificial intelligence. The course exposes students to selected topics in the field including pattern recognition, problem solving, theorem proving, knowledge representation, and natural language understanding by computers. The course will draw on recent advances made by cognitive scientists in each of these applications. Students are expected to study the theoretical background of an application. They will also complete several programming and simulation assignments during the semester. (NUM) Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203). |
|
1.00 units, Lecture
|
| DTSC 360 |
| Deep Learning |
The course will introduce the students to the fundamentals aspects of artificial neural networks (ANN), convolution neural networks (CNN), recurrent neural networks (RNNs), generative adversarial networks (GAN), and reinforcement learning. The focus will be primarily on the application of deep learning to realworld problems, with some introduction to mathematical foundations. Application of neural network frameworks to natural language processing (NLP), time series, computer vision, security, and data generation problems will be discussed. Python will be the primary programming language for this course. The students will work in teams towards a semester-long project using Google Tensorflow and Keras. (NUM) Prerequisite: C- or better in Computer Science 215. |
|
1.00 units, Lecture
|
| DTSC 372 |
| Database Fundamentals |
This course provides an introduction to the design and implementation of database systems. Topics include: the relational algebra and relational database models; SQL and other relational query languages; the implementation of database management systems, including indexing, concurrency control and transaction management. (NUM) Prerequisite: C- or better in Computer Science 215L and Computer Science 203 (or concurrent enrollment in 203). |
|
1.00 units, Lecture
|
| DTSC 395 |
| Sensitive Information in a Connected World |
The increasing use of computers in business, government, recreation, and almost all aspects of daily life has led to a proliferation of sensitive data that is collected, stored, and used by today's ubiquitous information systems. Consequently, concern about the ownership, control, privacy, and accuracy of these data has become a top priority. This course will explore the powers and the limitations of the existing privacy-enhancing technologies with a focus on the technical challenges of handling sensitive information as well as the corresponding legal, social, economic, and policy issues. Special attention will be paid to the recent advances and new perspectives on research in privacy technologies. (NUM) Prerequisite: C- or better in Computer Science 215. |
|
1.00 units, Seminar
|
| DTSC 399 |
| Independent Study |
| Independent work to develop maturity and initiative in the solution of a problem in the area of the student’s special interests. Submission of the special registration
form, available on the Registrar’s Office website, and the approval of the instructor and chairperson are required for enrollment. |
|
0.50 units min / 1.00 units max, Independent Study
|
| DTSC 415 |
| Special Topics in Data Science |
| An in-depth study of selected topics in data science. Topics vary by semester and may include data visualization, machine learning applications, responsible AI, data engineering, or domain-specific data analysis. Emphasis is placed on integrating
computational and mathematical approaches to solve data-driven problems. (NUM) |
|
1.00 units, Lecture
|
| DTSC 415 |
| Special Topics: Data Visualization |
Data visualization is an essential skill required in today's data-driven world and helps us to use our perception to better understand the data. In the data visualization course, we will mainly focus on understanding and extending the current state of the art in data visualization, we will explore the process of data visualization that includes data modeling, data processing(such as aggregation and filtering), mapping between data and graphical attributes and use of several data visualization software and frameworks such as D3.js, seaborn, Power BI, and Tableau. (NUM) Prerequisite: C- or better in Computer Science 215. |
|
1.00 units, Lecture
|
| DTSC 415 |
| Special Topics: AI Integration |
Explore the integration of AI systems into software development, focusing on programmatic access to AI services. The course covers RESTful API interactions, local AI open-source models, and applications in chatbots, image generation, visualization, and audio/video creation. By blending theoretical foundations with implementation, the course equips students with the knowledge to leverage AI in modern software solutions. (NUM) Prerequisite: C- or better in Computer Science 215. |
|
1.00 units, Lecture
|
| DTSC 415 |
| Special Topics: Data Analytics |
A comprehensive introduction to data analytics, focusing on the essential techniques and tools used to analyze and interpret complex datasets. Students will learn how to collect, clean, and process data to extract meaningful insights and inform decision-making. The course covers various statistical methods, machine learning algorithms, visualization techniques, and data-focused programming. By the end of the course, students will have mastered a variety of tools and programming languages, enabling them to address real-world problems with data-driven solutions. (NUM) Prerequisite: C- or better in Computer Science 215. |
|
1.00 units, Lecture
|
| DTSC 466 |
| Teaching Assistantship |
| Submission of the special registration form, available on the Registrar’s Office website, and the approval of the instructor are required for enrollment.
Guidelines are available in the College Bulletin. |
|
0.50 units min / 1.00 units max, Independent Study
|
| DTSC 490 |
| Research Assistantship |
| This course is designed to provide students with the opportunity to undertake substantial research work with a faculty member. Submission of the special
registration form, available on the Registrar’s Office website, and the approval of the instructor are required for enrollment. |
|
0.50 units min / 1.00 units max, Independent Study
|
| DTSC 498 |
| Senior Seminar |
This seminar is the first course in the year-long senior exercise sequence. Students synthesize prior coursework through critical reading of data science literature, project scoping, and analysis of ethical, societal, and policy implications, culminating in a formal project proposal and presentation that prepare them for the subsequent senior capstone project. (WEB) This course is open only to senior Data Science majors. |
|
1.00 units, Seminar
|
| DTSC 499 |
| Senior Project |
This project course is the second course in the year-long senior exercise sequence. Students complete an original, substantial data science project that integrates computational and mathematical methods and demonstrates data acquisition, modeling, evaluation, and communication of results. Projects culminate in a final written report and formal presentation. (NUM) Prerequisite: Senior DTSC majors only, C- or better in DTSC 498, or permission of instructor. |
|
1.00 units, Independent Study
|