About The Course
How This Course is Designed
I think it’s important for teachers to be more transparent about why and how they structure their courses the way they do. This is especially true for this course, which let’s be honest: it’s a bit odd! Unlike a typical humanities course, you’ll be learning how to code. And unlike a typical coding course, you’ll be studying data through a deeply historical lens. So here’s how these two tracks fit together:
Track 1: Learning to Code
The technical portion of this course will teach you how to use the Python programming language to work with data. Much like learning a foreign language, you’ll start with the fundamentals (vocabulary, syntax, etc.) and gradually build toward more complex applications (ex. data analysis and visualization). And much like learning a foreign language, you can’t learn to code by just reading a textbook or watching some videos; you need to actually write code. It takes time, practice, and repitition to build up your “coding muscles.” The tutorials, modules, homework assignments, etc. in this course are meant to help you strengthen those muscles.
It is tempting to focus on the results of the activities for this class: completing a tutorial as quickly as possible or just making sure you get “the right answer” for a homework question. But you learn how to code from the process itself. Because all coding is quite literally built on failure. No matter how talented or experienced, nobody writes flawless code from scratch. In fact, the coding process is almost always: write some code, realize it doesn’t work, and try figure out what’s wrong and how to fix it. Embrace the moments of confusion and frustration; this is when you learn the most.
Track 2: Thinking Historically About Data
Alongside technical skills, you’ll be developing a historical and theoretical framework for studying data. A central theme of this course is that “all data has a history.” Through readings, discussions, and assignments, you’ll learn how to think about the historical dimensions of data; how, when, and why certain kinds of data was collected and how that historical context informs our understanding of it. Moreover, we will learn about the role of data within broader historical subjects, from plantation slavery in the United States to the history of the US Census. Applying a historical lens to datasets is not some abstract pursuit; we will see how this approach has real implications for deciding how data should or shouldn’t be used.
Overall Schedule and Structure
This course is scaffolded; each week builds sucessively on what you’ve learned in previous weeks. During the first 2-3 months of the semester you will be learning the fundmentals of how to code and how to think historically about data. During this time you will be building up your coding and critical thinking muscles through structured tutorials, readings, and homework assignments. In the last month of the semester, you’re going to put those new muscles to use by creating your own data-driven projects. During this phase of the course, you have much wider latitude to follow your interests and goals.
Course Policies
Grades
I hate grades. I’ve found that traditional grading causes students to focus on the wrong things: “What do I need to do to get an A in this course?” rather than “How do I learn and grow in this course?” Each of you have different starting points, perspectives, and goals in terms of what you would like to get out of this semester. Some of you might already have technical experience; others might be starting from scratch. Regardless of your starting point, my goal is to foster experimentation, creativity, and even failure.
Because of this, I won’t be using a traditional letter-grade model in this class. Instead of me acting as a judge telling you what you did wrong, I see my role as a coach and mentor. I want you to take intellectual chances and push yourself in ways that you might not otherwise if you were worried about getting a low grade.
Therefore I will be using a system of consultative grading in which you take ownership over your own learning. I won’t be giving you a letter grade for your individual assignmetns. Instead, you will receive qualitative feedback: what you did well and what I would like you to improve on for future assignments. You can find this qualitative feedback in Canvas under either Grades or the individual Assignment Page (follow these instructions to view feedback).
I will, of course, need to submit a final letter grade for the course that appears on your transcript. I will be basing this grade on my own assessment of your work but also on a series of three self-assessments you will complete over the semester. In these, you will reflect on your learning goals and how well you feel are accomplishing them, along with what you are doing “behind the scenes” - ie. helping classmates, taking intellectual risks, etc. In your final self-assessment you will assign yourself a grade for the semester and explain your reasoning behind it. I reserve the right to adjust this grade up or down if I think you are either being too harsh on yourself or taking advantage of this system.
In short, let’s stop worrying about grades and focus on what matters: learning.
Learning Community
My goal is to build a strong learning community for all of my students. You will be doing a lot of this learning directly with your classmates through discussions (both in person and online) and in-class activities. I expect everyone to treat fellow classmates and the professor with respect: listening attentively, not interrupting, and maintaining a civil discourse. It is my intent to create an environment that respects diversity: gender, sexuality, disability, age, socioeconomic status, ethnicity, race, religion, and culture, etc., and supports a wide array of thoughts, perspectives and experiences. To maintain this learning community, bullying or personal attacks will not be tolerated. Learn each other’s names and, if volunteered, preferred pronoun. Always assume the best intentions in each other. If something was said in class (by anyone, including myself) that made you feel uncomfortable please talk to me about it either directly or through anonymous feedback forms that I will periodically administer in class.
Health and Wellness
Every student should prioritize their physical, emotional, and mental health. Any student who is struggling to do so (lacking a safe and stable place to live, having difficulty affording sufficient food to eat every day, facing financial stresses, etc.) is urged to consult the resources listed here: https://www.ucdenver.edu/counseling-center/resources.
Communication Platforms
- Canvas Announcements: I will use this to send out class-wide reminders, updates, etc.
- Canvas Message or Email: I will use this to send individual messages to specific students. You can contact Prof. Blevins at cameron.blevins@ucdenver.edu.
- Discord: Our Discord server is a place for more informal communication and troubleshooting. This is where you can post messages to help get unstuck or talk to each other privately. I will be distributing a link to join the class Discord server via Canvas Announcement. Full disclosure: I haven’t used Discord for this purpose before and I’m not committed to it; if students feel like this isn’t helpful, we can find an alternative.
It is your responsibility to make sure that you are receiving notifications for all the above communications so that you read them in a timely manner.
Course Website vs. Canvas
Why are we using a course website instead of Canvas? Several reasons: a) it is entirely public and open-access (meaning you will be able to access the course material after you graduate), b) it is built with Jekyll and GitHub Pages (which you will be using yourself in this course), and c) I really don’t like Canvas. However, I will still be using a Canvas site for this course for some limited uses in which privacy is especially important. In particular, I will be using Canvas to send class-wide announcements, collect major assignments, and post feedback on those assignments. For everything else (the weekly schedule of readings and assignments, in-class modules or tutorials, assignment descriptions, due dates, etc.) please refer to the course website and check it regularly. Note: I may change or update things according to how the semester progresses. I will communicate any major changes over Canvas Announcements.
Office Hours
Office hours are a weekly block of time for students to meet with me individually. This can be a time talk about any aspect of the class: ideas and strategies for upcoming assignments, feedback you have received, or difficult themes and concepts. Or, just drop by and let me know how the rest of your classes, work, etc. are going! I truly enjoy hearing about what my students are doing outside of my class.
With some exceptions, I will be available each week on Wednesdays from 1:30-2:30pm, along with additional timeslots that I will post on a week-to-week basis. Use this link to see a list of available timeslots and then sign up for one that best fits your schedule. If none of these times work for your schedule, please contact me over Canvas Inbox or email and we will find a different time to meet. Note: in order to make it as easy as possible to meet and accommodate student schedules, I will hold all office hours virtually over Zoom (link here). However, I love face-to-face conversations - if you prefer to meet in person, send me a message and we can find a time to meet in my office (Student Commons 3108).
Generative Artificial Intelligence (AI)
Generative AI tools (like ChatGPT) are really good at writing code. In fact, you could use ChatGPT to help you write all of the code for this course in a fraction of the time than you could on your own. So why wouldn’t you do this?
First, if you’re taking this course, I assume it’s because you actually want to learn how to code. And learning to code is like building a muscle; it takes repetition and practice. When you spend time wrestling with a problem, debugging errors, or trying to figure out why your code isn’t working, you’re actively building that muscle. Using Generative AI to write or debug code for you would be like having someone else lift weights for you at the gym - the weights get moved, but your muscles don’t get any stronger. It’s a waste of everyone’s time.
Second, if you don’t write your own code you don’t learn how to think computationally, such as breaking down complex problems into smaller tasks, recognizing patterns, and designing step-by-step solutions. These are the real skills that make someone effective at working with data, and they can only be developed through hands-on practice.
However, the reality is that in 2025, most professional programmers use AI tools as part of their daily workflow. That’s why during the final month of the course, we’ll shift gears. Once you’ve built up your coding fundamentals, I’ll teach you how to effectively use AI as a coding partner. For your final project, you’ll have free rein to use these tools (or not) to help you write and debug code to create the strongest product you can. If the first several months of the semester were about building your coding muscles, during the last month you’re going to strap on rocket boosters and see how far you can go.
More broadly, please refer to the chart below for a general list of permitted and not permitted uses of Generative AI for this course. Note that this list is NOT meant to be comprehensive; given the sheer number and variety of different ways to use Generative AI, it’s impossible to cover them all. If you have a question about a particular use-case, it’s your responsibility to reach out to me directly to clarify - I actually love hearing about how students are using (or thinking about using) these tools.
✅ Permitted Uses of AI ✅ | 🛑 Not Permitted Uses of AI 🛑 |
---|---|
Taking notes in class | Writing and debugging code for assignments |
Translating material | Composing original writing for assignments |
Explaining concepts or getting background information | Summarizing readings |
Brainstorming ideas | Writing annotations for readings |
Editing tools (ex. grammar/proofreading) | Composing emails or other course-related communications |
Generating outlines | |
Writing and debugging code for the final project |
Required Course Material
College is expensive enough; I have tried to make sure all required readings, software, etc. is available for free and that there are no required books or textbooks to purchase. However, the course does require a functioning computer. Because of this, you will need to bring a laptop to class with you to class - please notify me ahead of time if your computer runs into technical glitches and you will be unable to bring it to a particular class.
Late Assignments
If unforeseen circumstances come up during the semester and you need an extension on a particular assignment, please notify me via email or Slack. Otherwise you are expected to submit all assignments by the due date.
College & University Policies
Reasonable Accommodation
I am committed to providing everyone the support and services needed to participate in this course. If you have a learning disability please contact Disability Resources and Services at 303-315-3510 or by e-mail at disabilityresources@ucdenver.edu and, if you are comfortable, notify me directly as well. If you have a temporary medical condition or injury, please reach out to Disability Resources and Services.
Discrimination and Sexual Misconduct
The University of Colorado Denver is committed to maintaining a positive learning, working and living environment. The University prohibits discrimination on the basis of race, color, national origin, sex, age, disability, pregnancy, creed, religion, sexual orientation, veteran status, gender identity, gender expression, political philosophy or political affiliation in admission and access to, and treatment and employment in, its educational programs and activities, working, and living environment. If, because of religious obligations, you have conflicts with required assignments/attendance please email me directly as soon as possible at the beginning of the semester.
University policy prohibits sexual misconduct, including harassment, domestic and dating violence, sexual assault, stalking, or related retaliation. If you have experienced some sort of sexual misconduct or discrimination, please visit the Office of Equity/Title IX web site to understand the resources available to you or contact the Office of Equity/Title IX Coordinator (303-315-2567).
Students Called for Military Duty
Students in the military with the potential of being called to military service and/or training during the course of the semester are encouraged to notify their school/college Associate Dean or Advising Office.
CLAS Incomplete Policy
The faculty in the College of Liberal Arts and Sciences passed the following policy relating to the awarding of incomplete grades. Incomplete grades (IW or IF) are meant for students with special circumstances beyond their control that preclude them from attending class and completing graded assignments. They are not granted for low academic performance, and students must have completed a majority of the course’s assignments and classes in order to qualify. Incompletes cannot be awarded that stipulate: (1) a student may repeat the entire course, (2) repeat or replace existing grades, (3) allow the student an indeterminate period of time to complete a course, or (4) allow the student to repeat the course with a different instructor. The CLAS Course Completion Agreement is available from the CLAS Advising Office, NC 2024.
Academic Integrity
Students are expected to know, understand, and comply with the ethical standards of the university, including rules against plagiarism, cheating, fabrication and falsification, multiple submissions, misuse of academic materials, and complicity in academic dishonesty.