Computational Physics @ Georgia Tech
Prof. John Wise
The purpose of this course is to introduce various numerical methods that are used in solving physics problems. Class time will be dedicated to covering theoretical aspects of a numerical method and discussing its potential applications. While the class is not a programming class, you will be exposed to modern programming techniques and expected to reproduce them in exercises and projects. Example applications include topics such as quantum mechanics, classical mechanics, hydrodynamics, astrophysics, and cosmology.
We will be using Python as the programming language of the course. It is a versatile interpreted language that is widely used in scientific research and industry. We will dedicate the first few lectures as tutorials to python and best programming practices. In particular, the instructor will be using Jupyter notebooks for class notes and examples.
This course is project based. The course grades will be primarily calculated from scores from homework sets and a team project. For the team project, you are encouraged to find students that identify a similar interest in physics, so you can work on a problem of personal interest.
Course: PHYS 3266, Computational Physics, Spring 2017, TR 12:05-1:25pm, Howey N210, Slack channel
Instructor: Prof. John Wise, Office: Boggs 1-61, Email: jwise [ at ] physics.gatech.edu
Teaching Assistant: Stavropoulos Athanasios, Boggs 1-38, Email: astavropoulos3 [ at ] gatech.edu
Office Hours: Tuesday 4-5pm; Wednesday 1:30-2:30pm; or by appointment
Prerequisites: PHYS 2212 or 2232
We will be using Computational Physics by Mark Newman (links: supporting website, amazon). Two other useful texts are Numerical Recipes by Press, Teukolsky, Vetterling, and Flannery (link: supporting website, amazon), even though it uses C++, and A Student's Guide to Python for Physical Modeling by Kinder and Nelson (link: amazon)
The course grade will be entirely determined from your scores on the homework sets, team project, and class participation. There will be no tests or final exams as this class is project-based.
Final letter grades: A = >89.5%, B = 79.5-89.4%, C = 69.5-79.4%, D = 59.5-69.4%, F = <59.4%. All decimal places smaller than tenths of a percentage point are truncated.
- There will be seven homework sets during the semester (subject to change).
- Homework problems will typically require writing computer programs in Jupyter notebooks based on the numerical algorithms discussed in class.
- Programs must be written completely from scratch, with the essential steps fully commented in the notebook markup language. However, the structure of the program can be based, if necessary, on programs written or discussed by the instructor.
- Students are encouraged to work and discuss problems together, but the programming and written work must be your own.
- The instructor reserves the right to request the student to reproduce the results submitted in homework assignments.
- Delays in the submission of the assignment will be penalized 10% per day up to a maximum of 3 days late.
- All homework submissions must be in the form of a Jupyter notebook.
- Grading rubric (per problem)
- 100% = correct solution, code compiles/runs and well documented
- 90% = missing documentation, correct solution and compiles/runs
- 80% = small errors but code complies/runs
- 70% = incorrect solution
- 25% = code does not compile/run
- 0% = no answer
Team Project (25%)
- Teams of 4-6 students will formulate, solve, and present a class project. This is an open-ended project in which the teams will pose a research question, devise a plan, and write a program to explore the system. Teams are free to choose a particular field of physics -- astrophysics, physics of living systems, condensed matter, non-linear dynamics, etc.
- We will form teams during a class period to be determined.
- Teams must consult with the instructor on the viability and scope of the question before finalizing it.
- Teams must finalize their research question with the instructor before Friday, February 24 (15% of grade)
- Progress report due: Friday, March 31 (10% of grade)
- Final report due: Wednesday, April 26 (50% of grade)
- Class presentations: Thursday, April 20 and Tuesday, April 25 (25% of grade)
Class Participation (5%)
- The class periods will involve in-class projects and associated discussions. Please bring your laptops to every class.
- Every class period, the instructor will choose one or two students to present the results of their in-class project. The discussion leaders will be randomly assigned after the first two weeks of class.
- Your class participation will be computed based on your completion of a presentation and your engagement during such projects.