Site Home Page Notebook Collection Syllabus Fall 2020 JupyterHub (@atomickitty.aws) JupyterHub (@atomickitty.net)

CECE ENGR-1330 Psuedo Course

Welcome to the CECE ENGR-1330 Psuedo course support site. This site is created to provide supplimental materials for CECE students in EGR-1330 Computational Thinking, as well as other students in CECE who may have a need to do some programming in their other courses. At the present this site supports python 3.8 in the JupyterLab Notebook environment.

This psuedo-course website is a library of course content organized to parallel the actual ENGR-1330 course and is intdented as a suppliment to that course; this site is currently not running within a Learning Manegement System (LMS), although the host server has one installed. The lesson collection is a place where I put prototype lessons for eventual migration to the actual course. Each lesson (below) may contain worked python/ipython solutions to specific, narrow-scope, problems. The notebook collection contains worked python/ipython solutions to specific, narrow-scope, problems. The intent is that one can construct meaningful programs by scaffolding the needed examples here, binding them, and running their own unique problems.

JupyterLab (Python kernel) and Programming

Lesson 1 Introduction to Computational Thinking

Lesson 2 Programming Principles: Variable types; operators (*,/,+,- .....)

Lesson 3 Programming Principles: Data types; integer; real; string ; lists

Lesson 4 Programming Principles: Conditionals; IF ... THEN, program flow control; for loops; while loops.

Lesson 5 Programming Principles: Functions (Built-in); User built prototype functions

Lesson 6 Programming Principles: Objects, classes; File manipulation

Python Data Science External Modules

Lesson 7 Data Science: Data models and operations; NumPy Package

Lesson 8 Data Science: Dataframes; Query and Manipulation; Pandas Package

Lesson 9 Data Science: Exploratory Data Analysis; ECharts and Graphs; MatPlotLib Package

Data Modeling: The Statistical Approach

Lesson 10 Data Modeling: Causality and Randomness

Lesson 11 Data Modeling: Probability; Relative frequency and uninformed Bayesian concepts

Lesson 12 Data Modeling: Descriptive Statistics

Lesson 13 Data Modeling: Distributions

Lesson 14 Data Modeling: Probability Estimation Modeling

Lesson 15 Data Modeling: Hypothesis testing: General concept and examples of assessing models.

Lesson 16 Data Modeling: Hypothesis testing: Comparing proportions, Type 1 & 2 Errors, p-value.

Lesson 17 Data Modeling: Comparing two samples: A/B Testing

Lesson 18 Data Modeling: Interval estimation (aka: confidence intervals)

Data Modeling: The Regression Approach

Lesson 19 Data Modeling: Linear Algebra of Equation Fitting

Lesson 20 Data Modeling: Estimation Modeling by Regression

Lesson 21 Data Modeling: Regression Performance Metrics

Lesson 22 Data Modeling: Logistic Regression (a type of classification)

Data Modeling: Machine Learning Approach

Lesson 23 Machine Learning: Correlation

Lesson 24 Machine Learning: Classification;Supervised learning; Nearest neighbor

Lesson 25 Machine Learning: Decision Making: Confusion matrix, precision, recall, accuracy, F-score.

Lesson 26 placeholder

Lesson 27 placeholder

Lesson 28 placeholder

Lesson 29 placeholder

Lesson 30 placeholder

Lesson 31 placeholder

Lesson 32 placeholder

Lesson 33 placeholder

Lesson 34 placeholder

Lesson 35 placeholder

Lesson 36 placeholder

This section is a collection of notebooks, categorized by topic.

The directories are organized into single topics. Within each directory there will be an HTML file, which is the notebook run once through a rendering program to make a static content file -- i.e. what the notebook should look like without errors (syntax errors are suppressed). The notebook itself is the filename.ipynb file. There is a .tar file which can be downloaded, extracted, and run on your own instance of JupyterLab on your own machine.The link will take you to the directory where the notebook is housed, somethng like the image below.

If you simply want to look at the notebook, rendered as a web page, select the .html file. Otherwise select and download the .ipynb file. If there are other files, they are usually needed too. In complete examples with multiple files required there will be a .zip file which will contain all the depnedencies, download that file, extract and you can run the notebook.

Python Programming

Hello World Classic first program

Variables and Operators Variable types; operators (*,/,+,- .....)

Variables and Operators Data types; integer; real; string ; lists

Conditionals IF ... THEN, program flow control; for loops; while loops.

Sorting Sorting lists

Numerical Integration Definite integrals of functions (NOT symbolic manipulation)

Tabular Data Integration Integration of Tabular Data

Approximation of Derivatives Finite difference approximation of derivatives; directional derivatives

Newton's Method Root finding by classical and quasi-newton methods; single variable.

User-built functions Prototype functions for program clarity and memory leak reduction

Assorted Numerical Methods

Numerical Linear Algebra Matrices and vectors as lists of lists (python primative). Does not require numpy

Matrix Inversion

Systems of Linear Equations Jacobi iteration; Gaussian reduction; with pivoting, use of numpy tools

Linear Systems Applications Statically determinate truss by method of joints and numerical linear algebra, uses Gaussian reduction; with pivoting (as python primatives)

Linear Systems Applications Water quality in series reactors with feedback

Linear Systems Applications Linear heat flow in media with varying thermal properties

Non-linear systems Simultaneous systems of non-linear equations; Newton-Raphson with analytical derivatives; Quasi-Newton using finite differences to approximate detrivatives, Linearization by method of darts

Application of Non-linear Systems Flow and pressure in pipeline networks.

Statistics and Data Science Applications

Get data from a URL Script to retrieve and load a database without making a copy of the remote file

Parametric and Non-Parametric Tests Two (2) notebooks with various examples, using data from field studys, small sample sizes

Evaporation analysis is global dimming having an impact on climatic behavior?

Solids in Rivers Estimating river bed load transport mass using weighted n-Nearest neighbor database lookup compared to regression equations

Concrete Strength Prediction Concrete Strength Estimation using Random Forests Model of Observations in a Database

Time Series (Stock Prices) Time series analysis using ARIMA and seasonal decomposition models

Artifical Neural Network for Image Classification ANN to classify images of hand drawn numerals

Data Interpretation/Presentation Applications

Artifical Neural Network for Image Classification ANN to classify images of hand drawn numerals

Gridding XYZ data; Contour plotting

DAT.src Example Data Files

Notebook Collection FTP-type directory listing for the Notebook -- For development, and maintenance

Excel Spreadsheets Source files for spreadsheets

Site Tour A tour of this website

SharePYTHON Tour A tour of the SharePYTHON site where you can run the notebooks yourself!

Install Anaconda macOS Video showing install onto a bare-iron Catalina implementation. (Recorded 19 June 2020)

Install Anaconda win10 Video showing install onto a Windows 10 Build XXXX implementation

SharePYTHON Environment The vnc#007 shared python environment; remember to disconnect before closing the browser!

PLACEHOLDER describe

Reading Collection Local to thi s erver

Computational and Inferential Thinking Ani Adhikari and John DeNero, Computational and Inferential Thinking, The Foundations of Data Science, Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND)

  • youtube video how to install anaconda macOS uploaded 19 June 2020
  • youtube video how to install anaconda win10 uploaded 20 June 2020
  • website public 4 June 2020 (via symlink from www.rtfmps.com)
  • website create 23 May 2020 (hosted on atomickitty.ddns.net)