Physics 503: News and Handouts

Prof. Gladden, Lewis 104, W & Fri 11:00 - 12:15

Don't forget to click Reload on your browser to make sure you are looking at the latest postings!

Date Posted
Due Date
Comment, Assignment, or News
NOTE: You should right-click posted file links and "Save as ..." to your computer.
Here are the FINAL slides and code! Lecture 26 is on Time Series Analysis

I promised the enhanced GUI code for pyPlotter using Box Sizer, so here it is.

Don't forget - projects are due Thursday of exam week! Turn them into the Box folder. There can be NO extensions on the final.
Here are the slides and code for Lecture 25: Introduction to GUI programming
(note this code is a regular .py file instead of a ipython notebook. GUI systems don't work well in notebooks. You should be able to run this directly in Canopy)

Work on projects!

Here are some supporting materials I have promised:

1. Parallel Computing
2. Runge-Kutta
3. Fourier Transform (for Friday)
4. Background on PDEs
Here are the slides for Lecture 24: Concepts in Parallel Computing. The code I had takes some specialized libraries so I will not post, but will demonstrate in class.

Here are the slides and code for Lecture 23: PDES 2 - Relaxation Methods

Also, the permissions for the additional code linked below were messed up, but are now fixed. You should be able to right-click and download it to help with your HW09. I decided to push the due date on HW09 back to Monday.

Your proposals have all been returned to your Box folders, so get moving on the projects!
Here are the slides and code for Lecture 22: PDEs 1

I have not posted the screencast for Lec 21 yet but will do so over the weekend.

I am also posting HW09 which will be due Friday 4/27 by midnight. The is required only for the graduate students, but undergrads are encouraged to try. This will be the last HW for the semester!

I am also posting a slightly more sophisticated version of the wave equation code that can deal with variable wavespeeds. This will help you with your HW.
Here are the slides and code for Lecture 21: Linear Algebra

Remember we will not be meeting Wednesday for Lecture 21, but I will be posting a screencast for you.

I will also posting HW09 will be on PDEs (our next topic) but will wait until we cover that topic starting Friday.
4/11 4/16 Here are the slides and code for Lecture 20 on Root Finding.

I decided NOT to do a screencast on this, but will cover it during class on Friday.

I am ALSO POSTING HW08 on non-linear fitting. Let's get that done by Monday at midnight: HW08 assignment
Here are the slides and code for Lecture 19: Nonlinear Regression Methods

I hate to say it, but I will have to miss class the next 2 Wednesdays! I will be preparing screencasts for both. PLEASE stay up to date.

I will be returning your mid-term projects next week.
Here are the slides and code for Lecture 18: Linear Regression:

A reminder we will not meet Wed. 4/4. I have recorded a screencast for Lecture 18 and it is uploaded to our shared Box folder. Please download and view it in preparation for Lecture 19 on Friday on non-linear regression.
4/2 4/6 Sorry for the delay. Here is the HW07 assignment on solutions of systems of ODEs. It will be due by Friday 4/4 midnight. Note we skipped over HW06 to give you some extra time on mid-term projects.

I must be out of town Wednesday (so we will not meet) but will be posting a webcast for Lecture 18 on Regression Techniques. Please make sure to download the materials and review.
Here are the slides and code for Lecture 17: Runge-Kutta and scipy.odeint

Here also is handout reading on Runge-Kutta.
Here are the slides and code for Lecture 16: Systems of ODEs

The due date for the mid-term project has been pushed back to Friday March 30 by midnight.
Here are the slides and code for Lecture 15: ODEs 2: Vectors and Oscillations

Your projects are due in 1 week! How are they coming?
I am posting a little ore detail about the structure and content of the mid-term projects. You've already done the proposal phase (obviously).

A reminder you MUST be viewing the screen casts I am posting in Box! We won't have time to review all that material in class.

I'm not going to post any HW this week so you can focus on your projects. Do NOT wait until the week before to start - it will not go well I promise.

See you the Wed. after Spring Break.
Here are the slides and code for Lecture 14: Introduction to ODEs

I'm pushing the due date for the mid-term projects back to Wed. March 28
3/6 3/9 Here are the slides and code for Lecture 13 on Numerical Integration:

I'm also posting the HW05 assignment on numerical differentiation which will be due by midnight on Friday.

I recorded a screen-cast for this lecture since I am traveling. It has been uploaded to the shared Box folder.

Get working on your mid-term projects!
This will be last HW set for the next few weeks so you can concentrate on the projects.
Here are the slides and code for Lecture 12: Derivatives 2

Also - I'm giving you and extension on HW04 until Monday midnight
2/27 3/2 Here is Lecture 10: 3D Plotting and a little on binary files.

We won't be meeting Wednesday, but I'll have a screen cast posted tonight.

Here also is the HW04 assignment in which you need to define a "vector class. The base assignment should be pretty straightforward. The extra parts may take a bit more time, but a useful exercise.
I decided to change things around a little. I'm going to give Lecture 11 on Derivatives on Friday and save Lecture 10 on 3D plotting for the screen cast lecture next Wednesday.
Here are the Lecture 11 slides and code:

Don't forget HW03 is due Friday by midnight and mid-term project proposals are now due next Friday 3/2. Bring them to class.
2/17 2/23 Here are the slides and code for Lecture 09: Classes 2

I'm also posting the HW03 assignment which is due Friday 2/23.
Here are the slides and code for Lecture 08: Object Oriented Programming and Classes

Here are the Slides and Code for Lecture 07: Core Modules
2/8 2/16 Here are the slides and code for Lecture 06:

Here also is the HW02 assignment which will be due next Friday (2/16) in the Box folder.
Here are the slides and code for Lecture 05 on plotting with matplotlib. I'd also suggest looking at the extensive resources on the matplotlib website:
Also note I am password protecting slides from now on. The password was distributed to you by email.

2/3 2/9 Here is the HW01 assignment which will be due next Friday 2/9 in the Box folder.
Here is are the slides and code for Lecture 04:
Here are the slides and code for Lecture 03.
Remember I will not be in class, but Khagendra will be. You can ask questions about the lecture material posted (shortly) in the screen cast and your homework. You'll also probably want to download the "data.dat" file for one of the class examples.

The Screencasts are going to be posted in a shared Box folder. You will all receive a link by email. I hope to have the Lec03 screencast for 2018 posted sometime Tuesday (likely in the evening). Please view this video BEFORE coming to class!

Bring your laptops so you can work!

1/26/18 2/2/18 Here is the HW00 assignment. It's due Friday 2/2 into the Box Folder.

Here are the slides and code for Lecture 02:

We are switching to Box for the homework shared folder. You should have gotten an invitation by email.
1/20/18 -- Some helpful tips:
1. For code posted here, right-click the link and select "Save Link As ..." to save the python file.
2. You should become familiar with some basic shell commands (or command prompt commands in Windows). Some of these are available from WITHIN the ipython shell. Some common ones are:
ls - list files in the current directory
pwd - print the path of the working (current) directory
cd SomeDirectoryName - change directory
cp CurrentFileName NewFileName - makes a copy of a file
I am posting a link to a basic Unix tutorial (MacOSX included). You may want to hunt around the internet for your own sources. Google is your friend!
1/20/18 -- Here are the slides and code for Lecture 1

We will be using Google Drive for turning in assignments. You should have received an email invitation already.

Historically, most students prefer to bring their own laptops to class and I recommend that you do as well. If you can not get access to a laptop, let me know and I'll see what I can do to get you something during class. In recent years, I have added a good bit of content to the course and thus had to take away from in-class exercises, but we will still do some of that.

1/20/18 --
We will be meeting in the Lewis 104 . I recommend you bring your own laptop to class.
I will post lecture slides and code we explore in class on this page, typically before class. Please review these materials before we meet.
1/20/18 --
Welcome to Introduction to Scientific Computing.
This is the page to which you should refer most often. It is where I will post homework assignments, make announcements, and will be my primary mode of communication with you (other than lectures of course!). Make sure to take a good look at the course syllabus and lecture schedule and let me know if there is anything you do not understand.
You should take a look at the Resources page to download and install some python related software on your machine. You are free to install any python distribution you like, but it may be helpful if you install the same distribution we will be using in class which will be the Enthought Canopy.
I recommend you go ahead and install Canopy. You will need to create an account with Enthought before downloading the free version. Go here to get started:

Course Links