Classes I've Taken

* = Currently Enrolled

CSCI 112 - Programming with C I:

"Introduces imperative programming and the C standard library. Course covers pointers, memory management and structures"

CSCI 127 - Joy and Beauty of Data:

"Provides a gentle introduction to the exciting world of big data and data science. Students expand their ability to solve problems with Python by learning to deploy lists, files, dictionaries and object-oriented programming. Data science libraries are introduced that enable data to be manipulated and displayed."

CSCI 132 - Basic Data Structures and Algorithms:

"An examination of advanced Java and basic data structures and their application in problem solving. Data structures include stacks, queues and lists. An introduction to algorithms employing the data structures to solve various problems including searching and sorting, and recursion. Understanding and using Java class libraries."

CSCI 215 - Social & Ethical Issues in Computer Science:

"Social and ethical issues as they relate to computing, including privacy, freedom of the press, lack of diversity, reliability and safety, and artificial intelligence."

CSCI 232 - Data Structures and Algorithms:

"Advanced data structures and programming techniques and their application. Topics include: trees, balanced trees, graphs, dictionaries, hash tables, heaps. Examines the efficiency and correctness of algorithms. The laboratory uses Java."

CSCI 246 - Discrete Structures:

"This course covers logic, discrete probability, recurrence relations, Boolean algebra, sets, relations, counting, functions, maps, Big-O notation, proof techniques including induction, and proof by contradiction"

CSCI 305 - Concepts/Programming Languages:

"An examination of the basic concepts of programming languages and several programming paradigms. Concepts will include some of: abstraction mechanisms, static and dynamic typing, scope, syntax vs. semantics, closures, and algebraic datatypes. Paradigms examined may include functional, imperative, logic, and object-oriented."

CSCI 447 - Machine Learning*:

"An introduction and survey of fundamental machine learning models and algorithms, including non-parametric methods, linear and nonlinear models, decision trees, neural networks, and population-based algorithms."

CSCI 455 - Embedded Systems: Robotics:

"The basic tools and techniques of embedded systems using robotics as a platform. Student teams will build an autonomous mobile robot, and learn to program it to perform increasingly sophisticated behaviors. Besides providing an introduction to autonomous mobile robot technologies, the students also learn key concepts of mechanics, electronics, programming techniques, and systems design and integration."

CSCI 491 - Data Visualization:

"One of the key skills that a data scientist must develop is the ability to tell a compelling story through data visualizations. Students will learn the fundamentals of information visualization, exploratory data analysis, and how to utilize different visualization tools."

CSCI 494 - Seminar: Mobile App Development:

"In this online seminar, you will be introduced to technologies that are commonly used in industry such as git, Docker and Kubernetes."

CSCI 494 - Seminar: Industry Methods:

"Learn the basics of Android mobile app development."

ESOF 322 - Software Engineering*:

"Software lifecycles, Unified Modeling Language, design patterns, software engineering standards, requirements analysis, development issues, efficiency tools, verification and validation, configuration management, testing and maintenance."

M 221 - Introduction to Linear Algebra:

"Matrix algebra, systems of linear equations, determinants, vector algebra and geometry in Euclidean 3-space, eigenvalues, eigenvectors."

M 273 - Multivariable Calculus*:

"Topics in two and three dimensional geometry. Manipulation and application of vectors. Functions of several variables, contour maps, graphs, partial derivatives, gradients, double and triple integration, vector fields, line integrals, surface integrals, Green's Theorem, Stokes' Theorem, the Divergence Theorem."

STAT 216 - Introduction to Statistics:

"Traditional and resistant estimators of location and spread, fundamentals of inference using randomization and classical methods, confidence intervals, and tests of hypotheses."

STAT 337 - Intermediate Statistics with Introduction to Statistical Computing*:

"One- and two-sample tests and associated confidence intervals for means and proportions (and analogous randomization- and resampling-based techniques); One- and Two-way analysis of variance; F-tests, correlation, simple and multiple regression, contingency tables. Introduction to statistical computing, reproducible research, and analysis using a modern scripting language; emphasis on connecting study design to scope of inference in the context of authentic studies and understanding or reproducing statistical results as used in journal articles."