Advanced Scientific Computing I and II (AMSC/CMSC 663-664)


Lectures: Tu Th 09:30--10:45 AM.


Name Email Role Office
Abhinav Bhatele Instructor IRB 5218
Tobias van Petersdorff Instructor MTH 4409

Description (from catalog)

In the sequence Advanced Scientific Computing I & Advanced Scientific Computing II, (AMSC663/CMSC663 and AMSC664/CMSC664, respectively) students work on a year-long individual project to develop software for a scientific task in a high performance computing environment. Lectures will be given on available computational environments, code development, implementation of parallel algorithms.

Additional description

AMSC/CMSC 663-664 is a two-semester project course in which each student will identify and carry out a scientific computing project with focus on:

  • Understanding of scientific computing algorithms related to the project
  • Code Development, including
    • Modularity, portability, memory management
    • Post-processing, restarting, and writing to databases
    • Interactivity
    • Scientific visualization
    • Documentation and version management tools
    • Debugging and profiling tools
    • Validation
  • Verification and unit testing using test problems
  • Time permitting, additional considerations may be given, for example implementation of parallel algorithms: OpenMP, MPI, GPU programming; Masking communication costs, load balancing, granularity; parallel numerical linear algebra.

You must have taken both AMSC/CMSC 660 and 661, or equivalent.


This course does NOT have an “A for effort” grading policy. Projects will be graded on the quality of code, documentation, presentation, and writing. Projects that do not meet high standards of quality will not receive an “A”, and in some circumstances will not receive a passing grade.

Course deliverables

The first semester will have the following deliverables: proposal document, proposal presentation, midterm presentation, final presentation, final report. You will also deliver code and documentation for your project.
Your faculty advisor is required to participate in a meeting with 663 supervisors, and must attend your final presentation.

Academic Integrity

The CS Department takes academic integrity seriously. Information on how the CS Department views and handle academic integrity matters can be found at Academic Integrity.

Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct.

It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit

Excused Absence and Academic Accommodations

See the section titled "Attendance, Absences, or Missed Assignments" available at Course Related Policies.

Any student who needs to be excused for an absence from a single lecture, due to a medically necessitated absence shall make a reasonable attempt to inform the instructor of his/her illness prior to the class. Upon returning to the class, present the instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 9(i) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.

Self-documentation may not be used for Major Scheduled Grading Events (midterm exams, and final exams) and it may only be used for one class meeting during the semester. Any student who needs to be excused for a prolonged absence (two or more consecutive class meetings), or for a Major Scheduled Grading Event, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the timeframe that the student was unable to meet academic responsibilities. In addition, it must contain the name and phone number of the medical service provider to be used if verification is needed. No diagnostic information will ever be requested.

Disability Support Accommodations

See the section titled "Accessibility" available at Course Related Policies.



All course materials are copyright UMCP, Department of Computer Science © 2022. All rights reserved. Students are permitted to use course materials for their own personal use only. Course materials may not be distributed publicly or provided to others (excepting other students in the course), in any way or format.