Credit Degree applicable  Effective Quarter: Fall 2020  I. Catalog Information
 CIS 9  Introduction to Data Science  4 1/2 Unit(s) 
 Prerequisite: CIS 41A. Lec Hrs: 48.00
Lab Hrs: 18.00
Out of Class Hrs: 96.00
Total Student Learning Hrs: 162.00 This course is an introduction to data science, which covers data analytics and machine learning. Topics covered include data gathering and data wrangling, data assessment and visualization, supervised and unsupervised machine learning, natural language processing. 
 Student Learning Outcome Statements (SLO)
  Collect, clean, analyze, and visualize data to meet and defend a measured objective. 
  Gather data and choose a model to train and tune the machine learning tool and interpret the result 

II. Course Objectives A.  Define and describe data science concepts 
B.  Apply mathematics and statistics building blocks 
C.  Apply programming constructs in data science 
D.  Collect data from multiple sources 
E.  Apply data wrangling techniques 
G.  Visualize and present data 
H.  Apply a learning framework 
I.  Evaluate supervised learning 
J.  Evaluate unsupervised learning 
K.  Evaluate natural language processing 
III. Essential Student Materials IV. Essential College Facilities  Computer lab with computers running the Python interpreter and Anaconda package 
V. Expanded Description: Content and Form A.  Define and describe data science concepts 
1.  The role of data analytics 
2.  Machine learning application 
B.  Apply mathematics and statistics building blocks 
1.  Linear algebra  notation, vector and matrix operations 
2.  Statistics  measurement such as mean, median, mode, standard deviation, outlier, correlation, confidence interval 
C.  Apply programming constructs in data science 
D.  Collect data from multiple sources 
E.  Apply data wrangling techniques 
1.  Exploratory data analysis 
2.  Data filtering, sorting 
3.  Searching, retrieving data 
G.  Visualize and present data 
1.  Univariate and multivariate plots 
H.  Apply a learning framework 
2.  Learning and predicting 
I.  Evaluate supervised learning 
2.  Evaluating model success 
J.  Evaluate unsupervised learning 
K.  Evaluate natural language processing 
1.  Rule based and statistical NLP 
VI. Assignments A.  Reading: required reading from textbook and classnotes 
B.  Programs: 68 programming homework assignments, several with 100 or more lines of code. 
VII. Methods of Instruction  Lecture and visual aids
Discussion of assigned reading
Discussion and problem solving performed in class
Inclass exploration of Internet sites
Quiz and examination review performed in class
Homework and extended projects
Collaborative learning and small group exercises
Collaborative projects
Laboratory discussion sessions and quizzes that evaluate the proceedings weekly laboratory exercises

VIII. Methods of Evaluating Objectives A.  Evaluation of programming assignments and reports for correctness, use of design principles, documentation and efficiency. 
B.  One or more examinations requiring programming ability to develop an algorithm, evaluate code segments, and write code using theories presented in the course. 
C.  Inclass lab problems, group collaborative problems, exam questions and/or online assignments or tutorials demonstrating the ability to read and analyze code through debugging and/or writing snippets of code. 
D.  A final examination requiring programming ability to develop algorithms, evaluate code segments, and write code using theories presented in the course. 
IX. Texts and Supporting References A.  Examples of Primary Texts and References 
1.  Igual, Laura and Segui, Santi: Introduction to Data Science, 1st Edition. Springer. ISBN 9783319500171. 2017 
2.  Saltz, Jeffrey: An Introduction to Data Science, 1st Edition, Sage Publishing, ISBN: 9781506377537, 2018 
B.  Examples of Supporting Texts and References 
1.  Hasti, Trevor: The Elements of Statistical Learning, 2nd Edition, Springer, ISBN: 9780387848570, 2017 
X. Lab Topics A.  Present, evaluate, and explain the role and application of data science in modern life. 
B.  Solve mathematical and statistical problems with large data sets. 
C.  Write code to perform mathematical and statistical work on input data to produce and present the result. 
D.  Write code to locate and read data from multiple types of data source. 
E.  Write code to join, validate, and clean input data to prepare for analysis. 
F.  Write code to filter, search, sort data to arrive at a conclusion on the data trend. 
G.  Write code to utilize the appropriate plots to visualize data. 
H.  Write code to work with a machine learning model to train and predict data. 
I.  Write code to provide input data for a machine learning model for unsupervised learning. 
J.  Write code to process text and predict outcome. 
