ENGR 1330 Computational Thinking with Data Science

Course Description:

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.

Prerequisites:

Prior programming background is NOT required. The course is intended for first-year WCOE students (aka engineering foundational)

COVID-19 Important Guidelines:

A. Illness-Based Absence Policy (Face-to-Face Classes)

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.

  1. If you are ill and think the symptoms might be COVID-19-related:

    1. Call Student Health Services at 806.743.2848 or your health care provider. During after-hours and on weekends, contact TTU COVID-19 Helpline at TBD.
    2. Self-report as soon as possible using the Dean of Students COVID-19 webpage. This website has specific directions about how to upload documentation from a medical provider and what will happen if your illness renders you unable to participate in classes for more than one week.
    3. If your illness is determined to be COVID-19-related, all remaining documentation and communication will be handled through the Office of the Dean of Students, including notification of your instructors of the time you may be absent from and may return to classes.
    4. If your illness is determined not to be COVID-19-related, please follow steps 2.a-d below.
  2. If you are ill and can attribute your symptoms to something other than COVID-19:

    1. If your illness renders you unable to attend face-to-face classes, participate in synchronous online classes, or miss specified assignment due dates in asynchronous online classes, you are encouraged to contact either Student Health Services at 806.743.2848 or your health care provider. Note that Student Health Services and your own and other health care providers may arrange virtual visits.
    2. During the health provider visit, request a “return to school” note.
    3. E-mail the instructor a picture of that note.
    4. Return to class by the next class period after the date indicated on your note.

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.

B. Illness-Based Absence Policy (Telepresence/On-Line Classes)

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.

Course Sections

Lesson time, days, and location:

  1. Section D04; CRN 64436; 1000-1120 T, TH ; Telepresence
  2. Lab Section D66; CRN 64441; 1130-1250 T, TH

  3. Section D01; CRN 63306; 1000-1120 T, TH ; Telepresence

    1. Lab Section D61; CRN 63744; 1130-1250 T, TH

Course Instructor:

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: Telepresence (Zoom)

Office hours: 1000-1100 M, 1600-1700 W or by appointment (meetings will be by Zoom call)

Teaching Assistant:

Teaching Assistant: Farhang Forghanparast, MSCE

Email : Farhang.Forghanparast@ttu.edu

Office location: Telepresence (Zoom)

Office hours: 0900-1000 M; 1700-1800 W

Textbook:

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

Course Contents:

Learning Outcomes:

On completion of the course, students will have * Created Python programs employing computational thinking concepts to * Employed Python libraries relevant to data science. * Downloaded data files from selected public sources and analyzed content. * Created scripts to perform fundamental data analytics and basic visualization.

ABET Student Outcomes

Resources/Tools

Platforms for Python Programming (for your own computers)

  1. 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.

  2. 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.

Additional Modules for Python Programming

  1. Math module https://docs.python.org/3/library/math.html: Gives access to the mathematical functions defined by the C standard e.g. factorial, gcd, exponential, logarithm.
  2. Operator module https://docs.python.org/3/library/operator.html: Helps in exporting a set of efficient functions corresponding to the intrinsic operators of Python. For example, the operator add(x,y) is equivalent to the expression x+y.

Python Modules for Data Science

  1. Scipy module https://www.scipy.org/: A Python-based ecosystem of open-source software for mathematics, science, and engineering. Some of the core packages are:
    • Numpy: Provides n-dimensional array package
    • Scipy: Fundamental for scientific computing (e.g. linear algorithm, optimization)
    • Matplotlib: Visualizations/2D plotting
    • IPython: Enhanced interactive console <<= this is the kernel used in JupyterLab
    • Pandas: Data structures and data analysis
  2. Scikit-learn module https://scikit-learn.org/stable/: A library for machine learning in Python. It is a simple and efficient tool for predictive data analysis. It is built on NumPy, SciPy, and matplotlib modules.

On-Line Options

Hardware Requirements

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

Content Server

Blackboard is used as the learning management system (LMS) for this class, and it uses web links to a content server at https://3.137.111.182/engr-1330-webroot/ The Blackboard links will generally go directly to a section in the webroot, but feel free to explore by going in the front door!

Course Schedule

Item Lesson Lab
JupyterLab(Python Kernel) and Programming
21Jan2021 Lesson 0 Introduction to Computational Thinking with Data Science:
- Computational thinking concepts
- Python as a programming environment
- Data science and practices
- CCMR Approach
Computing Environment set up:
- Installing Anaconda (Win/MacOS/AWS)
– Jupyter notebooks
- Simple Examples
26Jan2021 Lesson 1 Programming Fundamentals:
- Data types (int, float, string, bool)
- Variables, operators, expressions, basic I/O
- String functions and operations
Introduction to Python
- Data types (e.g. int, float, string, bool)
- Expressions
28Jan2021 Lesson 2 Programming Fundamentals:
- Data structures: Array, list, tuple, set, dictionary
- Conditional statements
Introduction to Python
- Data structures
- Conditional statements
2Feb2021 Lesson 3 Programming Fundamentals:
- Loops
- Flowcharts
Introduction to Python
- Loops
4Feb2021 Lesson 4 Programming Fundamentals:
- Functions
- Variable scope
Introduction to Python
- Functions
- Variable scope
9Feb2021 Lesson 5 Programming Fundamentals:
- Class and objects
- File handling
Introduction to Python
- Class and objects
- File handling
Data Science External Modules
11Feb2021 Lesson 6 Data Representation and Operations:
Python library: NumPy
- Data representation: Arrays, vectors, matrices
- Data operations: Indexing, math functions
Exercises on NumPy
16Feb2021 Lesson 7 Data Query and Manipulation:
Python Library: Pandas
- Data frames:
- Create, index, summarize statistics
- fill and drop values
- read/write to file
Exercises on Pandas
18Feb2021 Lesson 8 Data Display:
Python Libraries: Matplotlib
- Graphing Conventions
- Data Display for line charts, bar charts,
box plot, scatter plot, and histograms
Exercises on data display
23Feb2021 Lesson 9 Data Modeling:
- Establishing causality
- Randomness
- Models as Preciction Machines
Exercises on causality and simulation
25Feb2021 Review for Exam-1 (Lessons 0-9) Exam-1
- LMS administered
Data Modeling: Statistical Approaches
2Mar2021 Lesson 10 Randomness and Probabilities:
- Sampling
- Empirical distributions
Exercises on probabilities
4Mar2021 Lesson 11 Descriptive Statistics
- Location/Center (mean, median,mode)
- Dispersion/Spread (variance, standard deviation)
- Asymmetry/Skew (Coefficient of Skewness)
Descriptive Statistics
9Mar2021 Lesson 12 Distributions:
- Normal, LogNormal
- Gamma, Weibull
- Extreme Value (Gumbell)
Exercises on sampling
11Mar2021 Lesson 13 Probability Estimation Modeling
- Ranking, order, plotting position
- Distribution Fitting ; Method Of Moments; Maximum Likelihood Estimation
Exercises
16Mar2021 Lesson 14 Hypothesis testing:
- General concept
- Assessing data models.
Exercises on hypothesis testing
18Mar2021 Lesson 15 Hypothesis testing:
-Comparing proportions
- Type1 & Type2 errors
- Attained significance (p-value)
Exercises on hypothesis testing
23Mar2021 Lesson 16 Comparing two samples: A/B Testing Exercises on A/B testing
25Mar2021 Review for Exam-2 (Lessons 10-16) Exam-2
- LMS administered
30Mar2021 17. Confidence intervals Exercises
Data Modeling: Regression (Model Fitting) Approaches
1Apr2021 18. Data Modeling: Regression Approach
- Linear algebra of equation fitting
Exercises
6Apr2021 19. Estimation Modeling by Regression:
- Ordinary least squares (OLS) regression
- Weighted least squares
- Explanitory variables (features)
- Response variable(s)
exre
8Apr2021 20. Estimation Modeling by Regression:
- Residuals
- Performance metrics: Accuracy, error
- Inference
exercises
13Apr2021 21. Estimation Modeling by Regression:
- Logistic Regression (a type of classification)
Exercises on sample means
Data Modeling: Machine Learning Approaches
15Apr2021 22. Data Modeling : The Machine Learning Approach:
- Correlation
- Training (a model fitting analog)
- Confusion matrix, precision, recall, accuracy, F-score.
- Making decisions
Final projects selection
- Project choices
- Delivery schedule
20Apr2021 Lesson 23 Evaluation and Making Decisions:
- Confusion matrix, precision, recall, accuracy, F-score.
- Making decisions
KNN with evaluation
22Apr2021 Lesson 24 Classification:
- K Nearest Neighbor (KNN)
More KNN Demonstration/Examples
27Apr2021 Review for Exam-3 (Lessons 17-24) Exam 3
- LMS administered
29Apr2021 Lesson 25 Classification:
- Support Vector Machines (SVM)
SVM Demonstration/Examples
4May2021 Lesson 26 Classification:
- Artifical Neural Networks (ANN)
ANN Demonstration
11May2021 Final Project Report and Link to Video

Course Assessment and Grading Criteria:

There will be three exams and one comprehensive final project for this course.

An AI-supervised online community using the Packback Questions https://www.packback.co platform will be used for online discussion about class topics. The platform is the place to pose questions and answers and share codes and problems.

Face-to-face sections do not use packback, and use a different scoring distribution

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 15
Lab Notebooks & Homework 30
Quizzes 10
Packback 15
Final project 10
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

Packback Questions Environment

Participation is a requirement for this course, and the Packback Questions platform will be used for online discussion about class topics. Packback Questions is an online community where you can be fearlessly curious and ask open-ended questions to build on top of what we are covering in class and relate topics to real-world applications.

Packback Requirements:

Your participation on Packback will count toward 15% of your overall course grade.

There will be a Weekly Sunday at 10:00PM CST deadline for submissions. In order to receive your points per week, you should submit the following per each deadline period:

How to Register on Packback:

An email invitation will be sent to you from help@packback.co prompting you to finish registration. If you don’t receive an email (be sure to check your spam), you may register by following the instructions below:

  1. Create an account by navigating to https://questions.packback.co and clicking “Sign up for an Account”

Note: If you already have an account on Packback you can log in with your credentials.

  1. Then enter our class community’s lookup key into the “Looking to join a community you don't see here?” section in Packback at the bottom of the homepage.

    Community Lookup Key:

    1e3bb85a-ddb2-456a-a8fc-178ead55206d
    
  2. Follow the instructions on your screen to finish your registration.

Packback will require a paid subscription (~$25). Refer to www.packback.co/product/pricing for more information.

How to Get Help from the Packback Team: If you have any questions or concerns about Packback throughout the semester, please read their FAQ at help.packback.co. If you need more help, contact their customer support team directly at help@packback.co.

For a brief introduction to Packback Questions and why we are using it in class, watch this video: vimeo.com/packback/Welcome-to-Packback-Questions

Classroom Policy:

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.

Telepresence (On-line) Courses

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.


ADA Statement:

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 Statement:

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 Statement:

“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.

Ethical Conduct Policy:

Cheating is prohibited, and the representation of the work of another person as your own will be grounds for receiving a failing grade in the course.

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: - Maintain the same level of civility and professionalism that would be expected in a face-to-face classroom setting. - Attend all classes regularly. - Log into the video conference on time and remain logged in for the duration of the class period. - Activate your camera so that you are visible to the instructor and other students in the class. If you have concerns about leaving your camera on (such as childcare obligations, privacy issues, or a particular circumstance during a class period), please talk to the instructor. - Refrain from engaging in non-class related activities during class time that create a distraction for other students in the class and/or limit your ability to engage in the course. Failure to meet these expectations may result in the following consequences: 1. Being counted as absent for the class meeting. 2. Not receiving credit for class participation for that class period. 3. Other consequences as stipulated in the syllabus, Texas Tech Code of Student Conduct, or other university policy. Repeated failure to meet expectations (e.g., attendance, participation in class, etc.), in addition to the above consequences, may result in the one or more of the following consequences: 1. Referral to the appropriate Associate Dean. 2. Academic penalty, ranging from a warning to failure of the course. (www.depts.ttu.edu/ethics/matadorchallenge/ethicalprinciples.php).

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.