12.07.2015 Views

Syllabus - Davidson Physics - Davidson College

Syllabus - Davidson Physics - Davidson College

Syllabus - Davidson Physics - Davidson College

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PHYSICS 200COMPUTATIONAL PHYSICSDr. Wolfgang Christian Office: Dana 171Spring 2010 Phone: 704-894-2322Course URL -- http://www.opensourcephysics.org/physics_200/TEXTBOOKS:Available online:An Introduction to Computer Simulation Methods:Applications to Physical Systemsby Harvey Gould, Jan Tobochnik, and Wolfgang ChristianEJS adaption by Wolfgang ChristianOptional (available in <strong>Physics</strong> Computation Center)LECTURE:M,W,F 9:30 - 10:20OFFICE HOURS:MWF 11:30 - 12:30MF 2:00 - 3:00Th 10:00 - 1:00Open Source <strong>Physics</strong>: A User’s Guide with Examples by Wolfgang ChristianOptional reference for advanced Java syntax:Learning Java (third edition) by Patrick Niemeyer and Jonathan KnudsenPlease check the labs and the <strong>Physics</strong> Computation Center in the basement of the Dana ScienceBuilding if I am not in my office. I teach introductory laboratory Wednesday and Thursdayafternoon but I may be able to answer a computational physics question if I am not working witha lab student.COURSE OBJECTIVES:The Easy Java Simulation (EJS) modeling and authoring tool will be used to construct computermodels with an emphasis on investigating physical science problems using statistical, graphical,and numerical methods.COURSE REQUIREMENTS:It is responsibilities of the student to attend every class and each student is responsible for the


material discussed and the announcements made. Absence from class does not relieve one fromthis responsibility.EJS models for homework exercises and final projects, along with documentation, are submittedvia email. Assignments are due BEFORE the start of class on the due date. Extensions due tospecial circumstances must be requested at least one day before the assignment due date.Java Texts:You will almost certainly need to consult on-line documentation and various Java Programmingbooks in the <strong>Physics</strong> Computation Center for reference. Some books are introductory and easy toread but don't have a lot of meat. Other books are more like reference manuals and you may findthem intimidating until you have written a program or two and understand the basic concepts.None of the available texts exactly fit a computational physics course that uses Java. The Javasyntax that we will need for Computational <strong>Physics</strong> is a small subset of the Java ApplicationProgramming Interface (API).The physical models used in this class are described in An Introduction to Computer SimulationMethods. We will use both the Easy Java Simulations (EJS) modeling tool to build thesemodels. These two approaches to computer modeling are complementary. The Open Source<strong>Physics</strong> library used in the textbook does many of the behind the scene computations in EJS.This library performs many routine programming chores such as input/output and graphics. TheOSP library is described in Open Source <strong>Physics</strong>: A User’s Guide with Examples.If you are interested in learn more about the Java API, the Learning Java book is a good start.Copies are available in the PCC. I can recommend the following additional general-purpose Javaprogramming books that cover the language in great detail.B. Eckel, Thinking in Java, second edition, Prentice-Hall (2000). Covers all the syntax,plus some finer points of object-oriented programming. Also available for free online athttp://www.EckelObjects.com/TIJ2/index.html D. Flanagan, Java in a Nutshell, fifth edition, O'Reilly (2005).A selection of books will be made available in the <strong>Physics</strong> Department's Computation Center.Please, do not remove these books for the PCC! My second option is to put these books onreserve in the library but I think that you would prefer that they be available in a location whereyou will be doing most of your programming.Programming:A necessary but not sufficient condition for successful completion of PHY 200 will be mastery ofthe Java programming syntax and the Java programming environment. This will beaccomplished through the assignment of programming exercises throughout the term and a finalproject of your choice. There will be two reviews testing your knowledge of Java syntax andprogramming concepts and occasional quizzes.There will be a midterm project for the entire class. After the midterm break, you will be askedto select your own final project. Any topic that lends itself to computer analysis may be chosen.Originality and creativity, as well as programming style and technique, will be evaluated. Thisfinal project will count as your exam for the course.Actual programs will depend on the interest and ability of the class, but a typical list of


programming exercises might include:1) Getting a program to run and compile. Writing documentation using HTMLand within Java code.2) Plotting functions.3) Solving differential equations.4) Object Oriented Programming and Java classes.5) Loops and control structures: Linear Regression6) Packages, methods and classes.7) Graphs. Statistical Mechanics8) Matrices: Systems of Equations9) Numerical integration and differentiation: Differential Equations10) Computer simulation: "Game of Life" and/or Electric Fields11) A final project of the students own choiceComplete projects should emailed to the instructor as a ZIP archive. This archive must containthe Java project source code, documentation, and a working Java program. The final project willbe posted on the web.Grade:Assigned projects 50%Midterm project 20%Final Project 30%Students have a wide ranges of prior computer experience, math background, and sciencebackground. A Math major will certainly understand differential equations better than anEconomics major. <strong>Physics</strong> majors will understand electric fields better than biology majors.Students having various majors have taken <strong>Physics</strong> 200 and have received high grades. Yourfinal ability to apply computational techniques to relevant problems counts, not your startingability. I expect sustained effort but a lot will, of course, depend on the final project. The finalproject is a topic of your choice. Think of this project as a small independent study that makesuse of your many academic strengths.


Technical Problems:Technical problems are inevitable with computers, but computers have become a part ofprofessional practice in the sciences. You need to be able to deal with these problems. Lost datadue to scratched disks, bugs in programs or programmers, and a general computer-phobia arecommon. With proper and careful operating procedures, a little work and understanding, andsome occasional humor these problems should go away.PLAN AHEAD: Start your programming projects early. You should not assume thatcomputers will be available the night before a project is due. You must turn in what you havecompleted on the due date. I may accept a revision of your work at a later date--if theproblems that are truly beyond your control-- but I must see what you have done when theassignment is due.MAKE BACKUPS: Keep your work on at least two disks drives or network locations. Irecommend that you keep a copy of your work a small USB thumb drive. Always makebackups of your existing code before you start a new programming session.ASK FOR HELP: The CSC staff are happy to help with general computer related questionsand I am happy to help with computational physics related questions. Please note that theCSC does not support EJS or Eclipse other than to get these programs running in public labs.REPORT PROBLEMS: Let the CSC staff and me know about problems as soon as theyoccur so that we can get them fixed. Report your problems using email.A general understanding of computers is helpful in many courses on campus; so you may alsowish to enroll in CSC introductory short courses on Word, the Windows operating system, orhtml if you are new to computers.Honor Code:For the smaller programs the exchange of help, ideas and strategies among students isencouraged; however, copying any portion of another student's work is a violation of the HonorCode. You may not copy either computer code or documentation without attribution. The wordPledged and the due date, included as a comment at the beginning of the program, signifies yourcompliance with this requirement. The only personal assistance a student may receive withoutviolating the Honor Code for the midterm project and the final project is from your instructor.You may copy code from textbooks or download code from the Internet with proper attribution.Accommodations for Students with Disabilities:Full accommodations are the legal right of students with all kinds of disabilities, whetherlearning disabilities or physical disabilities. I am happy to provide these accommodations. Ifyou are a student with a documented learning disability documented by <strong>Davidson</strong> <strong>College</strong> whomight need accommodations, please identify yourself to me within the first week of class, so wecan make accommodations that will enhance your learning experience. All such discussions willbe fully confidential unless you otherwise stipulate.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!