Physics 608
Core Skills for Computational Science
Fall 2015
3 credit

Instructor: David Newman
Office: 112 NSCI
Office Phone: 474-7858
Home Phone: 458-8576 (if all else fails!! But please not after 11 PM)

ARSC Help Desk, 450-8602,

Office Hours:

Monday 4:00-5:00pm in 112 NSCI

Wednesday 2:00-4:00pm in 112 NSCI


This syllabus is located at:

Course Description

This course provides students of computational sciences an introduction to the basic skills required to operate in the modern high performance computing (HPC) environment offered at the Arctic Region Supercomputing Center (ARSC). Topics include an introduction to HPC, basic Unix/batch/scripting skills, performance programming, shared and distributed memory parallelism, code profiling and debugging, data storage and management, and data visualization.

In approaching this (and all) classes, please note the following ancient chinese proverb:

Teachers can open the door,
but you must enter by yourself.

Prerequisites: Graduate standing in physical sciences; experience with FORTRAN or C programming language; or permission of instructor.

Materials Needed:

Required Text:

Lecture notes

Supplemental references

Unix for Dummies - Quick Reference (IDG Books)

Unix in a Nutshell (O'Reilly)

Linux in a Nutshell (O'Reilly)

Fortran 90/95 Explained, Metcalf & Reid, Oxford Univ Press, 1999

Fortran 90 for Engineers and Scientists, Larry Nyhoff and Sanford Leestma, Prentice-Hall, 1997

Parallel Programming in OpenMP (Chandra et al)

Using MPI (Gropp, Lusk, & Skjellum)

Parallel Programming with MPI (Pacheco)

Lectures: Note room : West Ridge Research Building 009, Tuesday/Thursday, 9:30 - 11:30am

Assignments: will include reading excerpts from science education text and science education research journal articles as preparation for group discussion and presentation of classroom and lab teaching strategies. Students will also give presentations on topics relevant to course content, which will include preparation of sample work such as quizzes or active learning materials. Each student will give approximately 3 presentations, with supporting sample work, per semester.

Grading: The course grade will consist of the following components:

Homeworks 40 %

Semester project 30 %

Mid-term 20 %

Attendance and Participation 10 %

Contacting Me: I have office hours as listed above. You can drop by at other times if I'm not busy, or make an appointment. I am (almost) never available before class.

Special Needs: The Office of Disability Services implements the Americans with Disabilities Act (ADA), and insures that UAF students have equal access to the campus and course materials. We will work with the Office of Disabilities Services (203 WHIT, 474-7043) to provide reasonable accommodation to students with disabilities.

Plagiarism etc: Plagiarism and cheating are matters of serious concern for students and academic institutions. This is true in this class as well. The UAF Honor Code (or Student Code of Conduct) defines academic standards expected at the University of Alaska Fairbanks which will be followed in this class. (Taken from the UAF plagiarism web site, which has many links with good information about this topic)

Complaints and Concerns: You are always welcome to talk to me about anything, however, if you have a non-subject matter question or concern that cannot be resolved by me, contact the department chair, Dr. Wackerbauer, Physics Department Office, room 102 NSCI.

Tentetive course schedule:

Date Instructor Topic
3-Sep DN Introduction to ARSC & HPC
8-Sep ON Introduction to Linux
10-Sep DN Data Management / Unix Scripting---- HW1 (tarball) due 9/22
15-Sep DN Introduction to Fortran, Part 1 ---- HW2 due 9/29
17-Sep DN Introduction to Fortran, Part 2 (Lab session)
22-Sep DN Introduction to PACMAN and Fish Supercomputers
24-Sep DN Makefiles
29-Sep DN Performance Programming, Part 1
1-Oct DN Performance Programming, Part 2
6-Oct DN Profiling and Debugging
8-Oct TL Parallel Shared Memory Programming, Intro then Part 1
13-Oct TL Parallel Shared Memory Programming, Part 2
15-Oct TL Parallel Shared Memory Programming, Part 3 (Lab session)
20-Oct SM Viz 1: Basic Visualization Tools
22-Oct SM Viz 2: Visualization Overview and Graphics Formats
27-Oct SM Viz 3: Animation 101 (Lab session)
29-Oct DN Parallel Programming Application (Example)
3-Nov DN --- MIDTERM EXAM ---
5-Nov TL Parallel Distributed Memory Programming, Part 1
10-Nov TL Parallel Distributed Memory Programming, Part 2 (slides)
12-Nov TL Parallel Distributed Memory Programming, Part 3
17-Nov TL Parallel Programming Application (Example)
21-Nov TL Introduction to Co-Array Fortran
24-Nov DN Validation & Verification
26-Nov   Thanksgiving Holiday
1-Dec DN Giving Effective Presentations (Part 1 and part 2)
3-Dec TL/DN Open Session - Project Work
8-Dec KH Version Control Systems
10-Dec   Project work/ Final Presentation
19-Dec DN -- Final Presentations - Time TBD --


Last updated 9 December, 2015