Download this page as a jupyter notebook at ENGR-1330-2022-1-Syllabus The syllabus changes from time-to-time The webpage may become obsolete; the jupyter notebook is always current.
%%html
<style>
table {margin-left: 0 !important;}
</style>
Introducion to Python programming, its relevant modules and libraries, and computational thinking for solving problems in Data Science. Data science approaches for importing, manipulating, and analyzing data. Modeling and visualizing real-world data sets in various science and engineering disciplines.
3 credit hours comprising of lectures and hands-on lab sessions.
This course provides a hands-on learning experience in programming and data science using iPython and JupyterLab. iPython is the interactive python kernel implemented in JupyterLab.
Prior programming background is NOT required. The course is intended for first-year WCOE students (aka engineering foundational)
If Texas Tech University campus operations are required to change because of health concerns related to the COVID-19 pandemic, it is possible that this course will move to a fully online delivery format. Should that be necessary, students will be advised of technical and/or equipment requirements, including remote proctoring software.
Policy on absences resulting from illness: We anticipate that some students may have extended absences. To avoid students feeling compelled to attend in-person class periods when having symptoms or feeling unwell, a standard policy is provided that holds students harmless for illness-related absences (see Section A below).
If at any time during the semester you are ill, in the interest of your own health and safety as well as the health and safety of your instructors and classmates, you are encouraged not to attend face-to-face class meetings or events. Please review the steps outlined below that you should follow to ensure your absence for illness will be excused. These steps also apply to not participating in synchronous online class meetings if you feel too ill to do so and missing specified assignment due dates in asynchronous online classes because of illness.
If you are ill and think the symptoms might be COVID-19-related:
If you are ill and can attribute your symptoms to something other than COVID-19:
Following the steps outlined above helps to keep your instructors informed about your absences and ensures your absence or missing an assignment due date because of illness will be marked excused. You will still be responsible to complete within a week of returning to class any assignments, quizzes, or exams you miss because of illness.
Same as above with respect potential to infect others; go to a health care provider if you are ill. Telepresence courses are recorded and will be available on TTU MediaSite and/or YouTube (unlisted). Exercises, Quizzes, and Examinations are all administered by a Learning Management System (Blackboard) and students need to allow enough time to complete and upload their work. Due date adjustments/late submits on case-by-case basis; documentation required as in subsection A above.
Update #1: Provost 13 Aug 2021 Pandemic Guidance
Update #2: Provost 27 Aug 2021 Pandemic Guidance
Lesson time, days, and location:
Section 001
Section 013
Instructor: Theodore G. Cleveland, Ph.D., P.E., M. ASCE, F. EWRI
Email: theodore.cleveland@ttu.edu (put ENGR 1330 in subject line for email related to this class)
Office location: CE 203F
Office hours: 1300-1400 M-F by Zoom appointment
Teaching Assistant: Josh Archer
Email : josh.archer@ttu.edu (put ENGR 1330 in subject line for email related to this class)
Office location: (Zoom)
Office hours: TBD or by Zoom appointment
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 4.0). Link: https://www.inferentialthinking.com/chapters/intro
Theodore G. Cleveland, Farhang Forghanparast, Dinesh Sundaravadivelu Devarajan, Turgut Batuhan Baturalp (Batu), Tanja Karp, Long Nguyen, and Mona Rizvi. (2021) Computational Thinking and Data Science: A WebBook to Accompany ENGR 1330 at TTU, Whitacre College of Engineering, DOI (pending)
On completion of the course, students will have
Computer Science:
Anaconda platform https://www.anaconda.com/: Anaconda distribution is an open-source Data Science Distribution Development Platform. It includes Python 3 with over 1,500 data science packages making it easy to manage libraries and dependencies. Available in Linux, Windows, and Mac OS X.
Jupyter https://jupyter.org/: JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data. JupyterLab is flexible: Configure and arrange the user interface to support a wide range of workflows in data science, scientific computing, and machine learning. note
Anaconda for MacOS includes a JupyterLab instance, so a separate install is not required.
The college of engineering has specific laptop requirements for your other courses that are listed at https://www.depts.ttu.edu/coe/dean/engineeringitservices/buyingtherightcomputer.php
Blackboard is used as the learning management system (LMS) for this class, and it uses web links to a content server at http://54.243.252.9/engr-1330-webroot/ The Blackboard links will generally go directly to a section in the webroot, as do the internal links in the schedule, but feel free to explore by going in the front door!
(200 cumulative minutes)
date | lesson topics | links | laboratory topics |
---|---|---|---|
12Jan22 | Introduction - Syllabus - Computational Thinking Principles - JupyterLab Environment |
Lesson 0 Lab 0 Exercise Set 0 |
Setting up a computational environment - Anaconda (PC/Mac) - Tour of Anaconda - Anaconda on AWS - Installing packages (conda/pip) |
14Jan22 | Data Science and Problem Solving - Data Science Principles - 6-step protocol - Attribution via CCMR |
Lesson 1 Lab 1 Exercise Set 1 |
iPython/JupyterLab fundamentals - Code cells - Markdown cells - Exporting to a pdf |
(600 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
17Jan22 | MLK Holiday | ||
19Jan22 | Expressions - fundamental operators - arithmetic expressions - simple output: print() |
Lesson 2 Lab 2 Exercise Set 2 |
iPython/JupyterLab arithmetic - Expressions - Simple Output |
21Jan22 | Data Types and Typecasting - integer, float, string, boolean - String functions and operations - How to Build a Notebook (problem solving) |
Lesson 3 Lab 3 Exercise Set 3 |
iPython/JupyterLab Data Types - int(),str(),float(),bool() - typecasting - string position indices |
(900 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
24Jan22 | User interaction - input() - triple quotes - string manipulation - special characters |
Lesson 4 Lab 4 Exercise Set 4 |
iPython/JupyterLab I/O exercises - input() - type casting - output formats - concatenation to build output strings |
26Jan22 | Data Structures - lists, arrays, tuples, sets, dictionaries - Names, position, index, contents - position keys |
Lesson 4.1 Lab 4.1 Exercise Set 4.1 |
iPython/JupyterLab Lists - Lists - dictionaries - using keys - position indices |
28Jan22 | Flow Control Structures - Sequence - Selection - Repetition - Loop structures - Flowcharts; Psuedocode |
Lesson 5 Lab 5 Exercise Set 5 |
iPython/JupyterLab Sequence, Selection, and Loops - FOR loops - range() function - WHILE loops - Error trapping try ... except structure |
(1920 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
31Jan22 | Functions - Intrinsic (core) - Common external - User written - Saving user written as a module |
Lesson 6 Lab 6 Exercise Set 6 |
iPython/JupyterLab Functions - import packages - aliasing - user defined - save as a file for later import |
2Feb22 | Data Files - open/read/close - open/write/close - create/append/delete |
Lesson 7 Lab 7 Exercise Set 7 |
iPython/JupyterLab file manipulation - open/close/create/delete - reading into lists - writing output - reading a file from a website (unencrypted http:) |
4Feb22 | Snow Day |
(2400 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
7Feb22 | **Exam 1** - In class 25 multiple choice questions |
none | - In lab programming problem(s) |
9Feb22 | Vectors and Matrices (as lists) - Vector/Matrix Addition/Multipication - Matrix Inversion (Concept of multiplicative inverse) - Systems of Linear Equations - Gaussian Reduction (Optional) |
Lesson 8 Lab 8 Exercise Set 8 |
iPython/JupyterLab file manipulation - open/close/create/delete - reading into lists - writing output |
11Feb22 | Data Files (continued) - reading from a website |
Lesson 7.1 Lab 7.1 Exercise Set 7.1 |
iPython/JupyterLab file manipulation - open/close/create/delete - reading into lists - writing output - reading a file from a website (unencrypted http:) |
(2880 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
14Feb22 | Vectors and Matrices (using NUMPY) - Vector/Matrix Addition/Multipication - Matrix Inversion (Concept of multiplicative inverse) - Solving Linear Systems of Equations |
Lesson 9 Lab 9 Exercise Set 9 |
iPython/JupyterLab file manipulation - open/close/create/delete - reading into lists - writing output |
16Feb22 | Database Concepts - Records - Fields - Relational model - Unique record identifier/Primary Key |
Lesson 11 Lab 11 Exercise Set 11 |
Flat-File Database - Searching a list - Sorting a list (without sort method) |
18Feb22 | Databases using PANDAS - Create tables – Examine/extract contents - Functions on elements |
Lesson 12 Lab 12 Exercise Set 12 |
PANDAS Data frames: - Create, index, summarize statistics - fill and drop values - read/write to file |
(3660 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
21Feb22 | Plotting - Plot types - Plot uses - Graphing conventions |
Lesson 14 Lab 14 Exercise Set 14 |
Plotting Exercises - Graphing Conventions - Intreperting Graphs |
23Feb22 | MATPLOTLIB package - line plots - scattergrams - decorators |
Lesson 15 Lab 15 Exercise Set 15 |
MATPLOTLIB Exercises - Graphing Conventions - Data Display for line charts, bar charts, - box plot, scatter plot, and histograms |
25Feb22 | Exploratory Data Analysis - Data model as a prediction engine - Assessing model quality by plotting - Extrapolation |
Lesson 16 Lab 16 Exercise Set 16 |
Predictions from Data - Lagrange Polynomial Interpolation - Arbitary functions |
(3840 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
28Feb22 | Descriptive Statistics - Mean, median, mode (measures of central tendency) - Variance, Standard deviation (measures of dispersion) - Skew (measures of symmetry) - Higher moments (pointyness ...) |
Lesson 17 Lab 17 Exercise Set 17 |
iPython Descriptive Statistics - Using SCIPY.STATS - Using PANDAS - Visualizing Results |
2Mar22 | Pandas, Numpy, Plotting review | ||
4Mar22 | **Exam 2** - In class 25 multiple choice questions |
none | - In lab programming problem(s) |
(4320 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
7Mar22 | Causality, Correlation, Randomness, and Probability -Causailty - Correlation - Probability rules - Conditional probabilities |
Lesson 18 Lab 18 Exercise Set 18 |
Classical Gambling Simulations - Dice - Russian Roulette - Monte Hall Simulation |
9Mar22 | Simulation - Simulating random processes - Distributions |
Lesson 19 Lab 19 (none) Exercise Set 19 (none) |
|
11Mar22 | Interval Estimates by Simulation - Bootstrap - Prediction intervals - Parameter intervals |
Lesson 20 Lab 20 (none) Exercise Set 20 (none) |
Interval Estimates Exercises - Confidence interval concept - Bootstrap simulations |
(4800 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
21Mar22 | Hypothesis Tests - Comparing two (or more) collections of observations - Histograms as tools |
Lesson 21 Lab 21 Exercise Set 21 |
Functions and Observations on same plots - Visual interpretation of results - Judging the model |
23Mar22 | Hypothesis Tests - Comparing two (or more) treatments aka A/B Testing - Parametric and Non-Parametric Tests - Type1 & Type2 errors |
Lesson 22 Lab 22 Exercise Set 22-HW |
Hypothesis testing exercises - Comparing proportions - Type1 & Type2 errors - Attained significance (p-value) |
25Mar22 | Hypothesis Tests - Attained significance (p-value) |
Lesson 23 Lab 23 Exercise Set-23 |
Hypothesis testing exercises - Comparing proportions - Type1 & Type2 errors - Attained significance (p-value) |
(5280 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
28Mar22 | Ordinary Functions as Data Models-I (Predictor-Response Models) - Line (affine functions) - Polynomials - Periodic |
Lesson 24 Lab 24 Exercise Set 24 |
Functions and Observations on same plots - Visual interpretation of results - Judging the model |
30Mar22 | Distribution Functions as Data Models-II (Magnitude-Probability Models) – Order statistics (plotting positions) - Normal Distribution Function - Gamma Distribution Function - Extreme Value Distribution Function |
Lesson 25 Lab 25 Exercise Set 25 |
Functions and Observations on same plots - Visual interpretation of results - Judging the model |
1Apr22 | **Exam 3** - In class 25 multiple choice questions |
none | - In lab programming problem(s) |
(5760 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
4Apr22 | Linear regression - Why regression belongs to both statistics and machine learning - Representation and learning algorithms used to create a linear regression model - How to prepare data for linear regression |
Lesson 26 Lab 26 Exercise Set 26 |
Applications of OLS - linear |
6Apr22 | Linear regression - Ordinary Least Squares - numpy.linalg.lstsq - stats package |
Lesson 27 Lab 27 Exercise Set 27 |
Applications of OLS - linear |
8Apr22 | Linear regression - Prediction interval estimates |
Lesson 28 Lab 28 Exercise Set 28 |
Applications of OLS - linear - polynomial |
(6240 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
11Apr22 | Multiple Least Squares - A Design matrix |
Lesson 29 Lab 29 Exercise Set 29 |
- Multiple predictors - Polynomial fits of single predictors |
13Apr22 | Multiple Least Squares - A Design matrix |
Lesson 30 Lab 30 Exercise Set 30 |
- Logarithmic fits - Power-Law Fits |
15Apr22 | Multiple Least Squares - A Design matrix |
Lesson 31 Lab 31 Exercise Set 31 |
- Confounding predictors |
(6720 cumulative minutes)
date | lesson | links | laboratory |
---|---|---|---|
18Apr22 | Easter holiday | none | none |
20Apr22 | Classification - Classification vs Prediction - Logistic Regression |
Lesson 32 Lab 32 Exercise Set 32 |
Logistic Regression Applications - Odor in a Bayou - Solids in Construction Site Runoff |
22Apr22 | Classification - Classification vs Prediction - Logistic Regression |
Lesson 33 Lab 33 Exercise Set 33 |
Logistic Regression Applications - Odor in a Bayou - Solids in Construction Site Runoff |
date | lesson | links | laboratory |
---|---|---|---|
25Apr22 | K Nearest Neighbor (KNN) Classification - Concept of distance - Training (a model fitting analog) |
Lesson 34 Lab 34 Exercise Set 34 |
- Quality Classification - Bank Note Fraud Detection |
27Apr22 | **Exam 4** - In class 25 multiple choice questions |
none | - In lab programming problem(s) |
29Apr22 | KNN Classification - Confusion matrix, precision, recall, accuracy, F-score - Making decisions |
Lesson 35 Lab 35 (none) Exercise Set 35 (none) |
semester project workshop |
date | lesson | links | laboratory |
---|---|---|---|
2May22 | Artifical Neural Networks (Demonstration) | Lesson 36 Lab 36 (none) Exercise Set 36 (none) |
semester project workshop |
There will be three exams and one comprehensive final project for this course.
In addition, lab notebooks, quizzes, and homework assignments also contribute to the final grade.
Late assignments will not be scored.
Grades will be based on the following components; weighting is approximate:
Assessment Instrument | Weight(%) |
---|---|
Exam-1 | 10 |
Exam-2 | 10 |
Exam-3 | 10 |
Exam-4 | 10 |
Lab Notebooks & Homework | 30 |
Quizzes | 15 |
Final project | 15 |
Overall total | 100 |
Letter grades will be assigned using the following proportions:
Normalized Score Range | Letter Grade |
---|---|
≥ 90 | A |
80-89 | B |
70-79 | C |
55-69 | D |
< 55 | F |
The following activities are not allowed in the classroom: Texting or talking on the cellphone or other electronic devices, and reading non-course related materials.
Obviously electronic devices are vital; disrupting the conference is prohibited, please mute your microphone unless you have a question - consider typing your question into the chat window as well. Be aware of bandwidth issues and remember most lessons and laboratory sessions are recorded and posted on youtube. Recording, editing, and rendering takes awhile, so expect 24-36 hour delay before video is available. Sometimes video capture fails and there will be missing audio and/or missing video.
Any student who, because of a disability, may require special arrangements in order to meet the course requirements should contact the instructor as soon as possible to make necessary arrangements. Students must present appropriate verification from Student Disability Services during the instructor's office hours. Please note that instructors are not allowed to provide classroom accommodation to a student until appropriate verification from Student Disability Services has been provided. For additional information, please contact Student Disability Services office in 335 West Hall or call 806.742.2405.
Academic integrity is taking responsibility for one’s own class and/or course work, being individually accountable, and demonstrating intellectual honesty and ethical behavior. Academic integrity is a personal choice to abide by the standards of intellectual honesty and responsibility. Because education is a shared effort to achieve learning through the exchange of ideas, students, faculty, and staff have the collective responsibility to build mutual trust and respect. Ethical behavior and independent thought are essential for the highest level of academic achievement, which then must be measured. Academic achievement includes scholarship, teaching, and learning, all of which are shared endeavors. Grades are a device used to quantify the successful accumulation of knowledge through learning. Adhering to the standards of academic integrity ensures grades are earned honestly. Academic integrity is the foundation upon which students, faculty, and staff build their educational and professional careers. [Texas Tech University (“University”) Quality Enhancement Plan, Academic Integrity Task Force, 2010].
“Religious holy day” means a holy day observed by a religion whose places of worship are exempt from property taxation under Texas Tax Code §11.20. A student who intends to observe a religious holy day should make that intention known to the instructor prior to the absence. A student who is absent from classes for the observance of a religious holy day shall be allowed to take an examination or complete an assignment scheduled for that day within a reasonable time after the absence. A student who is excused may not be penalized for the absence; however, the instructor may respond appropriately if the student fails to complete the assignment satisfactorily.
DISCRIMINATION, HARASSMENT, AND SEXUAL VIOLENCE STATEMENT: Texas Tech University is committed to providing and strengthening an educational, working, and living environment where students, faculty, staff, and visitors are free from gender and/or sex discrimination of any kind. Sexual assault, discrimination, harassment, and other Title IX violations are not tolerated by the University. Report any incidents to the Office for Student Rights & Resolution, (806)-742-SAFE (7233) or file a report online at titleix.ttu.edu/students. Faculty and staff members at TTU are committed to connecting you to resources on campus. Some of these available resources are: TTU Student Counseling Center, 806- 742-3674, https://www.depts.ttu.edu/scc/(Provides confidential support on campus.) TTU 24-hour Crisis Helpline, 806-742-5555, (Assists students who are experiencing a mental health or interpersonal violence crisis. If you call the helpline, you will speak with a mental health counselor.) Voice of Hope Lubbock Rape Crisis Center, 806-763-7273, voiceofhopelubbock.org (24-hour hotline that provides support for survivors of sexual violence.) The Risk, Intervention, Safety and Education (RISE) Office, 806-742-2110, https://www.depts.ttu.edu/rise/ (Provides a range of resources and support options focused on prevention education and student wellness.) Texas Tech Police Department, 806-742- 3931,http://www.depts.ttu.edu/ttpd/ (To report criminal activity that occurs on or near Texas Tech campus.)
CIVILITY IN THE CLASSROOM STATEMENT: Texas Tech University is a community of faculty, students, and staff that enjoys an expectation of cooperation, professionalism, and civility during the conduct of all forms of university business, including the conduct of student–student and student–faculty interactions in and out of the classroom. Further, the classroom is a setting in which an exchange of ideas and creative thinking should be encouraged and where intellectual growth and development are fostered. Students who disrupt this classroom mission by rude, sarcastic, threatening, abusive or obscene language and/or behavior will be subject to appropriate sanctions according to university policy. Likewise, faculty members are expected to maintain the highest standards of professionalism in all interactions with all constituents of the university. To ensure that you are fully engaged in class discussions and account team meetings during class time, you are expected to do the following:
LGBTQIA SUPPORT STATEMENT: I identify as an ally to the lesbian, gay, bisexual, transgender, queer, intersex, and asexual (LGBTQIA) community, and I am available to listen and support you in an affirming manner. I can assist in connecting you with resources on campus to address problems you may face pertaining to sexual orientation and/or gender identity that could interfere with your success at Texas Tech. Please note that additional resources are available through the Office of LGBTQIA within the Center for Campus Life, Student Union Building Room 201, www.lgbtqia.ttu.edu, 806.742.5433.”
Office of LGBTQIA, Student Union Building Room 201, www.lgbtqia.ttu.edu, 806.742.5433 Within the Center for Campus Life, the Office serves the Texas Tech community through facilitation and leadership of programming and advocacy efforts. This work is aimed at strengthening the lesbian, gay, bisexual, transgender, queer, intersex, and asexual (LGBTQIA) community and sustaining an inclusive campus that welcomes people of all sexual orientations, gender identities, and gender expressions.
Cheating is prohibited, and the representation of the work of another person as your own will be reported to Office of Student Services for further investigation and sanctions as appropriate.