14_07-ReverseList.ipynb09_c-TitanicERROR.ipynb Prof. Mak: DATA 200 Computational Programming for Analytics

San Jose State University : Site Name


Main Content

Buddy likes to climb trees.

Ronald Mak

Department of Computer Science
Department of Applied Data Science
Engineering Extended Studies
Spring Semester 2024

Office hours: TuTh 4:30 – 5:30 PM Clark Hall CL 325
Office location: Clark Hall CL 325 (mostly working from home)
E-mail: ron.mak@sjsu.edu

DATA 200 Computational Programming for Analytics

Section 21: Th 6:00 - 8:45 PM

Click for:
Open student internships
at the NASA Ames Research Center

Check regularly. Positions open sporadically.


# Assigned Due Assignment
1 Feb 1 Feb 8 Initial program and notebook
2 Feb 8 Feb 15 If statements and loops
3 Feb 15 Feb 22 Watering Plans
4 Feb 22 Feb 29 Monty Hall Puzzle
5 Feb 29 Mar 7 Dictionaries and Sets
6 Mar 7 Mar 14 Matrix Multiplication with numpy
7 Mar 14 Mar 21 SJSU Administrators and Professors
8 Mar 21 Mar 28 Simple Data Analysis
9 Mar 28 Apr 11 Roman Numerals
Expressions: expressions.txt
Test notebook: RomanNumeralTests.ipynb
10 Apr 11 Apr 18 Dataframes and Simple Bar Charts
Input data file: covid_data.csv
11 Apr 18 Apr 25 matplotlib Graphs
12 Apr 25 May 2 pandas and seaborn Graphs
13 May 2 May 9 Autogeneration and Recursion


Week Date Content
1 Jan 25 Slides: Introduction; goals of the course; waiver test
2 Feb 1 Slides: Python's role in data analytics; software installations; ways to run Python code; introduction to Python programming

Notebooks: 02_02.ipynb   02_03.ipynb   02_04.ipynb   02_05.ipynb   02_06.ipynb   02_07.ipynb   02_08.ipynb   02_09.ipynb   AgeHistogram.ipynb
Python programs: RollDieDynamic.py   FindMin.py
3 Feb 8 Slides: Python control statements; augmented assignments; formatted strings; range function; decimal package; Boolean operators; measures of central tendency; assignment #2

Notebooks: 03_05.ipynb   03_06.ipynb   03_07.ipynb   03_08.ipynb   03_09.ipynb   03_10.ipynb   03_11.ipynb   03_13.ipynb   03_14.ipynb   03_15.ipynb   03_16.ipynb   03_17.ipynb
4 Feb 15 Slides: Functions; program design and development; Assignment #3

Notebooks: 04_02.ipynb   04_03.ipynb   04_04.ipynb   04_05.ipynb   04_07.ipynb   04_08.ipynb   04_09.ipynb   04_10.ipynb   04_11.ipynb   04_12.ipynb   04_13.ipynb   04_14.ipynb   04_15.ipynb   NumberTranslator-1.ipynb   NumberTranslator-2.ipynb   NumberTranslator-3.ipynb   NumberTranslator-4.ipynb   NumberTranslator.py
5 Feb 22 Slides: Lists and tuples; Assignment #4

Notebooks: 05_02.ipynb   05_03.ipynb   05_04.ipynb   05_05.ipynb   05_06.ipynb   05_07.ipynb   05_08.ipynb   05_09.ipynb   05_10.ipynb   05_12.ipynb   05_15.ipynb   05_16.ipynb   Scope.ipynb
6 Feb 29 Slides: Dictionaries and sets

Notebooks: 06.02.01.ipynb   06.02.02.ipynb   06.02.03.ipynb   06.02.04.ipynb   06.02.05.ipynb   06.02.07.ipynb   06.02.08.ipynb   06.02.09.ipynb   06.03.00.ipynb   06.03.01.ipynb   06.03.02.ipynb   06.03.03.ipynb   06.03.04.ipynb
7 Mar 7 Slides: numpy; matrix operations

Notebooks: 07_02.ipynb   07_03.ipynb   07_04.ipynb   07_05.ipynb   07_06.ipynb   07_07.ipynb   07_08.ipynb   07_09.ipynb   07_10.ipynb   07_a-Scores-list.ipynb   07_b-Scores-array.ipynb   07_c-RandomSampling.ipynb   07_d-MatrixOperations.ipynb
8 Mar 15 Slides: A deeper look at strings; regular expressions

Notebooks: 08_02.01.ipynb   08_02.02.ipynb   08_02.03.ipynb   08_03.ipynb   08_04.ipynb   08_05.ipynb   08_06.ipynb   08_07.ipynb   08_08.ipynb   08_09.ipynb   08_10.ipynb   08_11.ipynb   08_12.01.ipynb   08_12.02.ipynb   08_12.03.ipynb   08_REpractice.ipynb
9 Mar 21 Slides: File I/O; reading and writing CSV files; analysis of Titanic survival data

Notebooks: 09_03.01.ipynb   09_03.02.ipynb   09_04.ipynb   09_05.ipynb   09_08.01.ipynb   09_08.02.ipynb   09_09.ipynb   09_10.ipynb   09_11.ipynb   09_12.01.ipynb  
Copy file program: 9_a-copy_file.py
Analysis of Titanic survival data: 09_b-TitanicSurvival.ipynb    09_c-TitanicERROR.ipynb    TitanicSurvival.csv
10 Mar 28 Slides: Object-oriented programming; Python classes and subclasses; polymorphism; Assignment #9

Notebooks: 10_02.01.ipynb   10_02.02.ipynb   10_03.ipynb   10_04.01.ipynb   10_04.02.ipynb   10_04.03.ipynb   10_06.01.ipynb   02.ipynb   10_06.03.ipynb   10_06.04.ipynb   10_06.04.ipynb   10_07.ipynb   10_08-a.ipynb   10_08-b.ipynb   10_14.ipynb
Modules: account.py   accountdoctest.py   card.py   commissionemployee.py   deck.py   fraction.py   salariedcommissionemployee.py   timewithproperties.py
Card images: card_images.zip
11 Apr 11 Slides: Advanced numpy; pandas module; Series; DataFrame

Notebooks: 11-1.ipynb   11-2.ipynb   11-3.ipynb   11-4.ipynb   11-5ipynb   11-6.ipynb   11-7.ipynb   11-8.ipynb   11-9.ipynb
CSV data file: data.csv
12 Apr 18 Slides: Data visualization; matplotlib graphs

Notebooks: 12-02-SimpleVisualization.ipynb   12-03-LineGraphs.ipynb   12-04-BarCharts.ipynb   12-05-PieCharts.ipynb   12-06-StackedBarCharts.ipynb   12-07-StackedAreaChart.ipynb   12-08-HistogramBoxPlots.ipynb   12-09-ScatterPlots.ipynb   12-10-Subplots.ipynb   12-11-RadarCharts.ipynb   12-12-GridSpec.ipynb   12-13-ScatterHistogram.ipynb   12-14-DisplayImages.ipynb 12-01-FigureAnnotated.ipynb  
CSV data files: AAPL_data.csv   AMZN_data.csv   FB_data.csv   GOOGL_data.csv   MSFT_data.csv   anage_data.csv   movie_scores.csv   restaurant_bills.csv   smartphone_sales.csv   water_usage.csv
Images: images.zip
13 Apr 25 Slides: Graphs from pandas; graphs from seaborn

Notebooks: 13-01-MoreMatplotlib.ipynb   13-02-PandasStockPrices.ipynb   13-03-PandasCovid.ipynb   13-04-PandasEarthquake.ipynb   13-05-Seaborn.ipynb   13-06-SeabornBoxPlots.ipynb   13-07-SeabornColor.ipynb   13-08-SeabornHeatmap.ipynb   13-09-SeabornBarChart.ipynb   13-10-Seaborn-KDE.ipynb   13-12-SeabornViolin.ipynb   .13-13-SeabornFacetipynb   13-14-SeabornRegression.ipynb   13-15-SeabornSquarify.ipynb
CSV data files: anage_data.csv   basic_details.csv   covid19_cases.csv   earthquakes.csv   fb_stock_prices_2018.csv   flight_details.csv   Iris.csv   movie_scores.csv   salary.csv   scores.csv   water_usage.csv   youtube.csv
14 May 2 Slides: Collections module; autogenerated classes; linear and binary searches; recursion

Notebooks: 14_01-Counter.ipynb   14_02-NamedTuple.ipynb   14_03-Autogenerate.ipynb   14_04-UsingAutogenerate.ipynb   14_05-LinearSearch.ipynb   14_06-BinarySearch.ipynb   14_07-ReverseList.ipynb   14_08-TowersOfHanoi.ipynb   14_09-RecursiveBinarySearch.ipynb
Python classes: carddataclass.py   deck2.py
15 May 9 Slides: Generator expressions; lambda expressions; insertion sorting; quicksort algorithm; GUI programming

Notebooks: 15_01-GeneratorExpressions.ipynb   15_02-LambdaExpressions.ipynb   15_03-InsertionSort-Trace.ipynb   15_04-InsertionSort-Graphed.ipynb   15_05-Partitioning.ipynb   15_06-Quicksort-Traced.ipynb   15_07-n_log_n.ipynb   15_08-Quicksort-Graphed.ipynb
Modules: quicksort.py   insertionsort.py
Titanic GUI examples: TitanicCounts.ipynb   titanic_counts.ui   titanic_counts.py   TitanicCountsMain.py   titanic_passengers.ui   titanic_passengers.py   TitanicPassengersMain.py   TitanicSurvival.csv


This course emphasizes learning the Python programming language and its libraries well enough to develop data analytics notebooks and applications. Class meetings will encourage high class participation. Mini-labs during each class meeting will give you opportunities to try what you just learned.

Course Learning Outcomes (CLO)


Admission into MS in Data Analytics and instructor consent.

Recommended Books

Python for Everyone, Edition 2.0

Cay Horstmann and Rance Necaise
Wiley, 2019
ISBN 978-1-943153-67-1

An excellent book for beginning programmers. Dr. Horstmann was a professor in the Computer Science Department at SJSU.
Intro to Python for Computer Science and Data Science:
Learning to Program with AI, Big Data and The Cloud

Paul Deitel and Harvey Deitel
Pearson Education, 2019
ISBN 978-1107186125

Another excellent book for beginning programmers, more focused on data science.
Python for Programmers with Introductory AI Case Studies

Paul Deitel and Harvey Deitel
Pearson Education, 2019
ISBN 978-0135224335

Essentially the same book as the one above but without the introductory material for beginning programmers. The first part of the class will be based on the first ten chapters of this book.
Hands-On Data Analysis with Pandas, second edition

Stephanie Molin
Packt Publishing, 2021
ISBN 978-1-80056-345-2

The last part of the class will be based on the first two sections of this book.

Useful Websites