BMI 5/625, Spring 2025
Participation 20% |
Attendance at all sessions and labs; other participation. |
Labs 40% |
Completion of all lab activities |
Written Assignments (inc. KWLA essay) 20% |
As described |
Final Project 20% |
As described |
Attendance is required. If you need to miss a class, I will need advance notice except in cases of emergencies.
In addition to attending each class session, I expect all students to actively participate in the discussions. This can be in the form of asking a question, responding to another student’s question (or one from the instructor!), raising an issue, etc.
We expect and require that all submissions be the student’s own, original work. Any and all text, code, figures, etc. that you include from any other source must be properly cited, including quotation and paraphrasing. The Purdue University Online Writing Lab has an excellent set of online resources regarding citation and attribution, as well as a useful resource specifically on avoiding plagiarism. If you are unsure about whether something must be cited, the answer is probably “yes”; when in doubt, please ask.
Note that the School of Medicine has a policy regarding ethical and professional conduct for graduate students that specifically addresses plagiarism (sections 4.b and 4.c). We expect all students to be aware of and familiar with this policy. If you have any questions about this policy, please ask.
On a more personal note: in my experience, students who engage in plagiarism typically do so because they feel that they have no other choice. A deadline is looming, they are overwhelmed by some aspect of the assignment, a personal crisis comes up that keeps them from being able to finish, etc., and they feel like using somebody else’s work, or reusing some of their own work from another class, is the best option available. I can 100% guarantee that this is not the case: you have other options, and choosing plagiarism will not result in a good outcome.
When we catch you, the consequences will depend on the precise circumstances, but will at a minimum involve a score of zero points for the assignment in question, and often involve a failing grade on the course.
So: don’t wait for me to catch you: ask for help early and often.
Automated code- or text-generation tools such as GitHub’s Copilot or OpenAI’s ChatGPT, and image-generation tools like Midjourney and DALL-E, pose a particular challenge to both students and instructors. As a guiding principle, recall that we expect and require that all submissions be your own, original work, and that part of the point of this class is to develop your own practical abilities. When considering using such a tool, ask yourself: will the tool’s output be something I will be turning in directly? In general, you may use such tools as a source of information (though see the note below), but not to produce output that you intend to turn in, or as a replacement for a traditional cited reference.
Here are examples of appropriate, in-bounds uses of AI text-generation tools:
Here are examples of inappropriate, out-of-bounds uses:
Note: I am using “ChatGPT” here as a generic noun referring to “LLM-based writing/chat tools”; please assume that Claude, DeepSeek, whatever Google’s LLM is called this week, Grok, etc. are all included in this category. If you are in doubt about whether a given tool “counts”, please ask before using.
Out-of-bounds uses of AI tools will be screened for and treated in the same manner as other forms of plagiarism; if you are uncertain about whether your use is in- or out-of-bounds, please ask. And if you think up an interesting or helpful (in-bounds) use case for these technologies, please feel free to share it on the class Sakai forum.
This technology is quite new and is also developing rapidly, so there may be situations and use cases that this policy does not address- we are figuring this out together, in real-time. 🤘
There are several reasons that I personally do not think that AI-assisted coding is a good idea, especially for people who are earlier in their journey as programmers.
First, and perhaps counter-intuitively, is the matter of efficiency. I have found that an important part of becoming fast and proficient as a programmer is to build up “muscle memory”: learning to efficiently use your editing environment, internalizing the structure of whatever libraries you are working with, etc. Many common bugs and errors result from typos, missing quotation marks or mismatched parentheses, mis-typed function names, and so on, and the longer you work with R the more you will a) encounter such bugs, and b) get used to catching them right away and spotting when such problems have occurred.
By making these kinds of mistakes, and then diagnosing a resulting error message and fixing the issue, you will build up important pattern-matching skills for reading code.
The only way I have ever found to build up this familiarity is to actually write code. If you instead delegate that task to an LLM, those are skills you’ll never build up, and I think they are very important skills to have. Using an LLM to help you code more quickly now will limit how efficient you’ll be later: “short cuts make long roads,” as the saying goes.
The second reason is that of accountability. In your future work, you may be writing R code (or Python code, or whatever) to perform important analyses, potentially in contexts with high stakes, and to present the results of those analyses to people who presumably care a lot about them. In that kind of situation, it is important that you feel personally confident in your results, which requires that you feel confident in the code that generated those results. This, in turn, requires that you actually understand what it is doing and why, at a very detailed and comprehensive level. If you’ve had an LLM write the code for you, and did so never having built up the skills to read and debug code, there are a lot of ways that things can go badly awry.
The third reason is that of intellectual property. Just as the text generated by LLMs often includes verbatim quotes from sources that the model saw during training, the code that it writes also frequently includes other people’s copyrighted material. It is very important to be mindful of this issue when programming in general, especially in a commercial setting (i.e., if somebody is paying you to write code).
My basic principle for using LLMs, as of March 2025, is that I only rely on an LLM’s output in situations where I personally have enough expertise to tell whether it was “correct” or not, without having to do a ton of work. I absolutely think there can be a role for LLM-based support in programming… but only if it is being used on top of a solid foundation, and only in moderation. In other words, we are not “vibe coders” in my class.
Regarding the use of ChatGPT or similar tools as informational resources, it is important to keep in mind that ChatGPT’s output often contains “confabulations”: content that is not “real”, and that the language model has “made up”. In the recent past (as of March 2025), I have personally seen ChatGPT and its cousins…
ggplot
…In the context of a coding problem set, this means that you will waste valuable time and energy trying to debug something that was never going to work in the first place. In the context of a paper’s background section or literature review, this means that you will find yourself spending a great deal of time attempting to find non-existent articles and books.
It is best to think of a ChatGPT-generated literature review as being closer to “fan-fiction” than an actual review. Remember, you are responsible for the veracity and accuracy of anything you turn in.
One might ask, “why can’t I just cite ChatGPT’s output like I would any other source?” There are several reasons;
Over the last year I have encountered multiple students and colleagues who have found resources such as ChatGPT to be helpful tools in their toolboxes for managing various aspects of their neurology in an academic setting, e.g. as a way to help them organize their thoughts in writing, or to overcome executive function challenges. As they have been described to me, many of these sorts of uses would ordinarily fall “out of bounds” according to the strictest interpretation of this policy. However, if you are in need of an accommodation involving the use of generative AI tools, please do not hesitate to reach out to either myself or the office of student access; we have robust and flexible policies on accommodation (see below) and I am very willing to discuss this issue.
Here are a few recent discussions on how to think about generative AI tools that you may find helpful and informative:
When I’m not teaching data visualization, language models are one of my core areas of academic research. As such, if you are interested in digging further into this space, please reach out and I can send you more pointers of things to read.
See the syllabus page on Sakai for a full list of university policies, etc.
I would like to make an additional note regarding accessibility and accommodations. The syllabus link above will include the University’s official language about accessibility, and will list the various resources that you have available to you. While comprehensive, the official verbiage is pretty dense; in the past, some have found its “legalese” language to be off-putting or unclear. I am committed to helping each of you succeed to the best of my ability, and I fully support the University’s Office of Student Access.
If you anticipate needing any kind of accommodation, I encourage you to reach out to the Office of Student Access or to myself as early as possible in the term. I will be able to help you more effectively if we begin our discussions around your needs earlier rather than later. If you have a need that is not covered by the OHSU accessibility and accommodation policies, or if you have questions or concerns about anything along these lines, please do not hesitate to ask me for information or help.