Andrew Grimshaw headshot
AG

Andrew S. Grimshaw

Professor
Unit: School of Engineering and Applied Science
Department: Department of Computer Science
Office location and address
Rice 502
85 Engineers Way
Charlottesville, Virginia 22903
Education
B.S. UCSD, 1981
M.S. University of Illinois, 1986
Ph.D. University of Illinois, 1988
Biography

Andrew Grimshaw is the chief designer and architect of MENTAT and LEGION. In 1999 he co-founded AVAKI CORPORATION, and served as its Chairman and Chief Technical Officer, until 2005 when AVAKI WAS ACQUIRED BY SYBASE. In 2003 he won the Frost and Sullivan Technology Innovation Award. Andrew is a member of the Global Grid Forum (GGR) Steering Committee and the Architecture Area Director in the GGF. He has served on the National Partnership for Advanced Computational Infrastructure (NPACI) Executive Committee, the DoD MSRC Programming Environments and Training (PET) Executive Committee, the CESDIS Science Council, the NRC Review Panel for Information Technology, and the Board on Assessment of NIST Programs. He is the author or co-author of over 50 publications and book chapters.

Campus Compute Cooperative (CCC) Planning Grant Proposal
Source: U.S. NSF - Directorate Computer & Info. Sciences
September 01, 2017 – August 31, 2019
EN-CS Evaluating and Enhancing the eXtreme Digital (XD) Cyberinfrastructure for Maximum Usability and Science Impact
Source: University of Illinois at Urbana
July 01, 2010 – June 30, 2016
XSEDE: The eXtreme Science and Engineering Discover Environment
Source: University Of Illinois
July 01, 2011 – June 30, 2016
Future Grid
Source: Trustees of Indiana University
October 01, 2009 – September 30, 2014
CS 4414: Operating Systems
Credits: 3
Analyzes process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. Prerequisite: CS 2150 with grade of C- or higher, and CS 3330 or ECE 3430 with a grade of C- or higher.
CS 4444: Introduction to Parallel Computing
Credits: 3
Introduces the student to the basics of high-performance parallel computing and the national cyber-infrastructure. The course is targeted for both computer science students and students from other disciplines who want to learn how to significantly increase the performance of applications. Prerequisites: CS 2110 with grade of C- or higher, CS3330 or ECE 3430 with a grade of C- or higher, APMA 3100 and APMA 3110.
CS 4980: Capstone Research
Credits: 1–3
This course is one option in the CS fourth-year thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. Prerequisite: CS 2150 with a grade of C- or higher
CS 4993: Independent Study
Credits: 1–3
In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). Prerequisite: Instructor permission.
CS 4998: Distinguished BA Majors Research
Credits: 3
Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Prerequisites: CS 2150 with a grade of C- or higher and CS BA major status.
CS 6444: Introduction to Parallel Computing
Credits: 3
Introduces the basics of parallel computing. Covers parallel computation models, systems, languages, compilers, architectures, and algorithms. Provides a solid foundation on which advanced seminars on different aspects of parallel computation can be based. Emphasizes the practical application of parallel systems. There are several programming assignments. Prerequisite: CS 3330, 4414, and 4610, or instructor permission.
CS 6456: Operating Systems
Credits: 3
Covers advanced principles of operating systems. Technical topics include support for distributed OSs; microkernels and OS architectures; processes and threads; IPC; files servers; distributed shared memory; object-oriented OSs; reflection in OSs; real-time kernels; multiprocessing; multimedia and quality of service; mobile computing; and parallelism in I/O. Prerequisite: Undergraduate course in OS; CS 6354 or instructor permission.
CS 6890: Industrial Applications
Credits: 1
A graduate student returning from Curricular Practical Training can use this course to claim one credit hour of academic credit after successfully reporting, orally and in writing, a summary of the CPT experience to his/her academic advisor.
CS 6993: Independent Study
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
CS 7993: Independent Study
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
CS 7995: Supervised Project Research
Credits: 3
Formal record of student commitment to project research for the Master of Computer Science degree under the guidance of a faculty advisor.
CS 8897: Graduate Teaching Instruction
Credits: 1–12
For master's students who are teaching assistants.
CS 8999: Thesis
Credits: 1–12
Formal record of student commitment to thesis research for the Master of Science degree under the guidance of a faculty advisor. May be repeated as necessary.
CS 9897: Graduate Teaching Instruction
Credits: 1–12
For doctoral students who are teaching assistants.
CS 9999: Dissertation
Credits: 1–12
Formal record of student commitment to doctoral research under the guidance of a faculty advisor. May be repeated as necessary.