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:
-
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).
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.
-
If you are ill and think the symptoms might be COVID-19-related:
- 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.
- 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.
- 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.
- If your illness is determined not to be COVID-19-related, please follow steps 2.a-d below.
-
If you are ill and can attribute your symptoms to something other than COVID-19:
- 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.
- During the health provider visit, request a “return to school” note.
- E-mail the instructor a picture of that note.
- 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:
- Section D04; CRN 64436; 1000-1120 T, TH ; Telepresence
-
Lab Section D66; CRN 64441; 1130-1250 T, TH
-
Section D01; CRN 63306; 1000-1120 T, TH ; Telepresence
- 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:
- Computational thinking for problem-solving: Logical problem solving, decomposition, pattern recognition, abstraction, representation, algorithm design, and generalization.
- Python Programming:
- Variables, constants, data types, data structures, strings, math operators
- boolean operators, expressions, program constructs, functions,
- looping, I/O files, modules, and database.
- Data science fundamentals:
- Experimental setup:
- Importing and formatting data sets,
- Displaying data,
- Data pre-processing.
- Introductory statistical analysis with Python:
- Elementary statistics, randomness, sampling, probability distributions,
- Confidence intervals, hypothesis testing, and A/B testing.
- Basic data analysis, visualization, and machine learning:
- Data pre-processing,
- Supervised/unsupervised learning,
- Performance evaluation metrics.
- Experimental setup:
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
-
Engineering:
- An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
-
Computer Science:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
Resources/Tools
Platforms for Python Programming (for your own computers)
-
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.
Additional Modules for Python Programming
- 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.
- 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
- 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
- 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
- AWS Lightsail Instance (use Windows Server 2000 template; lowest resource provision tier; AWS RDP client, or download and install own RDP client)
- Then install Anaconda onto the AWS Instance
Hardware Requirements
- Minimal, in fact this syllabus was created using a JupyterLab notebook (as a markdown processor) on a Raspberry Pi 4B, which technically cannot support a JupyterHub, but does.
- Your current laptop should be fine, or if you only have a chromebook, build an AWS instance.
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:
- 1 open-ended Question per week with a minimum Curiosity Score of 30, each worth 33.33% of each assignment grade
- 2 Responses per week with a minimum Curiosity Score of 30, each worth 66.67% of each assignment grade
- Half credit will be provided for questions and responses that do not meet the minimum curiosity score.
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:
- 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.
-
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
-
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.