Teaching Award (take 2)

I got a letter a few days ago informing me that I have won the All-University Graduate Teaching Assistant Award in Math, Science and Engineering.  To quote the letter,

“The competition for the All-University award was intense, and selection committee members felt that your dossier clearly exhibited excellence in teaching.  The recommendations of faculty members with whom you work, as well as evaluations by your former students, show that you have strong command of your subject, the capacity to inspire students, and highly developed organizational and teaching skills.”

Wow — I am honored for the award, and am grateful for the appreciation of my teaching.

Course Evaluations for Computer Architecture

The course evaluations for Computer Architecture (CS-3330 and ECE-3330) have been posted.  Click on the link below for a PDF with the statistics and student comments.  Note that there are two sets of evaluations (and two sets of comments), one for CS-3330 and the other for ECE-3330, which was a combined class.

I’d like to thank all of the students in CS/ECE 3330 for a great semester.  Thank you for the feedback as the class progressed (both anonymous and attributed), and I learned a great deal myself.  Thank you as well for the constructive feedback on the course evaluations.  Hopefully I will see many you around grounds this spring, and have a great semester!

Computer Architecture Course Evaluations for Chris Gregg [PDF]

The Job Search!

I am on the job market, looking for teaching positions at various colleges and universities across the country.  My goal is to find a position in a computer science or computer engineering department, or at a school of education that allows me to teach a number of courses as well as to continue with my heterogeneous computing research and with my research into the pedagogy of introductory parallel programming.  Most schools request a CV, teaching statement, research statement, and letters of recommendation.  Below are quick links to the first three:

Curriculum Vitae             Teaching Statement           Research Statement

Should multiple languages be taught concurrently?

This summer, I am teaching a programming course to middle school students where the students will be learning how to program in four programming languages: Python, Scheme, Java, and C.  The course is only two weeks long (with three different classes), but we will be focusing on similarities between languages, and I hope that the students will gain a deeper insight into programming in general.

Can primary school students learn parallel programming?

Luther Tychonievich and I created a parallel programming course for fourth and fifth graders.  We decided that we wanted to see if that age group (all novice programmers) were capable of learning some rudimentary parallel programming, so we decided to give it a shot.  We taught the course through the UVA Saturday Enrichment Program  at the Curry School of Education.  We designed and implemented a new parallel programming language called EcoSim, which is available at http://ecosimulation.com.  Feel free to check it out!

AMD Summer Internship

I spent a great summer in Boston, working at the Boston Design Center atAdvanced Micro Devices (AMD), under the direction of Norm Rubin. Perhaad Mistry and I worked on producing an OpenCL computer vision application of the “Speeded Up Robust Features” algorithm. We worked on analysis of the OpenCL code and on a few demonstrations of the interest-point detection algorithm, most notably a real-time video stabilization routine.