SPS4050 Advanced Research Techniques & Data Analysis

Jeremy Riousset
Florida Institute of Technology-Melbourne


The class covers the skills and tools necessary to perform active research in physics, particularly in data-oriented astrophysics, describes the manipulation of data to extract physically meaningful quantities and their associated uncertainties, includes the use of statistical inference, numerical calculations, and visualization of quantitative information.

Course URL: https://grader.mathworks.com/courses/9194-sps4050-advanced-research-techniques-and-data-analysis-fa19
Course Size:

Course Format:
Integrated lecture and lab

Institution Type:
University with graduate programs, including doctoral programs

Course Context:

The course is required for Astronomy & Astronomy and Physics major, and an elective for Planetary Sciences as well as Astrobiology majors. It is also frequently taken by our first-year graduate students who lack a background in numerical methods.

Course Content:

The Aerospace, Physics & Space Sciences department introduced the course to fill the need to provide our students with some experience with programming beyond the introductory class in C++/FORTRAN. The class focuses on the implementation of mathematical methods rather than their mathematical proofs. Students test their code through Grader through 5 to 10 weekly problems. A longer, more inclusive project serves to demonstrate their ability to apply their knowledge to an actual scientific problem (e.g., characterization of Active Galactic Nuclei).

Course Goals:

Upon completion of the course, the student will be able to:
- Implement numerical methods from their mathematical formulations.
- Read an input file, perform an analysis of the data, and create meaningful visualization.
- Use numerical methods to solve linear and non-linear equations, eigenproblems, boundary-value, and initial condition problems.
- Perform a Fourier analysis using in-house and built-in tools.

Course Features:

- Weekly examples are solved in class in small groups, to allow the student to face the challenge of each topic and give them the opportunity to ask questions to the instructor and get help debugging their codes.
- Weekly homework assignments (worked in groups or alone) test the students' understanding of the course contents. The homework sets are problems from the textbook implemented in Grader. There is no penalty for submitting a wrong solution to encourage the students to test their scripts without the pressure of the grade.
- In-class quizzes use the "new quiz" feature of CANVAS LMS. They are given in class every other week to test the ability of the student to think and solve problems when under pressure and avoid discovery of their deficiencies during an exam.
- A mid-term and final exam test how students translate real-world problems into equations and codes.
- A semester-long project with 5 milestones guides the students into writing their own script for a research problem. It lets them demonstrate their ability to use class material to solve a problem that can only be solved with numerical tools.
- A final report on the project tests the students' written communication skills and introduces them to scientific writing.

Course Philosophy:

- My focus is on a hands-on approach to numerical methods. It focuses on a trial-and-error approach combined with whiteboard lectures. Overheads are used at minima.
- My experience taught me that programming is learned rather than taught in magistral lectures. Therefore, I implemented a structure where students have opportunities to write code in-class, at home, individually, in groups, time-constrained, without time-constraint, for short and long exercises.
- Ideally, the class is taught in a lab setting with a small class size when possible.
- In-class examples consist of incomplete Live Scripts to be adapted to implement the solution.
- The use of grader lets us implement automatic grading and multiple attempts without penalty.
- The introduction of a written report aims at remediating the deficiency in written scientific communication observed in the program.


- The student should be able to analyze a physical problem, formulate a mathematical description for it, identify relevant numerical method(s), and implement them to solve it -> 70% or more of the students achieve a final grade of 70% or better.
- The student should be able to analyze a research problem in Physics, Planetary Sciences, and/or Astronomy, and implement a numerical solution to solve it -> 70% or more of the students achieve a grade of 70% or better in the technical part of the project.
- The student should be able to formulate a scientific question, provide background, document their work, formulate their method(s), present their results, and discuss their implications in a written report following the typical guidelines of the scientific literature -> 70% or more of the students achieve a grade of 70% or better in the written report of the project.


[file Syllabus for SPS4050 Advanced Research Techniques & Data Analysis (Acrobat (PDF) 150kB Aug22 21) 'Syllabus']

References and Notes:

Numerical Methods for Engineers and Scientists 3rd Edition by Amos Gilat and Vish Subramaniam (ISBN-13: 978-1118554937, ISBN-10: 1118554930)
The book is a good summary of the most important numerical methods for engineers and scientists including solutions to linear and non-linear equations, ODEs, PDEs, eigenproblems, Fourier methods, initial value problems, and boundary value problems. The appendix is a phenomenal introduction to the fundamental of MATLAB. If further comes with a solution manual. An update would be welcome as it uses some older routines (e.g., quadl, etc.) and has not adopted Live Scripts yet.