Scientific Computing Using Python
PHYS:4905 (Special Topics in Physics) - Fall
2019
Syllabus
Instructor: Prof.
Philip Kaaret
Office: 702 Van Allen Hall
Phone: 335-1985
E-mail:
philip-kaaret@uiowa.edu
Web: http://astro.physics.uiowa.edu/~kaaret
Office hours: Monday
2-3 pm, Thursday 10-11 am, and Thursday 3:30-4:30 pm or by
appointment.
Course website: http://homepage.physics.uiowa.edu/~pkaaret/2019f_p4905
College of Liberal Arts and Sciences
Department of Physics and Astronomy
DEO: Prof. Frederick Skiff
Office: 203 Van Allen Hall
Phone: 335-1686
Description of Course: An introduction to scientific
programming using the python language and an introduction to
linear algebra concentrating on aspects used in physics. The
course will cover basic programming, input and output of data,
computation, processing, graphical output, user interfaces, and
how to use the extensive libraries available in python. The topics
covered will emphasize matrix techniques, thus providing an
introduction to linear algebra from a computational perspective.
The linear algebra portion will cover matrices, Gaussian
elimination, vector spaces and linear operators, and eigenvalues
and eigenvectors. Physics and astronomy majors may petition
for this course to satisfy the linear algebra requirement.
Learning Goals: Students should gain a basic
understanding of scientific programming and the Python language
and a knowledge of linear algebra sufficient for upper level
Physics courses including Intermediate Mechanics and Introduction
to Quantum Mechanics I and II.
Attendance: The
class will meet from 12:30 to 1:45 pm on Tuesdays and Thursdays in
Room 201 of Van Allen Hall.
- Students are expected to attend all class sessions and do
an additional 6 hours of work outside class per week for a
total of about 9 hours per week devoted to this class.
Poor attendance or inadequate effort outside class is likely
to affect success in the course.
- Students should feel free to come during office hours or by
appointment to discuss any topic related to the course.
Required materials: Students are expected to have access to
the programming textbook for the course, which is
A Student's
Guide to Python for Physical Modeling: Updated Edition by
Kinder and Nelson, ISBN-13: 978-0691180571.
Free texts for linear algebra: Students must also have
access to the linear algebra textbook for the course, which is
Linear
Algebra, by Cherney, Denton, Thomas, and Waldron, available
at
https://www.math.ucdavis.edu/~linear/.
Students may also wish to consult
Linear Algebra: A
Course for Physicists and Engineers by Mathai and Haubold.
This book is available electronically for free via the UI
Libraries at
https://www.degruyter.com/viewbooktoc/product/495839.
Course work: Students will be required to complete assigned
reading, complete the assigned homework that includes programming
projects, and take exams.
- Reading is listed on the lecture/laboratory schedule.
Students are expected to come to class having already read
the sections in the textbook assigned for that class
(except for the first class).
- Homework consists of assigned problems on the
lecture/laboratory schedule. Each homework assignment
must be handed in at the start of class on the
assigned date. Late homework will not be accepted.
Each student's homework must be written up individually, but
students are allowed to work on the homework in small groups.
- Programming projects will be assigned during the semester as
part of the homework assignments. Students are
encouraged to talk with each other about the projects and
programming in general. However, students must write
their own code for the programming projects
individually. Duplicate code handed in by two or
more students will receive zero scores for both students and
may be considered academic misconduct.
- Two exams will be given in class. Each student's exam
must be done individually. There will be no final exam.
- The detailed class schedule with reading and homework
assignments is posted on the class web site.
Grading: The grade in the course will be based on the
homework which includes the programming projects (about 60%) and
exams (about 40%). Plus and minus grades will be awarded.
Administration: The College of Liberal Arts and
Sciences is the administrative home of this course and governs
matters such as the add/drop deadlines, the second-grade-only
option, and other related issues. For CLAS policies and procedures
including accommodations for disabilities, see the
CLAS
Teaching Policies and Resources Syllabus insert.