John Michalakes's Questionnaire for CSCI 7900-903

1. your name

John Michalakes

2. the intended topic area for your PhD:

High Performance Scientific Computing, focusing in particular on geophysical applications at petascale (and beyond)

3. most important reason for you personally to get a PhD

I would like to conduct research and teach at a university.

4. name three computer scientists which YOU consider most important for the field and what you consider their contribution

4.1. Danny Hillis. Parallel computing pioneer and founder of Thinking Machines Corp. Hillis articulated the idea of breaking the Von Neuman bottleneck through parallelism and (borrowing from neuroscience) based his design for a massively parallel computer, the 64-thousand processor Connection Machine, on the idea that the network of connections is at least as important as the processors themselves .

4.2. Jack Dongarra. Leading architect of parallel computing the way it is actually practiced, warts and all: libraries, message passing, etc. One of the original developers of PVM and key contributor to MPI, LINPACK, Top500. (I wanted to answer Ken Kennedy, who was a visionary and proponent of parallel computing the way it should be, were it not so hard to do right.)

4.3. John Backus. Inventor of Fortran and Backus-Naur Form (BNF). Backus, along with Grace Hopper, pioneered the first programs to translate synthetic high-level programming languages into machine code and established a crucial level of abstraction between the human user's conception of the computational task and the underlying hardware mechanisms for performing the task. In addition to inventing "Formula Translation" (still a bedrock of scientific computing today), Backus helped develop a notation for expressing context-free grammars, fundamental to language design.

5. name the three most important, professionally relevant books which you have read

5.1. Compilers: Principles, Techniques, and Tools, Aho, Sethi, & Ullman (the "Dragon") book

5.2. The Design and Analysis of Computer Algorithms, Aho, Hopcroft, & Ullman

5.3. On Intelligence, Jeff Hawkins

6. assuming you will collaborate with researchers and explore ideas outside of CS during your PhD studies which domains are the most likely candidates for this effort

6.1. Weather and Climate research and numerical simulation

6.2. Other CFD applications

6.3. Cognitive science, cognitive computing

7. briefly characterize your own digital literacy:

7.1. which programming language do you know (mention them in an order of decreasing familiarity)

C, Fortran, Perl

7.2. describe the top three projects (problem, programming language used, for what) which you have done in the past

Weather Research and Forecast Model Project (, a large, multi-agency effort to develop next generation national weather model for research and prediction. Since 1998, served as principal software designer and leader of the software architecture, standards, and implementation working group in WRF project.

Massively Parallel implementation of Penn State/NCAR Mesoscale Model (MM5), a 30 year old weather model previously supported on vector computers. Developed "Same Source" technique, a source-translation and library based approach to parallelization without visible impact to the original legacy code (a comfort factor for the MM5 developers). MM5 was a precursor to WRF.

DOE Climate Change Program project to parallelize the NCAR Community Climate Model (CCM2).

7.3. which are the top three applications that you are familiar with (e.g. Photoshop, Canvas, Dreamweaver, iMovie, .)?

Excel, PowerPoint, GIF Movie Gear

8. List your three favorite topics that you would like to see discussed in this course!

8.1. Requirements for PhD, including preliminary examinations at CU, studying for, etc.

8.2. Roles of CS PhDs in Academia, Research, and Industry

8.3. Very interested in guest lectures from Computer Science faculty on their areas of research, especially cognitive science.