DS 7777: Scientific Computing

This is a proposed special-topics course (Not yet approved!)

Prerequisites: CS2810 and DS3500
When: Jan 9th to Apr 19th. Meeting times to be announced.
Where: Online on Zoom

Instructor

John Rachlin, PhD.
Assistant Teaching Professor
E-mail j.rachlin@northeastern.edu
Web https://www.khoury.northeastern.edu/people/john-rachlin/
Office Hours TBD on Zoom

Course Description

This course provides a comprehensive overview of the mathematical and computational techniques for Scientific Research Computing in a broad range of scientific disciplines including Astronomy, Computational Biology, and Physics. Topics will include python libraries for array-based processing and scientic computing(SciPy / NumPy), symbolic processing, multi-core parallel processing, signal and image processing, time-series analysis for variable planet light-curves and the discovery of exoplanets, hierarchical clusturing of microarray expression data, ecological modeling and simulation, genomic sequence analysis, geospatial modeling and climate change, epidemic models, network analysis, and complex systems. Students will complete weekly programming assignments and a class project. The course requires advanced knowledge of python programming, object-oriented design principles, and database systems. Prerequisites: DS3500: Advanced Programming with Data, CS2810: Mathematics of Data Models

Reading

[Woolston22] Woolston (2022). Why science needs more research software engineers Nature, Career Q&A, 31 May 2022.

[Harris20] Harris et al. (2020). Array programming with NumPy. Nature (585) 357-362.

[FSV21] Fuhrer, Solem, and Verdier (2021). Scientific Computing with Python (2ed.) Packt Publishing.

[RCB15] Roas, Christensen, and Blanco-Silva (2015). Learning SciPy for Numerical and Scientific Computing (2ed.) Packt Publishing.

[Strickland20] Strickland (2020). Time Series Analysis & Forecasting Using Python and R, Lulu Inc.

Homework

Assigned weekly or every other week depending on the assignment complexity. Students are expected to code their own solutions. Collaborating beyond verbal discussions of the problems is not allowed.

Class Project

The class project is an opportunity to explore the world of scientific computing in an area of your own choosing. At the end of the semester, students will present their results in a conference-style poster session and projects will be collected into the conference Proceedings.

Academic Integrity

Computer Science is a creative process. Individuals must reach their own understanding of problems and discover paths to their solutions. During this time, discussions with friends and colleagues are encouraged—you will do much better in the course, and at Northeastern, if you find people with whom you regularly discuss problems. But those discussions should take place verbally. Each programming submission must be entirely your own work. The university's academic integrity policy discusses actions regarded as violations and consequences for students: http://www.northeastern.edu/osccr/academic-integrity

Questions?

As noted above, this is a proposed course (not yet approved.) If you would be interested in taking this course or would like to discuss possible topics in Scientific Computing, please contact Prof. Rachlin

Evaluation

The final grade for this course will be weighted as follows:

Final grades will be rounded to the nearest integer and assigned based on the following scale (e.g., 92.4999 is a 92 whereas 92.5000 is a 93.):

LetterRange
A95 - 100
A-90 - 92
B+87 - 89
B83 - 86
B-80 - 82
C+77 - 79
C73 - 76
C-70 - 72
D+67 - 69
D63 - 66
D-60 - 62
F<60

Lecture Schedule

Note: This schedule is subject to change and will be adjusted as needed throughout the semester.

Week Dates Topic Reading
1 Jan 9-13 Python Review: NumPy, Pandas, Array Processing RCB15 Ch1-2
Woolston22
Harris20
2 Jan 16-20 Vector/Tensor/Matrix Computing
Applications in image interpolation and compression
RCB15 Ch3
FSV21 Ch4
3 Jan 23-27 Using SciPy for Numerical Analysis RCB15 Ch4
4 Jan 30-Feb 3 Statistical tests, correlation measures, distribution fitting, clustering.
Applications in Microarray analysis
RCB15 Ch6
5 Feb 6-10 Introduction to Time Series Analysis: Components, Moving Averages, Seasonality
Application: Covid-19 Pandemic
Strickland20 Ch3-5
6 Feb 13-17 Time Series Analysis: Exponential Smoothing, Stationarity and Differencing
Application: Variable Star Light Curves
TBD
7 Feb 20-24 Models, Simulation, and Animation
Ecosystem population models, predator-prey systems
TBD
8 Feb 27-Mar 3 3D Visualization of Scientific data
Application: Medical Imaging
TBD
9 Mar 6-10 Spring Break - No Class TBD
10 Mar 20-24 Forecasting and Curve Fitting
Application: The Earth's Climate
TBD
11 Mar 27-31 String Algorithms
Application: Genomic Sequence Analysis
TBD
12 Apr 3-7 SymPy: Symbolic Computing FSV21 Ch16
13 Apr 10-14 Science Conference TBD
14 Apr 17-19 The future of scientific computing TBD

Inclusive Classroom

Northeastern University values the diversity of our students, staff, and faculty; recognizing the important contribution each makes to our unique community. We strive to create a learning environment that is welcoming to students of all backgrounds. If you feel unwelcome for any reason, please let us know so we can work to make things better. You can let us know by talking to anyone on the teaching staff. If you feel uncomfortable talking to members of the teaching staff, please consider reaching out to your academic advisor.

Northeastern is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the learning experience. If you have a disability that requires accommodations, please contact the Disability Resource Center http://www.northeastern.edu/drc/, DRC@northeastern.edu, 617-353-2675. Accommodations cannot be made retroactively and to receive an accommodation, a letter from the DRC or LDP is required.