Physics 265

Introduction to Scientific Computing

Spring 2011

Instructor: Tom Giebultowicz (“Dr. Tom”)

Wngr. 424; OH’s MWF 11:15 am – 2:00 pm

Course name

Introduction to Scientific computing

Course number

PH 265

Course credits

3 credits, meets MWF at 2pm.

Prerequisites, Co-requisistes and Enforced Prerequisits

MTH 112

Introductory remarks

The current curriculum of this course has been created by Professor David Roundy in 2008.  Previously,  the  Ph265 course had been  taught at the Physics Department for many years,  but the instructors and  the curricula were changing. Before 2008, for a few years the course was based on the Maple program and the Java programming language. I taught the Maple&Java course version once in 2007.

It was not a very fortunate choice. It is not easy to “squeeze” two computational tools into one short course. In addition to that, Java, which is an extremely powerful computational tool, is definitely not an “user-friendly” language. The syntax and the commands are not straightforward, and are difficult to memorize.

David Roundy has completely changed the course “philosophy”. His curriculum is based on a single computationall tool, the Python programming language.  It is much more “user-friendly” than Java. But is also quite powerful. And Python, as Java, C++, and several other modern computer languages is based on the “object-oriented” principle. However, it is much easier to understand the general philosophy of “object-oriented programming” when one starts learning using Python, and not Java.

Professor Roundy taught the Ph265 course in  Winter 2011 term, but now, in Spring, he has other teaching assignments. So, this term  I will be the instructor . As I say, I taught Ph265 before, but it was a very different course. For me it will be the first time of teaching the course with the new Prof. Roundy’s curriculum. Therefore, I will not try to “improvise” too much, but I will try to “follow David Roundy’s footsteps” as close as possible. Therefore,  the syllabus below is essentially the same as that used  by him in the last Winter term, and the schedule off classes is also an almost unchanged copy of  that from the last Winter term.  

  

Course content

This is an unusual course in that it spans the subjects of computer science, mathematics, and physics. You may expect to learn some programming, some physics, and some mathematics. Some of you will have considerable programming experience, and others will be programming for the first time. We will start with the use of programming language python, and its powerful visualization tool vpython. We will use it to manipulate vectors. The rest of the course involves the numerical calculation of motion and the visualization of that motion. The basic physical principles needed for this are Newton's laws of motion. We will include friction and see how conservation of energy can be used to improve the numerical results.

Measurable Student Learning Outcomes

  • Students will be able to use vpython
  • Students will be able to visualize vectors
  • Students will be able to visualize motion of objects
  • Students will be able to calculate motion of objects numerically
  • Students will understand the effects of friction
  • Students will understand conservation of energy

Evaluation of Student Performance

Homework will be due each week in class on Friday. There will be one midterm exam. Grades will be computed based on 60% classwork/homework, 15% midterm exam and 25% final exam. This is a lab course and therefore class attendance is required and is included in the classwork portion of your grade. Please notify the instructor in advance if you are unable to attend due to personal or health reasons.

Homework will consist of required problems and challenge problems. The latter may be turned in for extra credit. It is possible to get an A in the course without doing any extra credit, provided you do well on the exams.

There are two ways of turning homework in:

·         You may have an instructor check your homework either during class or during office hours. In this case, you may be asked to explain your approach. If your work is not satisfactory, you will be told what is wrong, and will be free to fix it and have it checked later.

·         If you wish, you may instead email your homework to me (giebultt@onid.orst.edu)  to submit it electronically. If you choose to do this, you must submit only one problem per email, and should provide in the body of the email a written explanation of your solution, along with answers to any questions asked in the problem. As an attachment, you must provide the python program that is your programmatic solution to the problem. Your answer will be final, and you cannot use any feedback you receive to submit an improved solution.

As you can tell, the bar is higher for email submissions. Please only submit solutions by email that you are either confident are correct, or have no time to improve. Late homework is not accepted.

Learning resources

There will be no required text for the course. Class notes will be available online.

Statement Regarding Students with Disabilities

"Accommodations are collaborative efforts between students, faculty and Services for Students with Disabilities (SSD). Students with accommodations approved through SSD are responsible for contacting the faculty member in charge of the course prior to or during the first week of the term to discuss accommodations. Students who believe they are eligible for accommodations but who have not yet obtained approval through SSD should contact SSD immediately at 737-4098."

Honesty

For this course it is allowed to work together on homework, but each student should submit his or her own written solution or program. We will follow the university guide lines, see OSU Student Conduct & Community Standards.