HEART: The Computer Laboratory

Generated using Bluebottle. Image Copyright (c) 2015 Adam J. Sierakowski

Welcome to the internet home of the Hopkins Engineering Applications & Research Tutorials (HEART) course The Computer Laboratory: Constructing virtual experiments for science and engineering, which is offered by the Whiting School of Engineering at the Johns Hopkins University.

Course description

This highly interactive course seeks to introduce students to some of the computational tools and techniques employed by engineers and scientists through the hands-on development of a computational tool for simulation of physics of the student’s choice, which may include astrophysics, fluid dynamics, solid mechanics, fracture mechanics, or molecular dynamics. The development effort will serve as a guide through a broad overview of the following topics: computer architecture; operating system basics; coding languages, logical operators, and data structures; scientific program design and implementation; code debugging techniques and tools; repositories; high performance computing through parallelization; and data processing and visualization.

At a glance

Meeting times:
EN.500.111.13: Mondays 18:00-19:15 in 106 Latrobe
EN.500.111.14: Thursdays 13:30-14:45 in 106 Latrobe

Key dates:
Class start date: 2015/08/31
Classes suspended: 2015/09/07-2015/09/11 and 2015/10/12-2015/10/16
Class end date: 2015/11/20


Smoothed-particle hydrodynamics code repository:

Reading assignments

Week 01 — Read the Introduction to D.A. Grier (2005), When Computers Were Human. Available online from the JHU Library (direct link).

Week 02 — Watch Mark Rendle’s History of Programming: Part 1 on YouTube (I apologize for the slightly crude attempts at humor)

Week 03 — Read the blog post Top 15+ Best Practices for Writing Super Readable Code

Week 04 — Read the article You Should Be Coding in Your Physics Course from Wired.com

Week 05 — Download and install ParaView (version 4.2) on your computer

Week 06 — Watch the video What makes a supercomputer? on YouTube

Week 07 — Watch the videos What is random? by Vsauce and What is NOT random? by Veritasium on YouTube

Week 08 — Watch this video about Alan Turing on YouTube

Week 09 — Watch this video about searching and sorting algorithms on YouTube

Week 10 — Read Section 1: Introduction of Lafferty & Lemm (1993), Parallel Computing. Available online from the JHU Library (direct link).