Astronomy 598 Topics in Theoretical Astrophysics (Algorithms for Scientific Computing)


Winter 2016: Fri 11:00-12:20 Physics/Astronomy Building A210

Instructor: Pramod Gupta
psgupta *at* astro. washington. edu

Office hours: after class, or email.

Web-site: http://vpl.astro.washington.edu/users/psgupta/astro598algorithms.html

Pre-requisites:
Students should know a programming language. Students should bring their laptop to class. If you have a windows laptop please install ssh client software on your laptop so that you can connect to hyak. Students should have a hyak account and should bring the e-token to class. Any UW student can get a hyak account. Instructions are at below link:
http://students.washington.edu/hpcc/getting-started-on-hyak/

Syllabus:
Historically multi-dimensional arrays have been the main data structure used in scientific computing. However, recently a wider variety of data structures such as trees, hash tables and graphs have become important in scientific computing. We will use examples of data structures and algorithms from a wide variety of research areas such as Astrophysics, Biology, and Chemistry.

(1) Data Abstraction (Abstract Data Types, Classes, Objects)

(2) Linear Data Structures (Linked Lists, Stacks, Queue, Priority Queue)

(3) Sorting (Heapsort, Mergesort, Quicksort)

(4) Searching (Hash Tables, Binary Search trees, Balanced Search Trees, quad-trees, oct-trees, kd-trees)

(5) Graphs (Undirected Graphs, Directed Graphs, Minimum Spanning Trees, Shortest Paths)


Grades:

Homework problems (100% of grade) will be assigned every week.


Reference Books:
Algorithms 4th edition
Sedgewick and Wayne

Data Structures and Algorithms
Aho et al

Introduction to Algorithms 3rd edition
Cormen et al

Classics:
The Art of Computer Programming (Volumes 1 to 3)
Knuth