Python Programming

Required course materials for Python Programming class must be purchased from zybooks.com for an additional $64. Full instructions will be provided at the first class.

You may use any of the Python Editors – PyCharm, Spyder, Visual Studio Code, Jupyter Notebook, Google Colab or zybooks web based programming environment to execute programs.

This is a non-credit course. This means that students do not get a grade or transcript, and do not earn credits that are transferable to another program or institution. zybooks course material auto grades the assignments.

Topics covered in Python Programming course

  • Variables and expressions
  • Branching
  • Loops
  • Functions
  • Lists and Dictionaries
  • Exceptions
  • Classes

Furthermore, this class emphasizes on disciplined program development, including incremental development and modular development.

Additional paper book references for Python Programming

  • Automate the Boring Stuff with Python by Al Sweigart
  • Beyond the Basic Stuff with Python by Al Sweigart
  • Effective Python by Brett Slatkin (Pearson)
  • Fluent Python by Luciano Ramalho (O’Reilly)
  • Python Cookbook, Third Edition, by David Beazley and Brian K. Jones (O’Reilly)

Introduction to Python Data Analysis

Course material will be covered from Python Data Analysis Third Edition by Wes McKinney. Course material is not mandatory for this class. Full instructions will be provided at the first class.

You may use any of the Python Editors – PyCharm, Spyder, Visual Studio Code, Jupyter Notebook, Google Colab. This is a non-credit course. This means that students do not get a grade or transcript, and do not earn credits that are transferable to another program or institution.

Prior Python programming knowledge is required. Basic high school math on statistics and probability is helpful. This course helps to learn Python’s data science stack–libraries such as NumPy, Pandas, Matplotlib and related tools–to effectively store, manipulate, and gain insights from data. Topics covered in Intro to Python Data Analysis are

  • NumPy: this library provides the ndarray for efficient storage and manipulation of dense data arrays in Python
  • Pandas: this library provides the DataFrame for efficient storage and manipulation of labeled/columnar data in Python
  • Matplotlib: this library provides capabilities for a flexible range of data visualizations in Python

Additional references for Python Data Analysis

  • Python for Data Analysis 3rd-Edition – Wes McKinney
  • Python Data Science Handbook – Jake VanderPlas
  • Numerical Python 2nd Edition – Robert Johansson
  • Github CookieCutter Data Science Project Template https://github.com/drivendata/cookiecutter-data-science
  • Seaborn by Kimberly Fessel https://www.youtube.com/watch?v=vaf4ir8eT38&list=PLtPIclEQf-3cG31dxSMZ8KTcDG7zYng1j

Introduction to Python Machine Learning

Course material will be covered from

  • Hands on ML with Scikit-Learn, Kearas and Tensor Flow by Aurélien Géron (Chapters 1 through 7)
  • An introduction to Statistical Learning (Springer)

Full instructions will be provided at the first class.

You may use any of the Python Editors – PyCharm, Spyder, Visual Studio Code, Jupyter Notebook, Google Colab. This is a non-credit course. This means that students do not get a grade or transcript, and do not earn credits that are transferable to another program or institution.

Prior Python programming, Python Data Science libraries like numpy, pandas, matplotilb and seaborn knowledge is required. Basic high school math on statistics, probability and linear algebra is helpful. Course will be more focused on using scikit learn Python library rather than on the mathematics of machine learning.

This course focuses on Supervised Machine Learning Algorithms (Chapters 1 through 7 Aurélien Géron)

  • Understand principles behind machine learning problems such as regression and classification
  • Implement and analyze linear and non-linear models
  • Choose suitable models for different applications
  • Implement and organize machine learning projects, from training, validation, feature engineering etc.

Topics covered in this course are:

  • Linear Regression (Linear Algorithms)
  • Logistic Regression (Non-Linear Algorithms)
  • Decision Trees (Non-linear Algorithms)
  • Support Vector Machines (Non-linear Algorithms)
  • Bagging and Random Forest (Ensemble Algorithms)
  • Bias Variance trade off
  • Overfitting and Underfitting
  • K-Nearest Neighbors (Non-linear Algorithms Optional)
  • XG Boost (Optional)

Book references for Machine Learning

  • Introduction to Machine Learning with Python A Guide for Data Scientits by Andreas C Muller and Sarah Guido (O’reilly)
  • Python Machine Learning 3rd Edition by Sabastian Raschka (Packt)
  • Elements of Statistical Learning Second Edition (Springer)

Java Programming

Required course materials for Java Programming class must be purchased from zybooks.com for an additional $58. Full instructions will be provided at the first class.

You can use zybooks online platform to execute programs.

This is a non-credit course. So there are no tests or no grading. zybooks course material auto grades the assignments.

  • Variables and expressions
  • Branching
  • Loops
  • Functions
  • Java collections
  • Exceptions
  • Classes