Scientific Computing Using Python
PHYS:4905 (Special Topics in Physics) - Fall
2018
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
and Wednesday 2-3:30 pm or by appointment.
Course website: http://astro.physics.uiowa.edu/~kaaret/2018f_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. 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. Physics and astronomy
majors may petition for this course to satisfy the linear algebra
requirement.
Attendance: The
class will meet from 5:00 to 6:15 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 buy or have
access to the textbook for the course, which is
A Student's
Guide To Python For Physical Modeling, by Kinder and Nelson,
ISBN: 9780691180571.
Optional Text: Linear Algebra, by Cherney, Denton,
Thomas, and Waldron, available at
https://www.math.ucdavis.edu/~linear/
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.
- A few 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
syllabus insert.