Skip to content

About

UCSF Biophysics Intro to Programming course 2026.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Introduction to Computing for Biophysicists

(AKA: Intro to Programming / Programming Fundamentals)

Fall 2026 Syllabus

Course Days/Hours: Sept 8 – 10, 14 – 17 from 9-11AM

Location: GH 227 - Teaching Lab

Instructor(s): Beau Lonnquist

Course Description:

Computing is as essential as pipetting for success in graduate school. This practical course is intended to ensure that students without any background in scientific computing can become conversant in the fundamentals they need to succeed in our program, including:

  • How to use the terminal, move and manipulate files
  • How to script in Python
  • How to basic data science / analysis via numpy, pandas, and graphing

We aim to introduce students to computational concepts by leveraging their algorithmic understanding of molecular biology. Students are already familiar with data structures (the genetic code is a dictionary) and for loops (5'-3' transcription) - the challenge is how to formally code what we already understand in a syntax that makes sense to a computer.

Finally, with the development of new AI tools (ChatGPT, Github Co-pilot, etc), "vibe code" coding is now possible and gaining power. In fact, a study has demonstrated that large language models can solve about 80% of introductory bioinformatic tasks, but the rest need additional prompting. We hypothesize that students will be better able to leverage such tools with the fundamental algorithmic thinking we aim to introduce in this course.

Accommodations for students with disabilities: The Graduate Division embraces all students, including students with documented disabilities. UCSF is committed to providing all students equal access to all of its programs, services, and activities. Student Disability Services (SDS) is the campus office that works with students who have disabilities to determine and coordinate reasonable accommodations. Students who have, or think they may have, a disability are invited to contact SDS (StudentDisability@ucsf.edu); or 415-476-6595) for a confidential discussion and to review the process for requesting accommodations in classroom and clinical settings. More information is available online at http://sds.ucsf.edu. Accommodations are never retroactive; therefore students are encouraged to register with Student Disability Services (http://sds.ucsf.edu/) as soon as they begin their programs. UCSF encourages students to engage in support seeking behavior via all of the resources available through Student Life, for consistent support and access to their programs.

Commitment to Diversity, Equity and Inclusion: The course instructor value the contributions, ideas and perspective of all students. It is my intent that students from diverse backgrounds be well-served by this course, that students' learning needs be addressed both in and out of class, and that the diversity that the students bring to this class be viewed as a resource, strength and benefit. It is my intent to present materials and activities that are respectful of diversity: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, religion, and culture. However, we also acknowledge that computing systems were designed by people with biases and therefore likely have those biases built in. Additionally, the field is phasing out offensive terminology for some processes - but such terminology may be present in linked material from the class page. The instructor is committed to continuous improvement of teaching practices and our learning environment. I value input from students and your suggestions are encouraged and appreciated. Please let the course director or program leadership know ways to improve the effectiveness of the course for you personally, or for other students or student groups. (modeled after CCB and Brown University's Diversity & Inclusion Syllabus Statements)

Course structure

This is a hands-on practical course - we will be moving at the pace of the student who completes the task last! This is my first time teaching this course and we expect that the level of prior knowledge will be quite heterogeneous. Students should keep in mind that the goal is to understand each aspect of what we are doing, not to finish first. There are no grades - this is about setting up a foundation for success in the Biophysics graduate program.

We will begin with understanding the relationship between the terminal, filesystem, and the GUI. We will then move to python scripting, grounding ourselves in creating python versions of different processes of the central dogma. Finally, if there is time, we will explore ways to handle and visualize data using plotting libraries.

Schedule

Day Date Theme Concepts
Tuesday 09/08/2025 CoreHPC (onboarding) Terminal basics, ssh, CoreHPC sign-up / sign-in, SLURM, job creation + submission
Wednesday 09/09/2025 Terminal Quick course intro; terminal basics: pwd, ls, cd, mkdir, touch, cp, mv, rm; text viewing (cat, head, tail); intro to vim; basic piping and redirection (|, >, >>); simple bash scripting; Miniconda install (if time permits)
Thursday 09/10/2025 Python Day1 Introduction to Python Programming (writing and running scripts, basic maths, commenting, variables, strings, slicing, user input) + greeter.py
Friday 09/11/2025 Buffer day
### ### ### ###
Monday 09/14/2025 Python Day 2 Lists, for and while loops, if, elif, else, boolean expressions, indentation, file handling + transcriber.py
Tuesday 09/15/2025 Python Day 3 Review, dictionaries, functions
Wednesday 09/16/2025 Python Day 4 Mini project (DNA_to_AA.py)
Thursday 09/17/2025 Data Science Day Jupyter Notebook, arrays, array types, operations, axis, slicing, array visualization, matplotlib, plt, pandas, dataframe, csv→dataframe, dict→dataframe, dataframe→csv
Friday 09/18/2025 ### BP RETREAT (no meeting)

A good resource for practice:

About

UCSF Biophysics Intro to Programming course 2026.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages