- Spring 2024
- Wednesday 11:00am-12:50pm
- PAS 272 computer lab
This lecture will provide an overview of what scientific computing is and its importance in various fields, such as physics and astronomy. The students will learn about the different applications of scientific computing, such as simulating physical phenomena, analyzing experimental data, and solving complex mathematical problems. The students will learn about the role of computers in scientific computing, including their capabilities and limitations. They will learn about the different programming languages that are commonly used in scientific computing, such as Python, C/C++, and their advantages and disadvantages. By the end of the course, the students will have a clearer sense of the role of programming in scientific computing and how it is used to solve scientific as well as daily problems.
During the first lecture, the students will be introduced to the overall structure of the course and the topics that will be covered in each lecture. They will learn about the goals and objectives of the course, the prerequisites, and the assessment methods. They will also be given a brief overview of the project that they will be working on at the end of the course. By the end of the 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. This course is prerequisite to PHYS 305 Computational Physics.
Calculus I - Math 122B
- Instructor: Shuo Kong
- Email: shuokong@arizona.edu
- Office Hour: Friday 11:00am-12:00pm at SO 550
- Course home page: https://github.com/uarizona-phys105a-2024spring/phys105a-s1
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);
- use computational thinking to break down complex problems;
- solve these problems by writing programs in
python; - 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;
- read and understand scientific literature;
- aware of a wide range of science use cases, and develop the skill to self-learn computation tools and methods.
Class meets on Wednesday from 11:00am-12:50pm. It includes about 50 min of lecture and 50 min of hands-on exercises. There will be assignments and projects. Students are required to complete them on time.
"Attendance" includes attending class regularly, completing in-class assignments, completing projects and presentations. Students are also encouraged to participate discussions during class, seeking help during study sessions and office hours, etc.
Masks are recommended, but not required,
in most indoor spaces including classrooms.
Further detail may be found at
https://covid19.arizona.edu/face-coverings.
Please note that you may go to CDC and search by state and county to get the recommendation based on the community levels of infection.
Notify your instructors if you will be missing a class. Campus Health provides testing for COVID-19. Visit the UArizona COVID-19 page for regular updates.
Email is the official method to communicate with the instructor.
As a course on scientific computing, students are expected 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 9 assignments and 2 projects in total. There will be no quiz or exam.
The homework 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 work on the projects in groups of two or three people. Students will have three 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.
Each assignment worths 10 points and each project worths 20 points. The points for a student's worst two assignments or one project will not be counted. In Class Attendance is 10 points.
This course provides regular letter grades (A-E), which are based on a simple point system:
- A: 90-100 points
- B: 80-89 points
- C: 70-79 points
- D: 60-69 points
- E: <60 points
No scaling will be applied.
Incomplete (I) or Withdrawal (W): Incomplete (I) or withdrawal (W) grades must be made in accordance with University policies, which are available at http://catalog.arizona.edu/policy/grades-and-grading-system#incomplete and http://catalog.arizona.edu/policy/grades-and-grading-system#Withdrawal, 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 their own performance throughout the course.
Tentative plan (subject to change depending on progress):
| # | Lecture | Hands-on |
|---|---|---|
| 1 | Overview | Sign up for accounts and set up development environment |
| 2 | Essential tools for scientific computing | Unix shells, vim editor, Git (assignment 10pts) |
| 3 | The python programming language |
Jupyter and python programming (assignment 10pts) |
| 4 | python module, class, package |
python programming (assignment 10pts) |
| 5 | File handling, Data processing | Data processing (assignment 10pts) |
| 6 | Random numbers and Monte Carlo methods | Monte Carlo (assignment 10pts); project planning |
| 7 | Root finding | Root finders (assignment 10pts); project |
| 8 | Numerical integration of functions | work on project |
| 9 | project presentations | |
| 10 | Minimization or maximization | Optimizer (assignment 10pts) |
| 11 | Animation | Animation (assignment 10pts) |
| 12 | ODE integration | ODE integrator (assignment 10pts) |
| 13 | Graph and network | project planning |
| 14 | Machine-learning | work on project |
| 15 | The C/C++ programming language |
work on project |
| 16 | project presentations |
Tentative schedule (subject to change):
| Week of | Monday | Tuesday | Wednesday | Thursday | Friday |
|---|---|---|---|---|---|
| Jan 10 | #1 | ||||
| Jan 17 | #2 | ||||
| Jan 24 | HO #2 due | #3 | |||
| Jan 31 | HO #3 due | #4 | |||
| Feb 7 | HO #4 due | #5 | |||
| Feb 14 | HO #5 due | #6 (project) | |||
| Feb 21 | HO #6 due | #7 | |||
| Feb 28 | #8 | ||||
| Mar 6 | spring recess | ||||
| Mar 13 | project due | #9 (present) | |||
| Mar 20 | HO #9 due | #10 | |||
| Mar 27 | HO #10 due | #11 | |||
| Apr 3 | HO #11 due | #12 | |||
| Apr 10 | HO #12 due | #13(project) | |||
| Apr 17 | #14 | ||||
| Apr 24 | #15 | ||||
| May 1 | project due | #16(present) | Reading Day |
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 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 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 go to https://drc.arizona.edu for further information. 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.
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.
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
- 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@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@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. See their website at: https://campuspantry.arizona.edu for open times.
Information contained in the course syllabus may be subject to change with advance notice, as deemed appropriate by the instructor.