Experimental Data Analysis Lab

PHYS 391 - Spring 2016

http://pages.uoregon.edu/dlivelyb/phys391/
Updated 27 May, 2016 9:02

 

Instructor Dean ('Dr. D.) Livelybrooks, with help from Dr. Elsa Johnson and Prof. Greg Bothun Willamette 225, 346-5855
dlivelyb (at) uoregon
Office Hours: W 09:00, Th 09:30
Lab
Assistant
Bishara Korkor

Willamette 417 262.442.7533, bkorkor (at) uoregon Office Hours: M14:30, Th:15:00 (3pm)

Lecture Tu 4:00-5:20 Willamette 318
Labs Fridays at 11:00 or 14:00
Textbook Introduction to Error Analysis, 2ed, Taylor (required)
Getting Started with MATLAB, Pratap (recommended, not required), or a similar text/web page about python

Overview

This course will introduce the basic concepts of data analysis and practical techniques for implementing them incorporating methods of scientific computation. Half of the course will emphasize the theoretical foundation of data analysis with lectures and homework assignments, while the other half will focus on the practical application of analyzing data acquired as part of lab assignments. Development of programming techniques for performing data analysis and data visualization will also be stressed using MATLAB or python (your choice). The following topics will be covered:

Grading

Course grades will be based on five bi-weekly homework assignments, the first involving programming to import and analyze data, then 3 from Taylor (40%), and a final assigment involving programming and using Fourier transforms. Five bi-weekly lab assignments (60%) complete the assigned work. There will be no examinations (midterm or final) for this course, so it is important for students to turn in all assigned work when it is due. Late assignments will either be significantly penalized or not accepted at the instructors discretion. The final lab assignment will be due during finals week in place of a final examination.


In order to pass the course, you must complete all of the labs! It is also noteworthy that not completing all homework assignments will reduce your point total, resulting very likely in a significantly lower grade.

Grades will be awarded based on the departmental grading policy. Modifiers (+/-). I may adjust the grade boundaries depending upon the final distribution so that students with similar scores will receive similar grades.

Syllabus

Week Lecture Topic (318 Will.) Lab (in Rm. 17)
(due following Weds)
Homework / Lab
(HW due following Weds at noon)
Reading

Week 1
03/28 - 04/01

lecture notes

Measurement uncertainties, Intro to scientific programming Tasks

Lab 1: Coding to read, plot and 'reduce' data

(data file link here)

(ipython tutorial here)

HW1 (assigned)

simple ball drop matlab script shown in class yesterday

Taylor Ch.1-3

Week 2
04/04 - 04/08

lecture notes

More on 'error,' more about scientific programming (concurrent with Lab 1: HW1-- simulating a ball drop with drag)

Dr. D's fancier python script (includes file dialog box, etc.)

if you are new to programming, check out the Code Academy

Week 3
04/11 - 04/15

python tricks shown in lecture

lecture notes

Normal Distribution Lab 2: Brownian Motion HW2 (HW 1 & Lab 1 due) Taylor Ch. 4

Week 4
04/18 - 04/22

lecture notes

Weighted average, some words about lab writeups (cf ==>) (HW2 due) Taylor Ch. 5, 6-7

Week 5
04/25 - 04/29

Lecture notes

Distance and ages for stellar clusters & Linear regression

Lab 3: Astronomical Image Data Processing

HW3 (Lab 2 due) Taylor Ch. 8

Week 6
05/02 - 05/06

No Lecture This Week (HW3 due) Taylor Ch. 10

Week 7
05/09 - 05/13

Lecture notes

Fourier transforms

link to LIGO python processing scripts (fixed) and data files

An aside, a link to cool audio-izations of 'Whistler waves in the Van Allen radition belts.

Lab 4: Fourier Transforms HW4 (Lab 3 due) FFT Handout

Week 8
05/16 - 05/20

Lecture notes

Fourier transforms II
(HW4 due) Taylor Ch. 11
Week 9
05/23 - 05/27
Climate change (sea ice) data

Lab 5: Forecasting Arctic Sea Ice Coverage

OR

Lab 5: Image Processing the Moon

HW5 (Lab 4 due)
Week 10
05/30 - 06/03
'Features' in data sets (HW5 due)
Finals Week (but not us!)
06/06 - 06/10
Final Lab Due Weds 06/07 at 5 PM

This syllabus is tentative, and is subject to change as the quarter progresses.

MATLAB or python

One of the goals of this course is for you to develop the skills to properly undertake non-trivial data analysis of large data samples. There are many different tools available to do this, including the programming 'language du jour' python.

You can learn scientific programming and complete assignments for this course using either MATLAB or python. MATLAB is relatively easy to learn, very powerful, and widely used in Science and Engineering disciplines, but does cost money to install on your computer (student version is ~$80). Python's main advantage is that it is free to install on your computer. There are also many 'packages' of pre-programmed functions and scripts available for use with python, a few of which are emphasized in this course (for example, in Lab 1). Python and MATLAB are somewhat similar, though python's environment takes more effort to set up.

MATLAB and python are good examples of 'procedural programming', and the general techniques learned in this course can easily be transferred to the language or tool of your choice later. MATLAB is widely (and freely) available at the University of Oregon on UO-owned computers, including those in our lab in Room 17, Willamette Hall. We have also loaded python on those computers. Some possibilities are listed on the MATLAB Information page. You will need to use either python or MATLAB extensively in this course, so you should invest some time in the first two weeks to make sure you have a working computing environment which you can use and you are happy with.

Probably the best place to start to install python on your computer is SciPy.org or Anaconda.

Lectures

Homework

Homework will typically be assigned every other week and due on the following Weds by noon in the turn-in box, bottom of SW stairs to Willamette basement. The homework will mostly be problems from Taylor forcing you to work through a particular concept 'by hand' at least once. Supplimental problems to exercise your MATLAB skills may also be assigned.

ALL HW ASSIGNMENTS DUE WEDS BY NOON.

Labs

Lab assignments will be made every two weeks and will be due on Wednesday during weeks when homework is not due. It is expected that you will work on your labs during the two weeks before they are due. Assigned lab times will be available when TAs or I will be in room 17 to provide support and advice, although you are free to work on the labs whenever you have time available [although AVOID THURSDAYS, AS PHYS 290 LAB USES THE ROOM THEN]. You will be expected to work with a partner, although each member of the lab group is expected to turn in their own material including the data analysis and any associated code.

With a few exceptions (Lab 2-- Brownian Motion; Lab 4-- Fourier Transforms), formal write-ups will not be required, although I do expect you to keep a lab notebook which clearly shows the work you have done. I really want to see proof that you did the lab and understood the material. Neatly organized notes taken during the lab itself, answers to the questions posed in the lab writeup, plus a short summary giving the main quantitative results in your notebook is perfectly adequate (except for Labs 2 & 4). If you are very sloppy in your notes, you may also turn in a longer printed write up, but please get into the habit of taking neat legible lab notes. Either way, please turn in your lab notebook (legible or not) on Tuesday in class. For labs with significant computer work, your M-files or python files, data files that they read, and supplemental material should be emailed to me directly as well. This is best accomplished as a (archived) zip file, which can be made by right-clicking on a directory with necessary files and choosing 'Compress' (Macintosh) or various methods (found on-line) to make zip files in Windows.

For an upper-division course, the university expects students to spend one hour in class and two hours out of class for each credit. While each student will vary, you should expect on average to put this much time into this course. In particular, you should not expect to complete all of the lab work during the scheduled lab times each week, although you certainly should be able to collect all of the necessary data during that time. Make sure you do not try to start your lab assignments at the last minute. Most students who struggle in this course simply don't invenst enough time in completing the labs.

ALL LAB ASSIGNMENTS DUE BY NOON.

Academic Honesty

There is arguably a grey area between working together collaboratively on a homework assignment or lab, and just copying somebody else's work. In general, however, it is usually very apparent to the people involved whether a student is really contributing to a result, or just copying from others. Copying answers and passing them off as your own work, either from another student or from any other source is no different from plagiarism and will be dealt with according to the UO rules and procedures for academic misconduct.

You are responsible for all the work you turn in for this course. You are encouraged to work with others to help your understanding, but anything you write down on your homework or you lab assignments needs to be your own work. You can certainly collect data with your lab partner and discuss the methods for analyzing the data and even compare your results, but all written and code work must be your own. Please note that THIS MEANS EACH STUDENT SHOULD TURN IN THEIR OWN CODE ASSIGNMENTS TO THE INSTRUCTOR, I WON'T ACCEPT 'GROUP' CODE ASSIGNMENTS.