Agenda:
Plus there will be 3 TAs in your section
Investigating physical systems with python, using simulations and numerical methods. Communicating interesting findings using Jupyter notebooks.
Translate physical laws into computer code that can be used to perform investigations, solve problems and answer questions
Three modules → Three projects
Computational investigations that YOU design
Goal: Earn "Accepted for Publication"
Most students need 2-3 submissions per project to reach Publish.
Editorial decision | Description |
---|---|
Publish / Accepted for Publication |
The project criteria have been fully addressed with no outstanding errors or issues. |
Minor Revisions | Mostly complete; small issues remain. |
Major Revisions | Key issues need significant work. |
Incomplete | Off-track; meet with instructor before revising. |
Distinction points can be awarded to projects that go above and beyond and have already earned a Publish decision.
Item | Estimated 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 |
Plus minor adjustments for: Poster presentation + Engagement tasks
Final Grade | Minimum Requirement |
---|---|
A (85%) | 3× Publish (higher grades possible with Distinction) |
B (72%) | 3× Minor Revisions |
D (50%) | 3× Major Revisions |
F | Incomplete or missing project(s) |
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 |
Your work should reflect YOUR intellectual contributions and understanding
Encouraged | Required |
---|---|
Collaborate with classmates | Provide attribution to help from humans and GenAI |
Ask for help when stuck | Understanding any output from GenAI that makes it into your submissions |
If using it, use GenAI responsibly | When in doubt, ask! |
Attribution example: ''After modifying the Project 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.''
Course tools:
Canvas | Announcements, submissions |
UBC Jupyter Open (JupyterLab) | Jupyter notebooks used for preclass preparation assignments, homework, projects and more |
CoCalc | Group worksheets with real-time collaborative editing |
iClicker Cloud | In-class polling |
Piazza | Course discusison forums |
Poll 1.1: Paper to the moon.
If you fold a LARGE sheet of paper in half, its thickness doubles. Fold it in half again, the thickness doubles again. How many times would you need to fold it in half until the thickness is great enough to reach the moon?
What is your initial guess? (don’t try to calculate yet)
A) 10 - 99
B) 100 - 999
C) 1,000 - 9,999
D) 10,000 - 99,999
E) More than 100,000
Group activity #1: Work in groups of 3-4
Introduce yourselves to each other and share:
Work on a quantitative estimate to the paper folding problem in your group
Poll 1.2: What was your group’s quantitative estimate?
A) 10 - 99
B) 100 - 999
C) 1,000 - 9,999
D) 10,000 - 99,999
E) More than 100,000
Group activity #2: A sorting algorithm
What is an algorithm?
This activity is adapted from Michigan State University's CMSE 201
Use a collaborative space to design an algorithm that sorts a group of people by their birthday (Jan 1st to Dec 31st). The algorithm can ask only yes/no questions.
Test it on your group after you are done designing it. How many questions did it have to ask? Afterward compare with 1-2 other groups and see which algorithm asks the fewest questions.
(Time permitting) Reflect with your group on the following:
We're using CoCalc (by Sagemath) for real-time collaborative coding for group worksheets. Create a free account on https://cocalc.com/ then fill out the "Share your CoCalc email" quiz on Canvas so that I can add you to our CoCalc course
assert
to get feedback on many of our tasks¶(Next slide shows how to prevent the assert error)
animal = "cat"
assert animal == "dog", "you chose the incorrect answer"
print("yay, you passed")
animal = "dog"
assert animal == "dog", "you chose the incorrect answer"
print("yay, you passed")
Until the end of class and before Monday’s class: