adam j hartz
Senior Lecturer
Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology
contact
MIT Room 38-591
77 Massachusetts Avenue
Cambridge, MA 02139
(617) 324-4391
hz@mit.edu (
PGP Public Key, fingerprint
3FF5 7BE5 E5DF 680E 1EC2 4ADA B63A 0A59 F5C8 2493)
https://hz.mit.edu
basics
i am a senior lecturer in the department of electrical engineering and computer science at
MIT. my main interests lie in teaching engineering
with an emphasis on problem-solving, engineering design, plan-making, and debugging; in improving the
way we teach these skills; and in developing means of leveraging modern
technologies to improve face-time with students.
in recent years, i
have been involved with teaching and development of 6.101 (Fundamentals of Programming), 6.300 (Signal Processing), and 6.200 (Circuits and Electronics).
before that, most of my work within the department was with the
development and instruction of 6.01 (an
introduction to engineering from the perspective of ee and cs with
applications in robotics, no longer offered). several years ago, i also developed 6.145, an introductory
programming course that used to run over IAP but is now just available as
an online resource.
outside of classes i teach, my most visible project is CAT-SOOP, a programmable learning
management system used in several subjects at MIT and elsewhere.
i am also an academic advisor for course 6 students, and i occasionally
supervise m.eng or urop projects (typically related to education and/or
educational technologies) as part of the Usable Programming group in CSAIL.
teaching
near future:
- in the fall 2024 semester, i'm teaching 6.200 with Dave Perreault and Negar Reiskarimian.
- plans for spring 2025 are still not 100% certain, but as of now, i expect to be teaching 6.101 and 6.200.
subjects i've taught (most recent first):
- 6.200 Circuits and Electronics (formerly 6.002)
FA21, SP23, FA23, SP24, FA24
- 6.101 Fundamentals of Programming (formerly 6.009)
SP17, FA17, SP18, FA18, SP20, FA20, SP21, FA21, SP22, FA22, FA23, SP24
- 6.300 Signal Processing (formerly 6.003)
FA11, SP18, FA18, SP19, FA19, FA20, SP21, SP23
- 6.A01 Mens et Manus First-year Advising Seminar
FA19, FA21
- 6.145 A Brief Introduction to Programming In Python (formerly 6.s080, defunct)
FA16, IAP17, SP17, SU17, IAP18, SU18, IAP19, IAP20
- 6.01 Intro to EECS via Robotics (defunct)
SP09, FA09, SP10, SP11, FA11, SP12, FA12, SP13, FA13, FA14, SP15, FA15, SP16, FA16, SP17, FA17, SP18, SP19
- 6.02 Introduction to EECS via Communication Networks (defunct)
FA12
awards:
- 2022 Kolokotrones Education Award (MIT EECS)
- 2020 Teaching with Digital Technology Award (MIT Open Learning)
- 2019 Digital Innovation Award (MIT EECS)
- 2018 Big Screw Award (MIT APO)
- 2017 Oustanding Educator Award (MIT EECS)
- 2015 Best Instructor Award (MIT HKN, MIT EECS)
- 2012 Carlton E. Tucker Award for Excellence in Teaching (MIT EECS)
students
current students:
theses supervised:
- Hope Dargan (M.Eng 2023):
CS2 Student Programming Performance Prediction and Intervention
- Caleb Noble (M.Eng 2022):
Automated Environment Diagram Assessment for Introductory CS Education
- Kade Phillips (M.Eng 2020):
The THRIFT Parser
co-advised with Denny Freeman
- Jeremy Wright (M.Eng 2019):
Python Semantic Investigator: An Interactive Debugger with Reversible State
- Samantha Briasco-Stewart (M.Eng 2018):
Making Python Easier to Learn with Improved Syntax Error Reporting
- Anne Kelley (M.Eng 2018):
A System for Classifying and Clarifying Python Syntax Errors for Educational Purposes
- Katy Kem (M.Eng 2017):
Laboratory Assignments for Teaching Introductory Signal Processing Concepts
- Jeremy Kaplan (M.Eng 2017):
An Interpreter for a Novice-Oriented Programming Language with Runtime Macros
- Rodrigo Gomes (M.Eng 2016):
The S4 Infrastructure Management System
co-advised with Tomás Lozano-Pérez
- Daniel Martelly (M.Eng 2016):
A System for Automatically Grading Graphs in an Educational Setting
- Michael Mekonnen (M.Eng 2014):
Automatic Protoboard Layout from Circuit Schematics
co-advised with Denny Freeman
software
the following are a couple of software-related projects i have worked on (at least the ones that someone else might find useful).
- things i use regularly and which are actively maintained (bug reports / feature requests welcome!):
- CAT-SOOP: a modern, programmable learning management system
- PLGRM: a tool for managing access control to remote Git repositories
- hzeep: a nice terminal font
- things i use regularly but which i'm not actively maintaining:
- the tako shell: a command language and shell based on Python (a fork of xonsh, which I also worked on)
- minder: a simple text-based calendaring system
- things that i think probably work still but which i'm not actively using or maintaining:
- creek: a tool for live-streaming large, somewhat-interactive lectures
- hive: a distributed issue tracker
personal
i grew up in rural Illinois (near
Princeton). my parents are both retired math teachers, and they formerly owned an antique shop,
Anne's Antiques. my brother also teaches math, at
Hononegah High School in Rockton, IL.
i graduated from MIT with a b.sc in computer science and engineering (6-3) in 2011, and with an m.eng in electrical engineering and computer science in 2012.
i now live in
Boxboro, MA, a nice little town about 25 miles west of Cambridge. i spend a lot of time thinking about work, but i keep myself occupied in what free time remains by playing and writing music; programming; reading; and playing video games, board games, and tabletop role-playing games.
i am an ardent supporter of the
Free/Libre Software movement, and i believe that
privacy is a universal human right, online as well as offline. for this reason, i try to use only Free/Libre Software, and to reject the use of tools created by entities that profit from surveilling and profiling their users (e.g., Google, Facebook, etc...). students occasionally ask about how i do my personal computing, so
here is a brief summary in case anyone is interested.
cats
i currently live with and care for two cats, Zipper and Button, whom i adopted from the
South Shore Humane Society in june
and july 2023, respectively. they both seem to have had a rough time before
being brought to the shelter, but they are living the good life now (though
they are still learning to get along with each other).
from 2009-2023, i lived with a wonderful cat named Stronger, whom i adopted from the Merrimack River Feline Rescue Society during my sophomore year at MIT. sadly, she passed away on 24 april 2023 at the age of 17. she was an amazing companion for a substantial fraction of my life, and i still miss her terribly.
contact
the most reliable way to reach me is via e-mail, at
hz@mit.edu. i do not have a facebook, linkedin, google+, twitter, gmail, etc. please note, though, that i view e-mail as a form of
asynchronous conversation. please do not expect me to receive your e-mail (or respond to it) immediately. i try my best to respond to e-mail within one business day, but sometimes i may be faster or slower than that.
i appreciate it when e-mails are
PGP encrypted with
this public key. if you do send me encrypted mail, please also include your public key so i can encrypt the response!
in july 2023 i started using my new key (
F5C82493, linked above). my old key was
E179AD62, and
here is a revocation certificate for it if you have it in your keychain.