Syllabus#
Course Number & Title: PHYS 305—001 Computational Physics
Course Website: https://ua-2025q1-phys305.github.io
Semester and Year: Spring 2025
Time: Tuesday & Thursday 12:30–1:45pm
Location: Social Sciences, Room 206
Description of Course#
Modern science relies heavily on computational methods and data analysis, in addition to empirical evidence and scientific theory. PHYS 305 offers a comprehensive introduction to the essential skills needed for computation- and data-driven physics. This course covers a range of computational and numerical methods, including integration of Ordinary Differential Equations (ODEs) and Partial Differential Equations (PDEs), equipping students with the tools necessary to solve complex problems in upper level physics. In addition, students will learn modern statistical methods and apply these techniques to physical research. The curriculum is designed to bridge theoretical concepts with practical applications. Through a combination of lectures, hands-on exercises, and projects, students will develop a robust understanding of the essential tools and techniques required for modern astrophysical research.
Course Prerequisites or Co-requisites#
(PHYS 105A or ECE 175) and (PHYS 142 or 143 or 162H) and (PHYS 240 or 241 or 261H). Prerequisite or concurrent registration in MATH 254 (Intro to ODE) or MATH 355 (Analysis of ODE).
This course is a prerequisite for the following courses: PHYS 332, PHYS 426, PHYS 472.
Instructor and Contact Information#
Instructor: Chi-kwan Chan
Email: chanc@arizona.edu (please include “PHYS305” in subjects of emails)
Office: Steward Observatory N332
Office Hours: Monday 1–2pm, Wednesday 11am–noon (Steward Observatory N332), or by appointment
Teaching Assistant: Devendran Vemula
Email: devendranvemula@arizona.edu (please include “PHYS305” in subjects of emails)
Office: PAS 372
Office Hours: Wednesday 12–1pm (PAS 372), or by appointment
Preceptor: Nikhil Garuda
Email: nikhilgaruda@arizona.edu (please include “PHYS305” in subjects of emails)
Course Format and Teaching Methods#
This course is scheduled to be taught in-person. We will meet every Tuesday and Thursday from 12:30pm to 1:45pm at Saguaro Hall, Room 114.
Each session will include about 45 minutes of lecture and 30 minutes of hands-on labs. You are required to complete your homework assignments and projects on time.
Course Objectives#
The goal of this course is to get students ready for modern computation- and data-driven physics.
In order to do so, we will expose the the students to multiple development tools and software development best practices.
We will introduce the basic of the python
and C
programming languages, and provide hands-on on data analysis and numerical problems.
We will also introduce basic data analysis methods and numerical analysis.
After taking this course, students should be able to solve simple physics problems numerically, create plots to visualize their results, and document their work and communicate with other physicists.
See “Expected Learning Outcomes” below.
Expected Learning Outcomes#
Upon completion of this course, students should be able to:
understand the nature and application of computation methods in physical science;
use popular development tools (shell,
git
,JupyterLab
, etc);use good software development practices (version control, documentation, and automation);
use computational thinking to break down complex (physics) problems into smaller pieces;
solve these problems by writing programs in the
python
andC
programming languages;speak and write about scientific knowledge;
appreciate computation complexity and have a basic awareness of numerical errors;
use data analysis and numerical methods properly, and be aware of their common pitfalls;
critically analyze and interpret data and results presented in tables, graphs and charts as well as perform appropriate computations;
read and understand scientific literature from popular sources such as magazines and newspapers;
aware of a wide range of science use cases, and develop the skill to self-learn computation tools and methods.
Policies of Course#
Absence and Class Participation Policy#
The UA’s policy concerning Class Attendance and Participation is available at: https://catalog.arizona.edu/policy/courses-credit/courses/class-attendance-participation.
The UA policy regarding absences for any sincerely held religious belief, observance or practice will be accommodated where reasonable, http://policy.arizona.edu/human-resources/religious-accommodation-policy.
Absences pre-approved by the UA Dean of Students (or Dean Designee) will be honored. See: https://deanofstudents.arizona.edu/policies/attendance-policies-and-practices
Participating in the course and attending lectures and other course events are vital to the learning process. As such, attendance is required at all lectures and discussion section meetings. Absences may affect a student’s final course grade. If you anticipate being absent, are unexpectedly absent, or are unable to participate in class online activities, please contact me as soon as possible. To request a disability-related accommodation to this attendance policy, please contact the Disability Resource Center at (520) 621-3268 or disability@arizona.edu. If you are experiencing unexpected barriers to your success in your courses, the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office is located in the Robert L. Nugent Building, room 100, or call 520-621-7057.
Makeup Policy for Students Who Register Late#
Statement on whether students who register after the first class meeting may make up missed assignments/quizzes and the deadline for doing so.
Course Communications#
Email is the official method to communicate with the instructor and teaching assistant outside scheduled classes and office hours.
Course Materials#
Required Texts or Readings#
There is no required text.
The main reference is:
Numerical Recipes, 2nd Edition in C or 3rd Edition in C++, by William H. Press, Saul A. Teukolsky, William T. Vetterling, & Brian P. Flannery; online versions: https://numerical.recipes
Additional references will be listed in the lecture notes.
Required or Special Materials#
As a course on computational physics, students are excepted to have access to computers.
Although not required, students will be encouraged to install popular development tools such as git
, python
, and JupyterLab
to their computers.
Required Extracurricular Activities#
The instructor will provide students additional online videos to broaden the students’ knowledge on computational physics. When bundled with assignments, students are required to watch them. When provided as references, the videos are optional.
Near the end of the semester, students are encouraged to join a field trip to UA’s Computer Center and see our supercomputers.
Assignments and Examinations#
Schedule/Due Dates#
The course includes 6 homework assignments and 2 group projects. There are no quizzes or exams.
Homework Assignments: Assignments will be given approximately every two weeks (see schedule below). Students should begin working on them during the hands-on labs and submit them within one week of the assignment date.
Group Projects: Projects will be completed in teams of approximately four students. All project materials must be submitted within one week after the corresponding project presentations.
Writing Requirement#
Although this is not a writing intensive course, good documentation is essential in communicating science and developing software. Students are required to provide enough written explanations in their assignments.
Final Examination or Project#
There will be no final exam. Instead, students will need to finish two group projects.
The project presentations are scheduled in the weeks of March 2nd and April 27th. All project materials must be submitted within one week after the corresponding project presentations.
Grading Scale and Policies#
The course includes 6 homework assignments and 2 group projects. Each homework assignment worth 10 points and each project worth 20 points, sum up to 100 points total. Students are expected to submit their assignments and projects by the specified deadlines.
This course provides regular letter grades (A–E), which are based on a simple point system:
A: 80–100 points
B: 70–79.9 points
C: 60–69.9 points
D: 50–59.9 points
E: 0–49.9 points
No scaling will be applied.
Incomplete (I) or Withdrawal (W): Requests for incomplete (I) or withdrawal (W) must be made in accordance with University policy, which is available at https://catalog.arizona.edu/policy/courses-credit/grading/grading-system.
Dispute of Grade Policy: If a student disagrees on his or her grade on a homework assignment or a project, the student must send the instructor a formal request through email to re-evaluate the grade within a week from the time that the student receives the grade. Because no scaling will be applied in the final grade, the final grade cannot be re-evaluated. The student is expected to know his or her own performance throughout the course.
Scheduled Topics/Activities#
# |
Week |
Tuesday |
Thursday |
---|---|---|---|
1 |
Jan 12–Jan 18 |
||
2 |
Jan 19–Jan 25 |
||
3 |
Jan 26–Feb 1 |
Guest lecture: Useful Tools (homework 1) |
|
4 |
Feb 2–Feb 8 |
||
5 |
Feb 9–Feb 15 |
Root Finding (lab, sol) |
|
6 |
Feb 16–Feb 22 |
||
7 |
Feb 24–Mar 1 |
||
8 |
Mar 2–Mar 8 |
Project I presentations |
Project I presentations (homework) |
9 |
Mar 9–Mar 15 |
Spring recess (no class) |
Spring recess (no class) |
10 |
Mar 16–Mar 22 |
ODE integrators II: implicit and symplectic methods (lab, sol) |
|
11 |
Mar 24–Mar 29 |
||
12 |
Mar 30–Apr 5 |
||
13 |
Apr 6–Apr 12 |
Monte Carlo Methods III: Parameter Estimation and Markov Chain |
|
14 |
Apr 13–Apr 19 |
Numerical Partial Differential Equation II: Stability Analysis |
|
15 |
Apr 20–Apr 26 |
Numerical Partial Differential Equation IV: Spectral Methods (homework) |
|
16 |
Apr 27–May 3 |
Project II presentations |
Project II presentations |
17 |
May 4–May 10 |
Visiting UA HPC |
Reading Day (no class) |
Biography#
Prof. Chi-kwan “CK” Chan is a computational astrophysicist working with cutting edge technologies to advance both theoretical and observational research. He has developed new algorithms to study magnetohydrodynamic turbulence, used graphics processing units (GPUs) to accelerate general relativistic ray tracing, designed cloud computing infrastructures to handle big observational data, and applied machine learning algorithms to speed up and automate data processing. Some of CK’s active projects include simulating and understanding accretion disks, capturing images of black holes, and visualizing astrophysical simulations in virtual reality. A true wildcat, CK received his bachelors and doctoral degrees from the University of Arizona.
Code of Conduct#
Classroom Behavior Policy#
To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.).
Threatening Behavior Policy#
The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including to oneself. See http://policy.arizona.edu/education-and-student-affairs/threatening-behavior-students.
Accessibility and Accommodations#
Recommended language is provided on the Disability Resource Center website: http://drc.arizona.edu/instructors/syllabus-statement.
Code of Academic Integrity#
Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work/exercises must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See: https://deanofstudents.arizona.edu/student-rights-responsibilities/academic-integrity.
The University Libraries have some excellent tips for avoiding plagiarism, available at https://lib.arizona.edu/research/citing/plagiarism.
Selling class notes and/or other course materials to other students or to a third party for resale is not permitted without the instructor’s express written consent. Violations to this and other course rules are subject to the Code of Academic Integrity and may result in course sanctions. Additionally, students who use D2L or UA e-mail to sell or buy these copyrighted materials are subject to Code of Conduct Violations for misuse of student e-mail addresses. This conduct may also constitute copyright infringement.
Nondiscrimination and Anti-harassment Policy#
The University of Arizona is committed to creating and maintaining an environment free of discrimination. In support of this commitment, the University prohibits discrimination, including harassment and retaliation, based on a protected classification, including race, color, religion, sex (including pregnancy), national origin, age, disability, veteran status, sexual orientation, gender identity, or genetic information. For more information, including how to report a concern, please see https://policy.arizona.edu/employment-human-resources/nondiscrimination-and-anti-harassment-policy
Our classroom is a place where everyone is encouraged to express well-formed opinions and their reasons for those opinions. We also want to create a tolerant and open environment where such opinions can be expressed without resorting to bullying or discrimination of others.
Usage of Generative AI#
Homework and projects in this course are designed to help students apply class concepts, test their learning, and develop software development and science communication skills. Generative AI tools, such as ChatGPT, Google Gemini, and GitHub Co-Pilot, can be useful for brainstorming and debugging. However, students must write their own code, take full responsibility for their work, and demonstrate a clear understanding of the concepts.
While AI tools can assist learning, they may produce inaccurate or biased outputs. Students are responsible for verifying facts and critically assessing all submitted material. Any use of generative AI must be acknowledged or cited (see guidelines from UA library). Failure to disclose such use or to write original code will be considered a violation of academic integrity.
For questions, contact your instructor.
Additional Resources for Students#
UA Academic policies and procedures are available at http://catalog.arizona.edu/policies
Campus Health#
http://www.health.arizona.edu/
Campus Health provides quality medical and mental health care services through virtual and in-person care.
Phone: 520-621-9202
Counseling and Psych Services (CAPS)#
https://health.arizona.edu/counseling-psych-services
CAPS provides mental health care, including short-term counseling services.
Phone: 520-621-3334
The Dean of Students Office’s Student Assistance Program#
https://deanofstudents.arizona.edu/support/student-assistance
Student Assistance helps students manage crises, life traumas, and other barriers that impede success.
The staff addresses the needs of students who experience issues related to social adjustment, academic challenges, psychological health, physical health, victimization, and relationship issues, through a variety of interventions, referrals, and follow up services.
Email: DOS-deanofstudents@arizona.edu
Phone: 520-621-7057
Survivor Advocacy Program#
https://survivoradvocacy.arizona.edu/
The Survivor Advocacy Program provides confidential support and advocacy services to student survivors of sexual and gender-based violence.
The Program can also advise students about relevant non-UA resources available within the local community for support.
Email: survivoradvocacy@arizona.edu
Phone: 520-621-5767
Safety on Campus and in the Classroom#
For a list of emergency procedures for all types of incidents, please visit the website of the Critical Incident Response Team (CIRT): https://cirt.arizona.edu/case-emergency/overview
Also watch the video available at https://arizona.sabacloud.com/Saba/Web_spf/NA7P1PRD161/common/learningeventdetail/crtfy000000000003560
Confidentiality of Student Records#
http://www.registrar.arizona.edu/ferpa
Subject to Change Statement#
Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.