Spring 2021; Tuesday/Thursday 2:00pm–3:50pm; Online-only
Quick links:
Modern science are heavily based on computational methods and data
analyses, in additional to empirical evidence and scientific theory.
PHYS 105A provides a starting point for students to learn the
essential skills for computation- and data-driven physics.
We will introduce development tools (shell, git
, Jupyter, etc),
programming languages (python
and C
), basic data analysis methods,
and numerical analysis.
This course is prerequisite to PHYS 305 Computational Physics.
None
- Instructor: Chi-kwan "CK" Chan
Office Hour: Monday: 11am--12pm - Teaching Assistant: Marco Jimenez-Valencia
Office Hour: Friday 11am--12pm - Course home page: https://github.com/uarizona-2021spring-phys105a/phys105a
Upon completion of this course, students will be able to:
- understand the nature and application of computation methods in physical science;
- use popular development tools (shell,
git
, Jupyter, etc); - use good software development practices (version control, documentation, and automation);
- use computational thinking to break down complex physics problems;
- 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.
The sole 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 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" above.
This course is scheduled to be taught in the LIVE ONLINE modality. Session 1 will meet on Tuesday from 2:00pm to 3:50pm via Zoom. Session 2 will meet on Thursday from 2:00p to 3:50pm via Zoom. Each session will include about 1 hour of lecture and 50 minutes of hands-on exercises. You are required to complete your assignments and project on time.
If you feel sick, or may have been in contact with someone who is infectious, stay home. Except for seeking medical care, avoid contact with others and do not travel. Notify your instructors if you will be missing an online course. Campus Health is testing for COVID-19. Please call (520) 621-9202 before you visit in person. Visit the UArizona COVID-19 page for regular updates.
Email is the official method to communicate with the instructor and teaching assistant.
There is no required text. References will be listed in the lecture notes.
As a course on scientific computing, students are excepted to have
access to a computer.
Students will be asked to install popular development tools such as
git
and Jupyter to their computers.
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, these videos are optional.
There will be 8 assignments and 2 projects in total. There will be no quiz nor exam.
The assignment will be assigned approximately once a week. Students are expected to start working on their assignments during the hands-on sessions, and finish them by midnight before the day of the next sessions.
Students are expected to carry out the projects in groups of two or three people. Students will have two weeks to finish their projects (see below).
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.
There will be no final exam. Instead, students will need to finish a final group project. The project deadlines are 12:00am May 4th for Session 1 and 12:00am April 29th for Session 2. The two sessions will coordinate a single time slot to present their projects. The final exam schedule will be helpful in selecting such a time.
There are 8 assignments and 2 projects in total. Each assignment worth 10 points and each project worth 20 points.
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. Nevertheless, the points for a student's worst two assignments or one project will not be counted.
Incomplete (I) or Withdrawal (W): Incomplete (I) or withdrawal (W) grades must be made in accordance with University policies, which are available at here and here, respectively.
Dispute of Grade Policy: If a student disagrees on his or her grade on an assignment or 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 scale will be applied in the final grade, the final grade cannot be re-evaluated. The student is expected to know of his or her own performance through out the course.
We plan to cover the following topics in PHYS 105A:
# | Lecture | Hands-on |
---|---|---|
1 | Overview | Sign up for accounts and set up development environment |
2 | Essential tools for scientific computing | Unix shells, remote login, version control, etc |
3 | The python programming language |
Jupyter Lab and python programming (assignment 10pts) |
4 | Random numbers and Monte Carlo methods | Monte Carlo in python (assignment 10pts) |
5 | The C programming language |
Monte Carlo in C (assignment 10pts) |
6 | Data processing with python |
Data processing with python (assignment 10pts); project planning |
7 | Numerical integration of functions | Project (project 20pts) |
8 | Project presentations | Numerical integrator (assignment 10pts) |
9 | Root finding | Root finders (assignment 10pts) |
10 | Minimization or maximization | Optimizer (assignment 10pts) |
11 | ODE integration. I. | ODE integrator |
12 | ODE integration. II. | n-body integrator (assignment 10pts); project planning |
13 | ODE integration. III. | Research codes; project helpout |
14 | Research codes and outlooks | Project helpout |
Project presentations | (project 20pts) |
Note that there is no Spring break in Spring 2021; instead, there are multiple "Reading Days" scatter around the semester. The different topics are scheduled to be covered in the following days.
Week of | Monday | Tuesday (Session 1) |
Wednesday | Thursday (Session 2) |
Friday |
---|---|---|---|---|---|
Jan 10 | #1 | ||||
Jan 17 | MLK Day | #1 | #2 | ||
Jan 24 | #2 | #3 | |||
Jan 31 | #3 | HO #3 due | #4 | ||
Feb 7 | HO #3 due | #4 | HO #4 due | #5 | |
Feb 14 | HO #4 due | #5 | HO #5 due | #6; project planning | |
Feb 21 | HO #5 due | #6; project planning | HO #6 due | Reading Day | |
Feb 28 | HO #6 due | #7; project helpout | #7; project helpout | ||
Mar 7 | Reading Day | Reading Day; projects due |
Project presentations | ||
Mar 14 | #8 | #8 | |||
Mar 21 | HO #8 due | #9 | HO #8 due | #9 | |
Mar 28 | HO #9 due | #10 | HO #9 due | #10 | Reading Day |
Apr 4 | HO #10 due | #11 | HO #10 due | #11 | |
Apr 11 | #12; project planning | #12; project planning | |||
Apr 18 | HO #12 due | #13; project helpout | Reading Day; HO #12 due |
#13; project helpout | |
Apr 25 | #14; project helpout | #14; project helpout | |||
Mar 2 | Projects due | Projects presentations | Last day of classes | Reading Day |
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. He is also a Data Science Fellow at the UArizona Data Science Institute.
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.).
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.
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: http://deanofstudents.arizona.edu/academic-integrity/students/academic-integrity.
The University Libraries have some excellent tips for avoiding plagiarism, available at http://new.library.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.
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, national origin, age, disability, veteran status, sexual orientation, gender identity, or genetic information. For more information, including how to report a concern, please see http://policy.arizona.edu/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.
The UA's policy concerning Class Attendance, Participation, and Administrative Drops is available at: http://catalog.arizona.edu/policy/class-attendance-participation-and-administrative-drop. 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/absences.
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 drc-info@email.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.
Sessions will be recorded, therefore, students who register after the first class meeting may make up missed lectures and hands-on sessions by watching the recorded. Nevertheless, these students still need to finish the missing assignments and projects in a reasonable time frame. Note that the recordings should not be used as an excuse for the students to skip class (see above).
This course typically does not provide honors credit. For more information, please discuss directly with the instructor.
At the University of Arizona, we strive to make learning experiences as accessible as possible. If you anticipate or experience barriers based on disability or pregnancy, please contact the Disability Resource Center (520-621-3268, https://drc.arizona.edu/) to establish reasonable accommodations.
This course affirms people of all gender expressions and gender identities. If you prefer to be called a different name than what is on the class roster, please let me know. Feel free to correct instructors on your preferred gender pronoun. If you have any questions or concerns, please do not hesitate to contact me directly in class or via email (instructor email). If you wish to change your preferred name or pronoun in the UAccess system, please use the following guidelines:
Preferred name: University of Arizona students may choose to identify themselves within the University community using a preferred first name that differs from their official/legal name. A student's preferred name will appear instead of the person's official/legal first name in select University-related systems and documents, provided that the name is not being used for the purpose of misrepresentation. Students are able to update their preferred names in UAccess.
Pronouns: Students may designate pronouns they use to identify themselves. Instructors and staff are encouraged to use pronouns for people that they use for themselves as a sign of respect and inclusion. Students are able to update and edit their pronouns in UAccess.
More information on updating your preferred name and pronouns is available on the Office of the Registrar site at https://www.registrar.arizona.edu/.
UA Academic policies and procedures are available at http://catalog.arizona.edu/policies.
- 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
- https://health.arizona.edu/counseling-psych-services
- CAPS provides mental health care, including short-term counseling services.
- Phone: 520-621-3334
- http://deanofstudents.arizona.edu/student-assistance/students/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@email.arizona.edu
- Phone: 520-621-7057
- 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@email.arizona.edu
- Phone: 520-621-5767
If you have questions about your academic progress this semester, or your chosen degree program, please note that advisors at the Advising Resource Center can guide you toward university resources to help you succeed.
If you are experiencing unexpected barriers to your success in your courses, please note the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office can be reached at 520-621-2057 or DOS-deanofstudents@email.arizona.edu.
If you are facing physical or mental health challenges this semester, please note that Campus Health provides quality medical and mental health care. For medical appointments, call (520-621-9202. For After Hours care, call (520) 570-7898. For the Counseling & Psych Services (CAPS) 24/7 hotline, call (520) 621-3334.
Any student who has difficulty affording groceries or accessing sufficient food to eat every day, or who lacks a safe and stable place to live and believes this may affect their performance in the course, is urged to contact the Dean of Students for support. In addition, the University of Arizona Campus Pantry is open for students to receive supplemental groceries at no cost. Please see their website at: campuspantry.arizona.edu for open times.
Furthermore, please notify me if you are comfortable in doing so. This will enable me to provide any resources that I may possess.
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.