Experimental Data Analysis Lab

PHYS 391 - Fall 2015

http://pages.uoregon.edu/dlivelyb/phys391/
Updated Tues, 15-Sept-2015

 

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/Th 9:00-10:00
Lab
Assistant
Bishara Korkor

Willamette 417 262.442.7533, bkorkor (at) uoregon Office Hours: U12:00, W:13:00 (1pm)

Lecture Tu 3:30-4:50 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 (350 Will.) Lab (in Rm. 17)
(due following Tuesday)
Homework
(due following Weds at noon)
Reading
Week 1
9/28 - 10/2
No Lecture this week

Lab 1: Coding to read, plot and analyze data

(data file link here)

(ipython tutorial here)

if you are new to programming, check out the Code Academy
Week 2
10/5 - 10/9
About Scientific Programming (Dr. Elsa Johnson) Lecture Thursday, 8-Oct. Continue working on lab 1 and HW 1 HW1 Taylor Ch.1-3
Week 3
10/12 - 10/16
Lecture Thurday, 15-Oct (assuming Dr. D's research cruise returns on time) Lab 2: Brownian Motion (starts 10-16) HW2 Taylor Ch. 4
Week 4
10/19 - 10/23
Normal Distribution, Weighted Average, some words about lab writeups (cf ==>)
  1. background;
  2. histogram;
  3. histogram + table with analysis )
Taylor Ch. 5, 6-7
Week 5
10/26 - 10/30
Linear Regression

Lab 3: Counting Statistics

HW3 Taylor Ch. 8
Week 6
11/2 - 11/6
Binomial Distribution and Random Walks Taylor Ch. 10
Week 7
11/9 - 11/13
Fourier Transforms Lab 4: Fourier Transforms HW4 FFT Handout
Week 8
11/16 - 11/20
Fourier Transforms II
Taylor Ch. 11
Week 9
11/23 - 11/27
Climate Change Data Lab 5: Forecasting Arctic Sea Ice Coverage HW5
Week 10
11/30 - 12/4
'Features' in Data Sets
Finals Week (but not us!)
12/7 - 12/11
Final Lab Due Weds 12/8 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 BY NOON.

Labs

Lab assignments will be made every two weeks and will be due on Tuesday 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.

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. 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 and supplemental material should be emailed to me directly as well.

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.