about this course // syllabus
See the schedule for a list of topics by week, with links to slides.
Instructors:
- Peter Ralph, instructor: plr@uoregon.edu
Course Description
Effective data summarization and description. Students will learn how to efficiently develop intuition for a dataset, including best practices in data manipulation and key concepts in data cleaning and tidying. Students will learn how to summarize data with summary statistics and ordination techniques, as well as visualize data using a range of transformations and plotting approaches. The course covers a range of data types, including unstructured text and image data.
Course Objectives
Students will:
- be able to efficiently and losslessly transform data into a tidy format,
- proficiently explore and summarize data to identify main patterns and trends,
- and understand the principles of data visualization;
- be familiar with a variety of methods for and purposes of dimension reduction (e.g., PCA, MDS, UMAP)
- be able to work with a variety of data types, including text and image data
Course Information
- Websites: besides the page you are looking at, assignments and announcements will be distributed on the canvas page.
Prerequisites:
Students should have experience with python, have worked with describing/visualizing data, and be familiar with the basics of calculus and linear algebra. UO course prerequisites: DSCI 345 or other similar exposure to data science/statistics.
Assignments
There will be weekly assignments, each a Jupyter notebook; download each one, complete it on your own, and submit your completed notebook on Canvas, generally by Monday at 11:59pm (but see the Canvas assignment).
All assignments will be structured as reports to be completed and turned in as a jupyter notebook with interspersed text, code, and figures. Some assignments will consist of relatively specific prompts, while others will work towards more open-ended, student-directed data analysis projects.
You are encouraged to work with other students (please say who you worked with) and use whatever internet sources you like (please cite your sources). However, the final work (both code and writing) should be your own: for instance, if you use generative AI to suggest approaches to the problem, you should not copy-paste the results in, but rather rewrite it in your own words.
Students taking the course for graduate credit will have the same assignments, but with additional assignment parts and an expectation of more complex, in-depth work consistent with UO’s policy on 4XX/5XX courses and on workload.
Final evaluation
There will be no midterm or final exams. Instead, there will be a final project (which will be about the length of a long-ish homework) accompanied by a short (10 min) verbal presentation. Some (but not all) of these presentations will be scheduled at the time of the scheduled final exam.
Grade breakdown:
- 80% Assignments (lowest score dropped)
- 20% Final project
Software:
Class demonstrations, exercises, and homeworks will be done using jupyter notebooks, so you should have on your computer a working python installation with
- jupyter (either jupyter lab or jupyter notebook),
- pandas,
- plotnine,
- numpy,
- scipy,
- matplotlib, and
- scikit-learn.
Course Policies
How will I communicate with you? Mostly, through Canvas. Announcements and emails are archived there, automatically forwarded to your UO email, and can even reach you by text: adjust your settings under Account > Notifications. When needed, I may email yhou.
How and why can you communicate with me? Please attend office hours, reach out by email, or for brief questions, ask immediately after class. I enjoy talking about course material, as well as hearing how your trajectory in school is taking you. If you are having difficulty with class, I would also like to help strategize. I believe every student can succeed in this course, and am happy to help make that happen.
Classroom Community Expectations
All members of the class (both students and instructor) can expect to:
Participate and Contribute: All students are expected to participate by sharing ideas and contributing to the learning environment. This entails preparing, following instructions, and engaging respectfully and thoughtfully with others.
Expect and Respect Diversity: All classes at the University of Oregon welcome and respect diverse experiences, perspectives, and approaches. What is not welcome are behaviors or contributions that undermine, demean, or marginalize others (especially if this is based on race, ethnicity, gender, sex, age, sexual orientation, religion, ability, or socioeconomic status). We value differences and communicate disagreements with respect.
Help Everyone Learn: Part of how we learn together is by learning from one another. To do this effectively, we need to be patient with each other, identify ways we can assist others, and be open-minded to receiving help and feedback from others. Don’t hesitate to contact us to ask for assistance or offer suggestions that might help us learn better.
Absences
Attendance is important because we will develop our knowledge in part through in-class activities that require your active engagement. We’ll have discussions and small-group activities during class that will be richer for your presence, and that you won’t be able to benefit from if you are not there. That said, if you are feeling ill, please stay home to heal and avoid infecting your classmates. There is no course credit assigned specifically for attendance. Please take absences only when necessary, so when they are necessary, your prior attendance will have positioned you for success. Similarly, we understand that sometimes life intervenes: if your situation makes it so you need additional flexibility in course work, please talk to us.
Grading Policies
Grading scheme: A = 85-100%, B = 75-84%, C = 65-74%, D = 55-64%, F = 0-55%.
These cutoffs based on past experience and UO’s grading standards: “A, excellent; B, good; C, satisfactory; D, inferior; F, unsatisfactory.”
Generative Artificial Intelligence Use
Students can use generative AI (“GenAI”) tools in this class in certain ways: for instance, brainstorming ideas, suggesting code or functions to use, or summarizing knowledge about a topic. However, you cannot directly use content such as text, code, or graphics created by GenAI tools in your work; rather, you must be the author/creator of your work submissions. For example, you can use a GenAI tool to suggest a paper outline based on a draft you provide it, but you cannot submit an assignment with text generated by GenAI as if the text is your own writing.
As we see it, there are a few good reasons for this:
You did not do the work. A skill we do cover in class is how to effectively search for solutions to problems (e.g., what are good keywords? what are good/reliable sources?), a skill that overlaps with effective querying of GenAI. However, if you were to find an exact solution to a given problem on the web somewhere, you should not paste that answer into your homework, because (a) the point of the class is for you to learn, and learning requires working; and (b) plagiarism.
To assign you a letter grade, we need to assess whether you have the skills taught in this course; getting a GenAI model to produce plausible work is not the same thing as being able to do it yourself (the latter requires deeper understanding).
In accordance with UO policy, if we believe you’ve handed in work created whole or in part by GenAI tools, we may submit a report of suspected academic misconduct to the Office of Student Conduct and Community Standards for that office to make a determination of responsibility and, if warranted, assess a grade penalty. So, if you are in doubt or have questions about your usage of a particular tool, check in with us.