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
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
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.