p210-2025

PHYS 210 - INTRODUCTION TO COMPUTATIONAL PHYSICS (FALL 2025)

PREPARING FOR PHYS 210

Bring your own computer. You’ll need your own computer for this course, but don’t worry—any device with a web browser will do! We’ll be using the web-based Jupyter Open platform (https://open.jupyter.ubc.ca/), so your computer’s power-level isn’t important.

Get a head start with Python! If you’re new to Python or haven’t used it in a while, we recommend brushing up before the start of the term. The early weeks move quickly through Python basics like variables, lists, conditionals, functions, and loops—many of which aren’t fully covered in Physics 119. To prepare, check out the free Programming for Everybody (Getting Started with Python) course (Google account required). It’s also available on Coursera (7-day free trial) and other platforms. Feel free to use any other similar resource that suits your preference.

Recommended lessons from Programming for Everybody (Getting Started with Python):
1: Installing Python (but you can just use Jupyter Open if you like)
2: Why Program?
3: Variables, expressions and statements
4: Conditional Execution
5: Functions
6: Loops and Iterations
7: Strings
9: Lists

ABOUT PHYS 210

Instructor: Joss Ives (joss.ives at ubc dot ca)

TAs: Russell Bate, Madison Levagood, Tanay Mahendru, Joshua Montain, Ryan Quinn, Raishar Shayan, Joey Townsend, Daniel Turner, Audrey Yang, Allen Zhao

Location: Hebb B112

Weekly schedule:

  Section 101/L1A Section 102/L1B
Lecture Mon/Wed 12:30-13:00 Mon/Wed 15:30-16:00
Lab Mon/Wed 13:00-14:50 Mon/Wed 16:00-17:50

Please attend the sections in which you are registered. The timetable distinction between Lecture and Lab is primarily for bookkeeping as each day is taught as a contiguous 2.5-hour block.

Pre-reqs: One of PHYS 102, PHYS 108, PHYS 118, PHYS 158, PHYS 153, SCIE 001.

Co-reqs: One of MATH 152, MATH 221, MATH 223

Office Hours: In Hebb 112 and usually available on Zoom as well

Textbook: There’s no required textbook for this course. Instead, you’ll learn through pre-class assignments, group worksheets and homework, which will all serve as references. If you’d like a more structured resource, consider A Student’s Guide to Python for Physical Modeling (Kinder & Nelson, 2nd ed.) or the excellent (and free) Computational Physics with Python by Eric Ayars.

Course Platforms and Online Tools:

Your private information and CoCalc: CoCalc runs on servers outside of Canada, where UBC cannot guarantee the security of your private information. Please exercise caution regarding the use of your personal information in this context. When you create your CoCalc account you may wish to use a pseudonym and/or an email not associated with your UBC student profile. Please contact UBC (LT.hub@ubc.ca) or CoCalc’s support team (help@sagemath.com) if you have any questions about your privacy.

CLASS FORMAT

This course is divided into three modules, each ending with a project. After a series of lesson days in each module, you’ll have dedicated in-class time to work on your project. In the final week, you’ll present your favorite project in a poster session with your peers and the teaching team.

Lesson days

Lessons build the skills needed for each project. Each class period begins with a short interactive lecture—reviewing common challenges from the pre-class preparation assignment with interactive polling questions—followed by small-group worksheet activities. A short homework assignment will be due before the next class, and you’ll often have time at the end of class to get started on it.

Project days

You’ll apply your skills in small projects, submitting multiple drafts and improving your work based on feedback from peers and instructors.

Poster preparation and presentation days

The final three class meetings are for preparing and presenting your final poster. More details will be shared mid-term.

TERM SCHEDULE (V2)

Date Topics In-class engagement task (tentative) Deadlines
Sep 03 (W) Day 01 Introduction to the course, python and Jupyter notebooks Group activities  
Sep 08 (M) Day 02 Strings, text formatting and conditionals Group Worksheet: Strings, text formatting and conditionals  
Sep 10 (W) Day 03 Lists and for loops Group Worksheet: Lists and for loops  
Sep 15 (M) Day 04 NumPy arrays Group Worksheet: NumPy arrays  
Sep 17 (W) Day 05 Plotting data with Matplotlib Group Worksheet: Plotting data with Matplotlib  
Sep 22 (M) Day 06 Project 1, Day 1   Project assignment: Graphical representations of your collision
Sep 24 (W) Day 07 Project 1, Day 2 Project 1 feedback activity  
Sep 29 (M) Day 08 Project 1, Day 3    
Oct 01 (W) Day 09 Functions Group Worksheet: Functions Project deadline #1 (Oct 2)
Oct 06 (M) Day 10 Containers (dictionaries and tuples) and solve_ivp() (our Ordinary Differential Equation solver) Group Worksheet: Electric field hockey 1  
Oct 08 (W) Day 11 Advanced array techniques; while loops   Project deadline #2 (Oct 09)
Oct 13 (M) Thanksgiving (university closed) Group Worksheet: Advanced array techniques  
Oct 15 (W) Day 12 Project 2, Day 1   Project assignment: Circular orbit with solve_ivp()

Project deadline #3 (Oct 16)
Oct 20 (M) Day 13 Project 2, Day 2 Project 2 feedback activity  
Oct 22 (W) Day 14 Project 2, Day 3   Project deadline #4 (Oct 23)
Oct 27 (M) Day 15 Monte-Carlo methods 1 Group Worksheet: Monte-Carlo methods 1  
Oct 29 (W) Day 16 Fitting Group Worksheet: Fitting Project deadline #5 (Oct 30)
Nov 03 (M) Day 17 Monte-Carlo methods 2; Project 3 is assigned Group Worksheet: Monte-Carlo methods 2  
Nov 05 (W) Day 18 Project 3, Day 1   Project assignment: Reproduce multiplication factor historgrams

Project deadline #6 (Nov 06)
Nov 10-12 Midterm break    
Nov 17 (M) Day 19 Project 3, Day 2    
Nov 19 (W) Day 20 Project 3, Day 3 Group Worksheet: File input and output Project deadline #7 (Nov 20)
Nov 24 (M) Day 21 File input and output    
Nov 26 (W) Day 22 Poster presentation preparation day   Project deadline #8 (Nov 27)
Dec 01 (M) Day 23 Poster presentations, Day 1    
Dec 03 (W) Day 24 Poster presentations, Day 2   Project deadline #9 (Dec 04)
Dec 10 (W) Exam period   Project deadline #10 (Dec 10)
Dec 16 (T) Exam period   Project deadline #11 (Dec 16)

Please see the Project submission deadlines section below for further details

COURSE GRADES

Your grade is based primarily on three projects. For each, you’ll receive an “editorial decision” such as Publish, Minor Revisions, or Major Revisions (see Project Assessment for details). Your final grade depends on the overall pattern of these decisions, with adjustments based on your Poster Presentation and Engagement Task completion. See Appendix 1 for more detailed grade breakdowns.

Grade Overview

Final Grade Minimum Requirement
A (85%) Publish (higher grades possible with Distinction)
B (72%) Minor Revisions
D (50%) Major Revisions
F Incomplete or missing project(s)

Grade Modifiers

Modifier Poster Presentation Engagement Tasks
No change Publish or Minor Revisions 70–100% of possible points
Drop one partial grade (e.g., A → A–) Major Revisions 50–69% of points
Drop two partial grades (e.g., A → B+) Incomplete or none 0–49% of points

Project assessment

Projects in this course involve using computational physics investigations to explore a question and clearly communicate your findings. Assessment is modeled after the academic publishing process. While we don’t use formal peer review, you’ll work through a series of steps to earn an “Accepted for Publication” editorial decision for each project.

Project Timeline (Recommended Workflow):

Editorial Decision Glossary:

Decision Meaning
Publish Fully meets criteria, no outstanding issues.
Minor Revisions Small issues are present that should be straight-forward to address.
Major Revisions Key issues require significant further work. Seek informal feedback before resubmitting to ensure they have been addressed appropriately.
Incomplete Off-track - feedback focuses ONLY on aspects of the project that were assessed as incomplete. Meet with ithe nstructor before revising.
No Submission Nothing submitted yet.

Distinction Points:

In academic publishing, outstanding manuscripts are sometimes highlighted by editors for their originality, potential impact, or outstanding communication. Similarly, in this course, projects that go significantly beyond expectations can receive special recognition:

Distinction points are only considered for projects that have already earned a Publish decision. Each distinction point increases your course grade by 2.5%. More details on how distinction points will be awarded will be provided with the Project 1 guidelines.

Poster Presentation Assessment

Your poster presentation will receive an editorial decision based on three elements:

Further details will be provided when the Poster Presentation details are released.

Engagement Tasks

The Engagement Tasks category includes activities we consider essential for your learning. Earn Engagement Task Points through on-time submissions.

You earn full credit in this category by earning 70% or more of the total possible engagement task points. This threshold allows flexibility—missing or submitting a few tasks late won’t prevent you from receiving the maximum credit. For grade penalties associated with earning less than 70%, see the Course Grades section.

An estimated breakdown of how engagement points are allocated is provided in Appendix 2.

If you miss a class

Missing a class doesn’t mean falling behind. Here’s how to stay on track:

Project Submission Deadlines

Rather than offering extensions, this course uses weekly project submission deadlines. At each deadline, you may submit one project (either a first submission or a revision). You’re free to choose which project to submit when, though we’ve included recommended deadlines below to help keep you on track.

If you miss a deadline, no problem—the next one will already be open, and you can submit there instead.

  Oct 02 Oct 09 Oct 16 Oct 23 Oct 30 Nov 06 Nov 20 Nov 27 Dec 04 Dec 10 Dec 16
Submission Deadline #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11
Recommended Submission Project 1   Project 1 revision Project 2   Project 2 revision Project 3   Project 3 revision Project 1 or 2 final revision Project 3 final revision

Important Notes:

HELPING YOU STAY ON TRACK - If you miss two consecutive submission deadlines, I’ll reach out to schedule a meeting. This is to help keep you on track. Last year, several students failed the course because they didn’t complete one or more projects to at least a Major Revisions level. I want to help you avoid that situation.

Academic Concessions

If require need academic concessions beyond the flexible course policies outlined above, please reach out to Joss directly. Concessions may be granted for situations involving:

Refer to the UBC Science Academic Concession page for full details. In some cases, documentation or advisor correspondence may be required for a concession to be approved.

ACADEMIC INTEGRITY AND COLLABORATION

The academic community is built on honesty, civility, and integrity. As a member of this community, you are expected to understand and follow UBC’s codes of conduct regarding academic integrity.

At its core, academic integrity means:

Violations—such as plagiarism or cheating—may result in serious consequences, including your work being permanently considered Not Submitted, or referral to the Dean’s office, where formal records are kept.

You can find full university policies on academic integrity in the UBC Academic Calendar.

Your Intellectual Contribution

All submitted or presented work should reflect your own understanding and demonstrate your significant intellectual contributions. This applies to code and written content, whether or not it was supported by Generative AI (GenAI) tools.

Using GenAI is acceptable when your engagement with it involves meaningful use of your skills and course knowledge. For example:

However, tasks in this course are not intended to be completed simply by searching for solutions or using one-line GenAI prompts. If you’re unsure whether your use of a tool meets expectations, ask the teaching team—it’s always better to check than risk an academic misconduct case.

Policies regarding Generative AI

This course encourages the responsible use of GenAI tools (e.g., ChatGPT, Claude, CoPilot, Gemini) as part of your computational toolkit.

We’ll practice prompt design, code evaluation, and debugging together. Unless otherwise stated, you must:

You don’t need to share exact prompts, but your attribution should reflect your process. For example:

“After modifying the Project 1 starter code to incorporate friction, I noticed objects were traveling backward after stopping. I asked CoPilot about this behavior, and it helped me revise the code.”

Additional Academic Integrity Policies in PHYS 210

UNIVERSITY SUPPORT AND RESOURCES

UBC provides resources to support student learning and to maintain healthy lifestyles but recognizes that sometimes crises arise and so there are additional resources to access including those for survivors of sexual violence. UBC values respect for the person and ideas of all members of the academic community. Harassment and discrimination are not tolerated nor is suppression of academic freedom. UBC provides appropriate accommodation for students with disabilities and for religious and cultural observances. UBC values academic honesty and students are expected to acknowledge the ideas generated by others and to uphold the highest academic standards in all of their actions. Details of the policies and how to access support are available: https://senate.ubc.ca/policies-resources-support-student-success

ACKNOWLEDGEMENTS

APPENDIX 1: COMPLETE GRADE DECISION TABLE

Your course grade will be based upon the editorial decisions you are able to achieve across all five categories. Up to six distinction points (2.5% bonus per distinction point) can be earned between the three projects, where Notable counts for one distinction point and Exemplary counts for two distinction points. The table below provides a complete picture of the MINIMUM criteria for each grade level.

Grade Minimum Criteria
A-A+ (88-100%) 3x Publish + 2.5% per distinction point. Overall grade rounded up.
A (85%) 3x Publish.
A- (80%) 2x Publish, 1x Minor Revisions
B+ (76%) 1x Publish, 2x Minor Revisions
B (72%) 3x Minor Revisions, or
2x Publish, 1x Major Revisions
B- (68%) 1x Publish, 1x Minor Revisions, 1x Major Revisions
C+ (64%) 2x Minor Revisions, 1x Major Revisions
C (60%) 1x Publish, 2x Major Revisions
C- (55%) 1x Minor Revisions, 2x Major Revisions
D (50%) 3x Major Revisions
F (45%) 1x Incomplete
F (40%) 2x Incomplete
F (35%) 3x Incomplete
F (30%) 1x No Submission
F (25%)  
F (20%) 2x No Submission
F (15%)  
F (10%) 3x No Submission, but full credit for Poster Presentation and Engagement Tasks

APPENDIX 2: ESTIMATE OF ENGAGEMENT POINTS THAT WILL BE AVAILABLE

The following table shows an estimate of the engagement points that will be available to be earned.

Item Engagement Points Available
Preclass preparation assignments (1pt each) 12 pts
Group worksheets (1 pt each) 12 pts
Homework assignments (1 pt each) 12 pts
Project feedback drafts (2 pts each) 6 pts
Peer feedback on projects and posters (2 pts each) 10 pts
Total 52 pts