Teaching
Here is some information on the courses that I often teach. The course syllabus will contain all the details; this page is for those who want to preview what can be expected in the course.
CPSC 375: Introduction to Data Science and Big Data
The course covers some of the fundamental methods for data preparation and analysis, together called "data science." The course also introduces "big data" and some of its core ideas. The methods are all covered using the R programming language. Prior experience with R is not necessary. The prerequisites are experience with some programming language (CPSC 131) and statistics (MATH 338). Note that though machine learning is considered integral to data science, this course does not cover machine learning methods in depth because there is a course dedicated to that: CPSC 483
. Similarly, core concepts from statistics are covered in MATH 338.
CPSC 375 is an elective course for Computer Science majors (all catalog years).
Textbooks (all are online and free)
[B1]
R for Data Science
, Hadley Wickham and Garrett Grolemund
[B2] Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman, and Jeffrey D. Ullman, December 2014, ISBN: 9781107077232, Cambridge University Press (free e-book )
[B3] Mastering Spark with R , Javier Luraschi, Kevin Kuo, Edgar Ruiz
Optional:
-
An Introduction to R
-
R Programming for Data Science
, Roger D. Peng
Week | Material | Textbook Sections |
---|---|---|
1 |
What is data science? Introduction to R |
B1: Ch. 1-2 |
2 |
Visualization |
B1: Ch. 3 |
3 |
Exploratory data analysis |
B1: Ch. 4-7 |
4 |
Data wrangling |
B1; Ch. 5 |
5 |
Tidy data |
B1: Ch. 12 |
6 |
Linear modeling |
B1: Ch. 22-24 |
7 |
Nearest neighbors classification; Distance measures |
B2: Ch. 12.4; B2: Ch. 7.3.1-7.3.3 |
8 |
K-means clustering; Evaluation metrics |
Lecture slides |
9 |
Review and midterm exam |
|
10 |
Introduction to IoT; Time-series data |
Lecture slides |
11 |
Time-series data (contd.); Text data |
Lecture slides |
12 |
Text data (contd.) |
Lecture slides |
13 |
Data storage |
B2: Ch. 2.1 |
14 |
Big data platforms (MapReduce) |
B2: Ch. 2.2 |
15 |
Big data platforms (Apache Spark) |
B3 |
finals |
final exam (covers material after midterm) |
CPSC 481: Artificial Intelligence
This course covers some of the established methods in Artificial Intelligence (AI). AI is a broad area and this course introduces three approaches: search algorithms, knowledge representation using formal logic, and probabilities for reasoning with uncertainty. Homework assignments involve programming in Python. The course prerequisites are CPSC 335 (algorithms) and MATH 338 (statistics).
CPSC 481 is a required course for all Computer Science majors.
Textbooks
Required: Artificial Intelligence A Modern Approach, 4th edition, Stuart Russell and Peter Norvig [RN]
Optional: Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 6th edition, George F. Luger, Pearson [Lug]
Week | Material | Textbook Sections |
---|---|---|
1 |
Introduction to AI; Properties of environments |
RN: Ch. 1, 2 ; Lug: Ch. 1 |
2 |
State space representation; Search: DFS |
RN: 3.1-3.2, 3.3; Lug: 3.1, 3.2 |
3 |
Search: BFS, iterative deepening |
RN: 3.4; Lug: 3.2 |
4 |
Search: heuristics, best first search, A* |
RN: 3.5, 3.6; Lug: 4.0, 4.2, 4.3 |
5 |
Search: adversarial search (minimax, 𝛼-𝛽 pruning) |
RN: 5.1-5.3; Lug: 4.4 |
6 |
Search: local search (hill climbing, simulated annealing, genetic algorithms) |
RN: 4.1; Lug: 4.1.1, 12.1 |
7 |
Logic and reasoning: propositional logic |
RN: 7-7.5; Lug: 2.1 |
8 |
Logic and reasoning: predicate logic |
RN: 8-8.3; Lug: 2.2 |
9 |
Review and midterm exam |
|
10 |
Logic and reasoning: Prolog |
RN: 9.4
|
11 |
Reasoning with uncertainty: Bayes rule, naive Bayes classifier |
RN: 12.1-12.6; Lug: 5.2-5.4 |
12 |
Reasoning with uncertainty: Bayesian networks |
RN: 13.1-13.2; Lug: 9.3.1-9.3.3 |
13 |
Reasoning with uncertainty: Bayesian networks (contd.) |
RN: 13.1-13.2; Lug: 9.3.1-9.3.3 |
14 |
Ethics of AI |
RN: 27.3 |
15 |
Project presentations |
|
finals |
final exam (covers material after midterm) |