Contact

To make an appointment

  • Office hours (Spring 2014): by appointment
  • For meetings related to online education and the MOOCLab, Please contact Sean McMahon (seanm@berkeley.edu, 510-664-9093) to schedule a phone call or meeting.
  • For all other appointment requests, please contact Tamille Johnson or Roxana Infante at aspire-admin@eecs.berkeley.edu.

Teaching

Research

  • Autograding of computer programs [link coming soon]
  • Improving student engagement & learning through community/social features
  • High-productivity parallel computing: the SEJITS project in the ASPIRE Lab

Upcoming Travel

  • March 24-30: spring break, offline
  • May 28-30: ASPIRE retreat, Santa Cruz, CA
  • June 2-7: ICSE 2014, Hyderabad

Looking for an expert witness or similar? Sorry, I don’t have the time and am not interested.  I feel the majority of such trials do tremendous harm to my field in order to enrich others who don’t move the field forward, and I don’t want any part of that.  If you’re specifically interested in my mobile computing work as a PhD student, I’ve put all that stuff on GitHub.

Trying to get admitted to Berkeley? If you are a current Berkeley student I would be happy to talk to you. Otherwise, I will not respond to emails regarding admission to Berkeley degree programs.  I cannot help you get admitted or advise you on admissions.  If you’re admitted I’ll be happy to talk to you once you’re here.

Looking for a postdoc? I am affiliated with the MOOCLab and the ASPIRE Project.  If you don’t see a postdoc opening advertised on those pages, it means I’m not in a position to hire one, and I won’t generally reply to cold calls on that.

Trying to connect with me on LinkedIn? Yes, I’m on there, but I only connect with people with whom I’ve had nontrivial actual co-worker experience.  If you’re not in that category, don’t be offended when I don’t respond to your “connect with me” request.

PGP public key (also on keys.gnupg.net)

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.13 (Darwin)

mQENBFH9K1YBCADQ9/N7ES7NwHbJGn3aW0LHadJkXiEmtNvzccGhWDrXw/S3S8b9
GLmAV78n3QUpd474Y9WtqDnSvksn6HztQVKZaMdoP/eA5KMT29OD+/tFGb4OeFbR
F1/0rKZRLp1m/FsSXLRrtwcan6cj+Y8Dukj+5lEnkzFWPofUcob1JNXDCgaioNpe
0Ri9XeLm/1iv23ZQ8R3W19c96GjAIzMwY6d9QbuMUrF69WuIKR7kDATtY3ZXaZ4y
+2iorSK+w539P7prJyM0qhb1p6znveqtGkxZulsInfL5wLWg50MaL4I6+ylb0R4Y
NFf9ErGtjxDx9ezp+AIhE2NNnhFZs3X3LeH1ABEBAAG0IkFybWFuZG8gRm94IDxh
cm1hbmRvZm94QGdtYWlsLmNvbT6JATgEEwECACIFAlI4kDQCGwMGCwkIBwMCBhUI
AgkKCwQWAgMBAh4BAheAAAoJEBWNUuya0OdHyq4IAKFLcTtQnpN76GZieCa2zq4Q
9bjovA+D7/h+5hI/l55gmRQj/En9pNS2k1YAGei17Y0MT9KIAeNRP3TQCeU6hKFH
2Xv41p9GoJEoz6VXxNwL9Gt3sHwK/JgFUKAyAyjlFuRGQUnBjGJBOJuoaQ6Fexfa
Fbj/VdqMMoyzJbavSaec57ZZq2KtSwR/zLW/GTVxXG/Y1iR7tHylKDdLg5r3yIhy
tWaNFE3o3eIWhU18Y99nh/dULSL8GHCOmGCo9khx42ihAww9m2BwuDuv2QXrBE32
CX5M7i2QSupR7qgkhjpiU+/E1WarBNHr5q20bVaunH8wEkqawP91Twx2Zk/le2O0
LUFybWFuZG8gRm94IChwZXJzb25hbCBrZXkpIDxmb3hAYWx1bS5taXQuZWR1PokB
OAQTAQIAIgUCUf0rVgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQFY1S
7JrQ50frvAf/eYQS6gFQ3NmacuEZz3QgSHGblMg8L6XU6v5xCSAZDA/kjFMyJ25P
qtaGcXlZtl1kI7zAR5YQmiBb9xJ8UcA+yJW2qdl7I+/ofqV2UfDTywk5i/QhRg3P
59It/Y4DJ1D6inWPFTrakUJhauYtOVTYUwbhSQsW6FVHC0vxoSoITBWEbdSp4mBU
WGhTWCVVgQuamg8Yc5JoDVa5zkylV0DViDokcOrzw5Tf5Lmxe3O8pqwDMnijFytv
1/i7bDaNOTAAawpDZzAVU6uT6Hg0/VkMyOVoheBc7Z7GOmPltv8r8Fno3nXGVUSk
WGQ0MXfrNnf9vPCU7+w/h/oAPCHzVdJfarQhQXJtYW5kbyBGb3ggPGZveEBjcy5i
ZXJrZWxleS5lZHU+iQE4BBMBAgAiBQJSOJPVAhsDBgsJCAcDAgYVCAIJCgsEFgID
AQIeAQIXgAAKCRAVjVLsmtDnR1y/CACnLJsFUSt6sUJs399cczmocSuVGgrA3g9A
X7LtoHwj2ySR3gSQCNAyStl7Kahk90lezwxL1kBwlIUIbgjda0ClIxnDqx1O/cRF
QbeikCCghSppkEQV8gqJU1JpgrHObc6pURAP2dCvIMo9kdUJzY4cM77tMn9ORpRq
2mk5jfDIt2B6Ul6AbGyKe0EkNLPIezew4JEBhhhpoyRzczkOhIprABo/GrVvA7J9
7cP+m6XXnoCYJu3RtvVrE4L84/kT4iLaSx/dMUy4hN6HG1L4JxtAvQ/FTLv60BY1
e2q0nvGF3+6QmNowjNDz0+DVtuucHiZUXMarp8YbHScqT9BP0zs2uQENBFH9K1YB
CACby03J9I4615mxFVi5UCn9CFouzfQJ1t+trmMmIqGq9Qirdb4o4hCetcXFapJv
UkLGK0bbY4A8QaLSNly0xn1fh1s7F4CPoyAe3ahIZmJ0uTULd/YunHj0cUbepgeJ
M8aULjZKrQq33htoFzCZRNFekOTwtW7bpQT+3x1CGTdgdm0B71Hl1OQ55blv5dsQ
gPcdpezBsgFVG9mXyXjP2psQhyGgeTPB/5mq+Brvu+KSKxSzmkkZJo16pOEK+Zlc
K/QnSHhOuB9Y0pfEyktoyzLCDVtTJyKwoGPA41urSUek6TM7+hu9F3IYRV9sR4Gt
eUR0C6tCz1MpZk2HKVfTmn2zABEBAAGJAR8EGAECAAkFAlH9K1YCGwwACgkQFY1S
7JrQ50fTQwf9EkpHBqrXJlfliPpcs6kTFGxs9RGaVVKBcXDihT6Q0mIZ+KmxKpXg
0YMpo7A9a+MF5vZaC45Q9K9xPPMyYA5TE8QDIcXxRsdB3FD7iDd+XZf9HijqOPZJ
3LVo84UBdeESwUCN6cFKliAK/dQ60G9TXo57gz8gulDqaHytc/v/VdaaDJAQiHWl
JIiNZDMnxvDbAx6oodBqVB9fMp2CAf+ysSaKhejhIj6uEA/Tf+8Lq+XozkMzfLp/
WK5aqjE+8zBGPAxxvix365nbaiJJa15u4N4wtcsIlIH52wYrxAMn/JRNRe2STRVC
kn88ODJHqSA1GGF+a/GTI8UrcDIVREgxLw==
=HrWs
-----END PGP PUBLIC KEY BLOCK-----