Home Page        Calendar        Wiki    
   

PHY607 Spring 2012

 

Computational Physics: Syllabus

 

Instructor

Prof. Duncan Brown
Room 263-1, Physics Building
dabrown@physics.syr.edu

Goal

The goal of this course is to introduce students to computing as it is used in the physics research environment. No prior experience with research computing is required, as students will be able to select from a range of projects suited to their ability.

Time and Location

The physics computing cluster (Physics Building Room 115) is reserved on Mondays and Wednesdays 11am - 12.20pm, Physics Building Room 115. However, since you learn computing by programming and not by listening to lectures, you will spend the majority of the class working on projects.

Class will meet on the following days:

  1. Wednesday January 18, 11am.
  2. Wednesday January 25, 11am.
  3. Wednesday February 8, 11am.
  4. Wednesday February 15, 11am.
  5. Wednesday February 29, 11am.
  6. Wednesday March 7, 11am.
  7. Wednesday March 28, 11am.

Office Hours

Email me to set up an appointment if you would like help outside of class.


Project 1: Deadline February 8, 2012 at 11am

Introduction to Unix and C

This project will introduce the UNIX operating system, the vi editor, the gnuplot plotting program and basic C programming. The first few pages of this project are intended to be used as a reference. You will become familiar with these commands as you use them and write up a short report on a computing exercise.

Project handout:

Example programs:


Project 2: Deadline Thursday March 8, 2012 at 5pm

Numerical Differentiation and Integration

Project handout:

Useful links:


Project 3: Deadline Wednesday April 4, 2012 at 5pm

Using the GSL Library

Project handout:


Project 4

  • Part 1 due in class April 11, 2012.
  • Part 2 due in class April 18, 2012.
  • Part 3 due in class April 25, 2012.

Grading

Your final grade will be divided between four projects that you will complete over the course of the semester. There will be no homework assignments or exams. Since your grade is based entirely on project work, the deadlines for submission will be strictly enforced to ensure that you do not fall behind with the projects.

The project deadlines are:

  • Project 1 (20%): Wednesday February 8, 2012 at the start of class (11am).
  • Project 2 (20%): Thursday March 8, 2012 at 5pm.
  • Project 3 (30%): Wednesday April 4, 2012 at 5pm.
  • Project 4 (30%): Friday May 4, 2012 at 5pm

Credit will be given for the quality of your reports. Your report should be clearly structured and, should read in a coherent manner and be grammatically correct. Project reports must be word-processed, although you may write equations in by hand, if you prefer. You should take care to label any figures and any computer printouts. Pages should be numbered. The best document preparation system for scientific reports is LaTeX, although you may use any word-processing software that you are familiar with.

Do not devote too much time to the computing at the expense of writing the report and performing whatever analysis is required. Your report should contain:

  • details of what you have done,
  • any special consideration you have given to solving a problem or producing code
  • the answers to any questions posed in the project handouts
  • enough data to support your conclusions,
  • a detailed description of how you convinced yourself that the program was functioning correctly (e.g. hand checks, comparison with analytical results, correct behavior of errors, limiting forms for which solutions are known),
  • whenever relevant, a summary of what you can learn from each project.

You should include suitably labeled listings of all the computer programs that you have written, either integrated into the report or as appendices. You should pay particular attention to the following points in your programs:

  • Overall structure. Your program should be well written with sensible use of functions, variables and arrays.
  • Clarity. You should include comments in your programs. Use sensible names for variables. Lay out your program with indentations and blank lines to show its structure.
In particular you should avoid the following:
  • tables of data spanning many pages---your report should summarize the results, including sufficient data to answer the specific questions posed and to substantiate the conclusions that you make.
  • too many graphs all showing similar effects---try to combine your data together to present it as succinctly as possible.
Some of the programs may generate very large data files. It is not necessary (or desirable) to submit print-outs of these.

Programming Help

If your program does not work, don't spend more than 30 minutes at the computer trying to fix it. Do something else for a while and then try again. Many stubborn problems have been known to fix themselves walking home! If you are still stuck after several attempts, seek help from me.

Remember: do not leave writing your program and report to the week before it is due. Pace yourself throughout the semester to ensure that you meet the deadlines. Do not be afraid to seek help from me early if you are not making progress with a project.

Text Books

There is no required text for this class as we will be following material on handouts given out in class, however you may find the resources below helpful. There are many excellent online tutorials for learning C and UNIX, for example:

In addition to these, the following textbooks may be useful:

  1. The C Programming Language, Brian W. Kernighan and Dennis M. Ritchie (Prentice Hall). Presents a complete guide to C language programming written by the developers of C. Covers all aspects of the language and the C standard library. This is available from the University bookstore.
  2. UNIX in 24 hours, Dave Taylor (Sams Publishing). If you prefer to get a textbook, rather than use an online tutorial, this is a very good introduction to the UNIX operating system. The book covers all the basics that you will need in this course.
  3. Numerical Recipes, William H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery. This is the essential book for understanding numerical algorithms. It covers far more material than we have time for in this course. If you do not want to buy the whole book, you can download the relevant sections from the second edition.
  4. GNU Scientific Library Reference Manual. Introduces the GNU Scientific Library, describes the library functions and contains example code. It is available online.
  5. Numerical Analysis, Richard L. Burden and J. Douglas Faires (Brooks Cole). This book is written at a more pedagogical level than Numerical Recipies and is a very good introduction to numerical techniques.

Academic Integrity

The Syracuse University Academic Integrity Policy holds students accountable for the integrity of the work they submit. Students should be familiar with the Policy and know that it is their responsibility to learn about instructor and general academic expectations with regard to proper citation of sources in written work. The policy also governs the integrity of work submitted in exams, in laboratories, and in assignments, as well as the veracity of signatures on attendance sheets and other verifications of participation in class activities. Serious sanctions can result from academic dishonesty of any sort. For more information and the complete policy, see http://academicintegrity.syr.edu.

Disability-Related Accommodations

If you believe that you need accommodations for a disability, please contact the Office of Disability Services(ODS), http://disabilityservices.syr.edu, located in Room 309 of 804 University Avenue, or call (315) 443-4498 for an appointment to discuss your needs and the process for requesting accommodations. ODS is responsible for coordinating disability-related accommodations and will issue students with documented disabilities Accommodation Authorization Letters, as appropriate. Since accommodations may require early planning and generally are not provided retroactively, please contact ODS as soon as possible.

Religious Observances

Syracuse University's religious observances policy recognizes the diversity of faiths represented among the campus community and protects the rights of students, faculty, and staff to observe religious holy days according to their tradition. Under the policy, students are provided an opportunity to make up any examination, study, or work requirements that may be missed due to a religious observance provided they notify their instructors before the end of the second week of classes. For fall and spring semesters, an online notification process is available through MySlice/Student Services/Enrollment/My Religious Observances from the first day of class until the end of the second week of class.

Disclaimer

The instructor reserves the right to change this syllabus as needed.