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.
5/3
Here are the FINAL slides and code! Lecture 26 is on Time Series Analysis
Lec25_Slides
Lec25_Code

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.
4/30
Here are the slides and code for Lecture 25: Introduction to GUI programming
Lec25_Slides
Lec25_Code
(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
4/26
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.

Lec24_Slides
4/24
Here are the slides and code for Lecture 23: PDES 2 - Relaxation Methods
Lec23_Slides
Lec23_Code

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!
4/19
Here are the slides and code for Lecture 22: PDEs 1
Lec22_Slides
Lec22_Code


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.
4/16
Here are the slides and code for Lecture 21: Linear Algebra
Lec21_Slides
Lec21_Code

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

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
4/5
Here are the slides and code for Lecture 19: Nonlinear Regression Methods
Lec19_Slides
Lec19_Code

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.
4/3
Here are the slides and code for Lecture 18: Linear Regression:
Lec18_Slides
Lec18_Code

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.
3/27
Here are the slides and code for Lecture 17: Runge-Kutta and scipy.odeint
Lec17_Slides
Lec17_Code

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

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

Your projects are due in 1 week!  How are they coming?
3/9
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.
3/8
Here are the slides and code for Lecture 14: Introduction to ODEs
Lec14_Slides
Lec14_Code

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:
Lec13_Slides
Lec13_Code

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.
3/1
Here are the slides and code for Lecture 12: Derivatives 2
Lec12_Slides
Lec12_Code

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

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.
2/22
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:
Lec11_Slides
Lec11_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
Lec09_Slides
Lec09_Code

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

2/13
Here are the Slides and Code for Lecture 07: Core Modules
Lec07_Slides
Lec07_Code
2/8 2/16 Here are the slides and code for Lecture 06:
Lec06_Slides
Lec06_Code

Here also is the HW02 assignment which will be due next Friday (2/16) in the Box folder.
2/6
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: https://matplotlib.org/users/pyplot_tutorial.html
Also note I am password protecting slides from now on.  The password was distributed to you by email.

Lec05_Slides
Lec05_Code
2/3 2/9 Here is the HW01 assignment which will be due next Friday 2/9 in the Box folder.
2/1
Here is are the slides and code for Lecture 04:
Lec04_Slides
Lec04_Code
1/29/18
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!

Lec03_Slides
Lec03_Code
data.dat
1/26/18 2/2/18 Here is the HW00 assignment.  It's due Friday 2/2 into the Box Folder.
1/25/18

Here are the slides and code for Lecture 02:
Lec02_Slides
Lec02_Code

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
Lec01_Slides
Lec01_Code

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

Laptops
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: https://www.enthought.com/product/canopy/

Course Links

-->