Skip to content

uarizona-2022spring-phys105a/phys105a

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHYS 105A: Introduction to Scientific Computing

Spring 2022; Tuesday/Thursday 2:30pm–4:20pm; In-person

Quick links:

Description of Course

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, and numerical methods. This course is prerequisite to PHYS 305 Computational Physics.

Course Prerequisites or Co-requisites

None

Instructor and Contact Information

Please let CK/Gabriele know if plan to come to call into the office hour.

Expected Learning Outcomes

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 and C 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.

Course Objectives

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.

Course Format and Teaching Methods

This course is scheduled to be taught in-person. Session 1 will meet on Tuesday from 2:30pm to 4:20pm, Steward Observatory, Rm 208. Session 2 will meet on Thursday from 2:30pm to 4:20pm, Steward Observatory, Rm 208. Each session will include about 1 hour of lecture and 50 minutes of hands-on exercises. You are required to complete your assignments and projects on time.

Class attendance

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 a class. 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.

Course Communications

Email is the official method to communicate with the instructor and teaching assistant.

Required Texts or Readings

There is no required text. References will be listed in the lecture notes.

Required or Special Materials

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.

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.

Assignments and Examinations: Schedule/Due Dates

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).

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 a final group project. The project deadlines are 11:59pm May 2nd for Session 1 and 11:59pm April 27th 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.

Grading Scale and Policies

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 20 points worth of assignments or 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.

Scheduled Topics/Activities

Topics

We plan to cover the following topics in PHYS 105A:

# Lecture Hands-on
1 Overview Sign up for accounts and set up development environment (assignment 5pts)
2 Essential tools for scientific computing Unix shells, remote login, version control, compiled vs interpreted languages, etc
3 The python programming language python programming and tests (assignment 5pts)
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 Jupyter and 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 Quantum computing Quantum computing with Qiskit; project helpout
14 Research codes and outlooks Project helpout
15 Project presentations (project 20pts)

Schedule

The different topics are scheduled to be covered in the following days.

Week of Monday Tuesday
(Session 1)
Wednesday Thursday
(Session 2)
Friday
Jan 9 #1
Jan 16 MLK Day #1 #2
Jan 23 #2 #3
Jan 30 #3 HW #3 due #4
Feb 6 HW #3 due #4 HW #4 due #5
Feb 13 HW #4 due #5 HW #5 due #6: project planning
Feb 20 HW #5 due #6: project planning HW #6 due #7: project helpout
Feb 27 HW #6 due #7: project helpout #8: project presentations
Mar 6 Spring break
Mar 13 #8: project presentations HW #8 due #9
Mar 20 HW #8 due #9 HW #9 due #10
Mar 27 HW #9 due #10 HW #10 due #11
Apr 3 HW #10 due #11 #12: project planning
Apr 10 #12: project planning HW #12 due #13: project helpout
Apr 17 HW #12 due #13: project helpout #14: project helpout
Apr 24 #14: project helpout Project due #15: project presentations
Mar 1 Project due #15: project presentations Last day of classes

Biography

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.

Gabriele Bozzola is a graduate student specializing in computational and theoretical astrophysics. He uses large-scale simulations to study binary black hole mergers and their emissions. Gabriele is deeply interested in scientific software and a fervent advocate for open-source and open-science. He develops and maintains a few packages and modules for numerical-relativity simulations and contributes to open-source projects. Gabriele is currently a NASA future investigator for space science.

Policies and 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.

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: 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.

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, 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.

Confidentiality of Student Records

See http://www.registrar.arizona.edu/personal-information/family-educational-rights-and-privacy-act-1974-ferpa?topic=ferpa.

Absence and Class Participation Policy

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.

Makeup Policy for Students Who Register Late

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).

Honors Credit

This course typically does not provide honors credit. For more information, please discuss directly with the instructor.

Accessibility and Accommodations

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.

Preferred Gender Pronoun

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/.

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)

The Dean of Students Office's Student Assistance Program

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@email.arizona.edu
  • Phone: 520-621-5767

Additional Information

Academic Advising

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.

Life Challenges

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.

Physical and Mental-Health Challenges

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.

Campus Pantry

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.

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.

About

Introduction to Scientific Computing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages