Send Close Add comments: (status displays here)
Got it!  This site uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website.nbsp; Note: This appears on each machine/browser from which this site is accessed.
CS 496 SPRING 2020: Calendar


1. CS 496 SPRING 2020: Calendar

Note: This calendar and coverage is subject to change. Major changes to notes can happen until after that class meeting. Minor changes to notes can happen after that class meeting.
 CS496 sections: [29 meetings]
 CS496 calendar: [29 meetings]
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Jan 19
Jan 20
Jan 21
Jan 22
#1
Jan 23
Jan 24
Jan 25
Jan 26
Jan 27
#2
Jan 28
Jan 29
#3:  Q1 
Jan 30
Jan 31
:  A1 
Feb 1
Feb 2
Feb 3
#4
Feb 4
Feb 5
#5:  Q2 
Feb 6
Feb 7
:  A2 
Feb 8
Feb 9
Feb 10
#6
Feb 11
Feb 12
#7
Feb 13
Feb 14
:  A3 
Feb 15
Feb 16
Feb 17
#8:  Q3 
Feb 18
Feb 19
#9
Feb 20
Feb 21
:  A4 
Feb 22
Feb 23
Feb 24
#10:  Q4 
Feb 25
Feb 26
#11:  E1 
Feb 27
Feb 28
:  A5 
Feb 29
Winter Break
Mar 1
Winter Break
Mar 2
Winter Break
Mar 3
Winter Break
Mar 4
Winter Break
Mar 5
Winter Break
Mar 6
Winter Break
Mar 7
Winter Break
Mar 8
Winter Break
Mar 9
#12
Mar 10
Mar 11
#13:  Q5 
Mar 12
Mar 13
:  A6 
Mar 14
Mar 15
Mar 16
#14
Mar 17
Mar 18
#15:  Q6 
Mar 19
Mar 20
:  A7 
Mar 21
Mar 22
Mar 23
#16
Mar 24
Mar 25
#17:  Q7 
Mar 26
Mar 27
:  A8 
Mar 28
Mar 29
Mar 30
#18
Mar 31
Apr 1
#19
Apr 2
Apr 3
:  A9 
Apr 4
Apr 5
Apr 6
#20:  Q8 
Apr 7
Apr 8
#21:  E2 
Apr 9
Spring Break
Apr 10
Spring Break
Apr 11
Spring Break
Apr 12
Spring Break
Apr 13
Spring Break
Apr 14
Apr 15
#22:  Q9 
Apr 16
Apr 17
:  A10 
Apr 18
Apr 19
Apr 20
#23
Apr 21
Apr 22
#24:  Q10 
Apr 23
Apr 24
:  A11 
Apr 25
Apr 26
Apr 27
#25
Apr 28
Apr 29
#26:  Q11 
Apr 30
May 1
:  A12 
May 2
May 3
May 4
#27:  Q12 
May 5
May 6
#28:  E3 
May 7
May 8
Reading Day
May 9
Final Exams
May 10
Final Exams:  A13 
May 11
Final Exams:  A14 
May 12
Final Exams
May 13
#29:  F1 
May 14
Final Exams
May 15
Commencement
May 16
 CS496 meetings summary: [29 meetings]
 CS496 meetings details: [29 meetings]
Wed, Jan 22 : #1: Intro, software installation, checks, etc. [notes]
  • Robin Snyder: office hours and class times
  • Welcome to this class
  • Syllabus: CS 496 - Spring 2020
  • Introduction to computer science
  • Studying and learning
  • Data science: overview
  • Spring 2020 elective: CS 496 : Special topics (Introduction to data science)
  • The Python programming language
  • (the following is introductory programming material that is relevant to this course, review it and study the questions)
  • Python: A first program
  • Edit-compile-run in more detail
  • Installing the RIDES system
  • Added 2020-02-03:
  • Python 3 installation
  • Mon, Jan 27 : #2: Introduction to data science [notes]
  • Python version
  • JSON
  • Python JSON input
  • How to study multiple choice questions
  • Area of a trapezoid
  • Area using trapezoidal method
  • PyCharm IDE (look at this time, cover more next time, there is a portable version available)
  • Wed, Jan 29 : #3: Python [notes]
  • Q1: Quiz#1: 20 questions from lessons 1-2 (on Wed, Jan 29)
  • Pipes and redirection
  • The Python command line
  • Loops
  • Python integers
  • Python list processing
  • A1: Asmt#1: Integration using trapezoids (due Fri, Jan 31, available)
  • Mon, Feb 3 : #4: Python [notes]
  • Note: The following should be review from CS101 where I have added, or will cover, how Python differs from C and/or Java with respect to these topics. In some places C/C++ comments are still in the notes.
  • Python: Literals
  • Python: Variables
  • Python: Expressions
  • Python: Statements
  • Python: Output statements
  • Python: Input statements
  • Python: Assignment statements
  • Here are some topics that are more advanced.
  • Python: Strings
  • Python for statement
  • Python list comprehensions
  • Fibonacci numbers (write a short Python program to do this before coming to class)
  • Frequency distribution diagrams (background for A2)
  • Wed, Feb 5 : #5: Python [notes]
  • Q2: Quiz#2: 20 questions from lessons 3-4 (on Wed, Feb 5)
  • Python: Function arguments (covered last time)
  • Python: Types
  • Code and data driven programming
  • Python: Floating point approximations
  • Compiler generated code
  • Code improvement
  • A2: Asmt#2: Stem and leaf plot (due Fri, Feb 7, available)
  • Mon, Feb 10 : #6: Data science areas and ideas [notes]
  • Python usage between home and class.
  • Data science overview (for getting started with a project)
  • Data science ideas
  • Data science steps
  • Wed, Feb 12 : #7: Numerical computation [notes]
  • Word styles and formatting
  • Code relocatability
  • Data science ideas: initial
  • Data science and data
  • Natural language processing
  • PIE and translations
  • CAPTCHA overview
  • Python: Stack traces
  • Python: Code timing
  • Python: Comparison operator chaining
  • Module examples
  • OOP language examples
  • A3: Asmt#3: Data science proposal (due Fri, Feb 14, available)
  • Mon, Feb 17 : #8: Data representation and interoperability [notes]
  • Q3: Quiz#3: 20 questions from lessons 5-6 (on Mon, Feb 17)
  • Portable Applications
  • Data for data science projects
  • Python classes
  • Encoding issues in the data
  • Set theory for data science
  • Statistics: flipping coins
  • Data science: rolling dice
  • Decision trees
  • Wed, Feb 19 : #9: Word extraction from text [notes]
  • Python find and replace
  • Regular expressions
  • Regular expressions: Tester
  • String rewriting examples
  • Python: Word extraction
  • Word clouds using Python
  • Natural Language Parsing
  • A4: Asmt#4: Work survey data analysis (due Fri, Feb 21, available)
  • Mon, Feb 24 : #10: Data manipulation [notes]
  • Q4: Quiz#4: 20 questions from lessons 7-10 (on Mon, Feb 24)
  • Python: main
  • Python: Short circuit evaluation
  • Python: Ternary operator
  • Python simple statistics
  • Probability estimation
  • Matplotlib: charts
  • Regression testing
  • LCS in Python
  • Longest common subsequence
  • Wed, Feb 26 : #11: E1: Exam#1 [notes]
  • E1: Exam#1: 50 questions from lessons 1-10 (on Wed, Feb 26)
  • Note: Following added for comparison and to separate from other lesson questions.
  • Common computer terms and definitions
  • A5: Asmt#5: Data science project data (due Fri, Feb 28, available)
  • Mon, Mar 9 : #12: Visualization [notes]
  • Python: Slices
  • Python: Passing actual parameters
  • Data science: Insight and prediction
  • Data categories
  • Graphics coordinate systems
  • Matplotlib: DPI tricks and plot class and rsPlot module
  • Linear equations
  • Regression and correlation (we will finish this on Thursday)
  • Matplotlib: Linear regression
  • Simple linear relationships
  • Wed, Mar 11 : #13: Visualization: plots, colors [notes]
  • Q5: Quiz#5: 20 questions from lessons 10-12 (on Wed, Mar 11)
  • Python: Walrus operator
  • Truth tables: programmed method (as a non-trivial example of the Python walrus operator)
  • Matplotlib: subplots and image formats
  • Matplotlib: Chart types
  • Matplotlib:  Color models
  • A6: Asmt#6: Linear regression (due Fri, Mar 13, available)
  • Mon, Mar 16 : #14: Visualization: nominal data [notes]
  • Zoom recording: (login required)
  • Python: With statement
  • Summarizing data : The M&M Problem
  • Closeness: arithmetic and geometric progressions
  • Matplotlib: World population (to be finished next time)
  • Wed, Mar 18 : #15: Visualization [notes]
  • Q6: Quiz#6: 20 questions from lessons 12-14 (on Wed, Mar 18)
  • Zoom recording: (login required)
  • Python: Getters and setters
  • Math: Exponents and logarithms
  • Distributions and sampling
  • Python: Normal and exponential distributions
  • Data and information visualization
  • Prediction from data
  • A7: Asmt#7: Nominal data and Pareto chart (due Fri, Mar 20, available)
  • Mon, Mar 23 : #16: Data scraping [notes]
  • Python: Dates and time
  • Web scraping
  • XML: Extensible markup language
  • RSS: Really Simple Syndication
  • Python: Web scraping
  • Counting
  • Wed, Mar 25 : #17: Clustering, k-means [notes]
  • Q7: Quiz#7: 20 questions from lessons 15-16 (on Wed, Mar 25)
  • Zoom recording: (login required)
    • (first few minutes are black until screen shared)
  • Python: Iterators and generators
  • Data clustering
  • Equivalence relations: math
  • Customer matching
  • Euclidean distances
  • Map distances
  • K-Means clustering
  • Python: Clustering
  • A8: Asmt#8: Web scraping for data (due Fri, Mar 27, available)
  • Mon, Mar 30 : #18: Clustering: specific examples [notes]
  • (I forget to start recording, so no recording for this class meting, I went through the notes below during class, and went through after class to add anything I might have mentioned during the class)
  • Statistics: Odds ratio
  • Python: Zero
  • Entropy function
  • Lorem Ipsum text
  • Python: OpenXML docx files
  • Wed, Apr 1 : #19: Random sequences, suggestions, bar charts [notes]
  • Pseudorandom sequence
  • Raspberry Pi: random number generator
  • Python: map, filter, reduce
  • Misleading chart?
  • Auto-complete search terms
  • Cron jobs
  • Bar charts: Plain
  • A9: Asmt#9: Document generation (due Fri, Apr 3, available)
  • Mon, Apr 6 : #20: Decision trees and random forests [notes]
  • Q8: Quiz#8: 20 questions from lessons 17-19 (on Mon, Apr 6)
  • Zoom recording: (login required)
  • Python: Processing lists in reverse order
  • Python: Random class instances
  • Bar charts: Interesting (example and setup for later discussion)
  • Data flow case study (updated 2020-04-15)
  • Python: Diagrams with GraphViz (Python install and usage)
  • Graphviz: dot (non-Python install)
  • GraphViz: expression trees (non-Python usage)
  • The pitcher-batter problem (decision analysis against adversary, setup for decision trees)
  • Wed, Apr 8 : #21: E2: Exam#2 [notes]
  • E2: Exam#2: 50 questions from lessons 12-20 (on Wed, Apr 8)
  • Zoom recording: (login required)
  • We will have some class after the exam (details TBA). The exam takes only 20 minutes.
  • Measurement and error
  • XBox Kinect for measuring bone length
  • Wed, Apr 15 : #22: Zip data, decision analysis [notes]
  • Q9: Quiz#9: 20 questions from lessons 21 (on Wed, Apr 15)
  • Zoom recording: (login required)
  • Zip file compression
  • Matplotlib: 3D plots
  • Expected value: biased coin flips
  • Simple decision analysis (background, not covered in class)
  • Making decisions using information entropy


  • Note the quiz for today that covers some fundamental programming terms as might be covered in CS 101 but that is also applicable to Python and any programming language.
  • A10: Asmt#10: Zip data read (due Fri, Apr 17, available)
  • Mon, Apr 20 : #23: Natural Language Processing [notes]
  • Zoom recording: (login required)
  • Python: OpenXml pptx files
  • Python: Image animation using PIL
  • Distribution simulation
  • Python and NLTK
  • Python: NLTK and bi-chars
  • (the following are to get you thinking about data science models)
  • Models and reality
  • Murphy's Law
  • Regression to the mean


  • As we approach the end of the semester, you should finish and submit any work not submitted (except for programs where the solution was published - A1, A2, A4). The later the submission, the more the late deduction, but some points are better than no points.
    Wed, Apr 22 : #24: Bayesian statistics, naive Bayes classification [notes]
  • Q10: Quiz#10: 20 questions from lessons 18-19,22-23 (on Wed, Apr 22)
  • Zoom recording: (login required)
  • Models of duality
  • Conditional probability
  • Internet searches: Estimating probabilities
  • Predictive coding: precision and recall
  • Bayes Rule: Cancer testing
  • Computer literacy competency exams
  • Bayesian statistics and models (will pick up near the end of this page)
  • A11: Asmt#11: PowerPoint generation (due Fri, Apr 24, available)
  • Mon, Apr 27 : #25: Simpson's paradox, graphical models [notes]
  • Zoom recording: (login required)
  • Python: CSV files
  • Python: OpenXML xlsx files
  • Case study: color analysis
  • Influence diagrams
  • Graphical models
  • Simpsons paradox
  • Visualizing Simpson's Paradox
  • Wed, Apr 29 : #26: Topic modeling: LDA, LSI [notes]
  • Q11: Quiz#11: 20 questions from lessons 24-25 (on Wed, Apr 29)
  • Zoom recording: (login required)
  • Python: Canvas drawing and rsCanvas module
  • Topic modeling: overview
  • Latent Semantic Analysis
  • Topic models: Political news trends
  • Topic modeling: Conference proceedings
  • Recommendation engines
  • Hadoop, Mahaut, MapReduce, etc.
  • A12: Asmt#12: CSV to Excel generation (due Fri, May 1, available)
  • Mon, May 4 : #27: Gaussian mixture models [notes]
  • Q12: Quiz#12: 20 questions from lessons 25-26 (on Mon, May 4)
  • Topic model distributions
  • Hill climbing algorithms
  • Enron data
  • Data science: decision trees
  • Gini index
  • Python: decision trees
  • Inductive bias
  • Spam: filtering
  • Location text data conversion
  • Clustering example using cities
  • Wed, May 6 : #28: E3: Exam#3, data science summary [notes]
  • E3: Exam#3: 50 questions from lessons 21-27 (on Wed, May 6)
  • (the exam will not take long, we will have wrap-up and summary after the exam)
  • Python and JSON issues
  • NLP: Translation issues
  • Turtle graphics
  • Pandas
  • Regression, neural networks, and fuzzy approximation
  • Deep learning
  • Hammer and nail
  • A13: Asmt#13: Project write-up (due Sun, May 10, available)
  • A14: Asmt#14: Project future directions (due Mon, May 11, available)
  • Wed, May 13 : #29: F1: Final #1, final exam [notes]
  • F1: Final: 80 questions from lessons 1-28 (on Wed, May 13)
  • Final exam date and time (Zoom):
  • CS 496 : MW at 3:00-4:15 : Final is on Wed May 13 from 3:00-5:00 (Zoom)
  • Class contingency plans for COVID-19
  • Tutors: Spring 2020 (Zoom link for tutoring session added)
  • At class time, login to the web system. Then join the Zoom meeting.
  • Outside of class, click time on the "Let's Chat!" (lower right of web page) to connect and ask questions.