David J. Malan
** ****** ****** ********* ** ****8 USA +1-617-***-****
abo3bu@r.postjobfree.com
http://www.cs.harvard.edu/malan/
education Harvard University, School of Engineering and Applied Sciences 20022007
Doctor of Philosophy (Ph.D.), Compu ter Science. Research in cybersecurity and digital
forensics with
focus on detection of patterns in large datasets. Dissertation on Rapid Detection of
Botnets through
Collaborative Networks of Peers . Advised by Dean Michael D. Smith.
Harvard University, Graduate School of Arts and Sciences 2002 2004
Master of Science (S.M.), Computer Science. Research in sensor networks for emergency
medical care.
Harvard College 19951999
Bachelor of Arts (A.B.), cum laude, Computer Science; 3.9 of 4.0 GPA in field. Studies in
micro- and
macro-economics, finance, statistics and probability theory, multivariate calculus, and
linear algebra.
service American Red Cross, Disaster Services 2003
Emergency Medical Technician (EMT) . Provide emergency medical care at local events.
startups Diskaster ! 2005 2008
Founder. Started company that offered professional recovery of data from hard drives and
memory cards
as well as forensic investigations for civil matters.
Crimson Tutors20052007
Founder. Started company that provided area students with academic tutors from Harvard
and MIT.
Managed all finances and oversaw 40 tutors.
experience
Harvard University, School of Engineering and Applied Sciences 2007
Senior Lecturer on Computer Science, Director of Educational Innovation. Voting member of
the Faculty of Arts and
Sciences with Principal Investigator privileges. Instructor for second-largest course at
Harvard College,
Computer Science 50: Introduction to Computer Science I. Grew enrollment from 132
students to 607 (+360%).
Manage staff of 101 teaching fellows and course assistants. OpenCourseWare at
http://cs50.tv/.
Mindset Media, LLC20082011Chief Information Officer (CIO). Responsible for advertising network s scalability,
security, and capacity-
planning. Designed infrastructure for collection of massive datasets capable of 500M HTTP
hits per day
with peaks of 10K per second. Acquired by Meebo, Inc.
Office of the Middlesex District Attorney, Special Investigations Division 2005
Forensic Investigator. Assisted police and prosecutors with criminal investigations.
Conducted forensic analyses
of seized hardware. Recovered deleted and damaged data as evidence for trials. Drafted
subpoenas.
AirClic Inc. 20002001Engineering Manager. First technical hire of wireless startup, chaired by American
Express s Harvey Golub
and backed by $290M in class-B funding. Direct report to CTO. Built software -development
and
product-management teams. Drafted and managed all patents.
Harvard University, Division of Continuing Education 1998
Lecturer. Youngest instructor in Harvard Extension School s history; appointed while
still an
undergraduate. First instructor at university to podcast an entire course in audio and
video formats, free
to public. Podcast ranked best educational podcast by Wired Magazine and featured on
iTunes, with
over 10,000 subscribers at debut. OpenCourseWare at http://computerscience1.tv/.
languages C, C++, C#, CSS, DTD, HTML, Java, JavaScript, LISP, NesC, Objective-C, Perl,
PHP, SQL, SVG,
VBScript, XHTML, XML Schema, XPath, XQuery, XSLT.English, Spanish, Italian.
Education.
Milwaukee, Wisconsin. March 2010 .
Scratch for Budding Computer Scientists. David J. Malan and Henry H. Leitn er. 38th
Annual ACM Technical
Symposium on Computer Science Education. Covington, Kentucky. March 2007.
Virtualizing Office Hours in CS 50. David J. Malan. 14th Annual ACM Conference on
Innovation and
Technology in Computer Science Education. P aris, France. July 2009.
dissertation Rapid Detection of Botnets through Collaborative Networks of Peers. David J.
Malan. Ph.D. Thesis. Harvard
University, School of Engineering and Applied Sciences. Cambridge, Massachusetts. June
2007.
journals Implementing Public-Key Infrastructure for Sensor Networks . David J. Malan,
Matt Welsh, and Michael D. Smith.
ACM Transactions on Sensor Networks. Volume 4, Issue 4. November 2008.
posters CodeBlue: An Ad Hoc Sensor Network Infrastructure for Emergency Medical Care.
David Malan, Thaddeus R.F.
Fulford-Jones, Victor Shnayder, Breanne Duncan, Matt Welsh, Mark Gaynor, and Steve
Moulton.
Emerging Technology and Best Practices Seminar. Boston University. Boston, Massachusetts.
May
2004.
Quantitative Approaches to Software Security & Information Privacy. Rachel Greenstadt,
David J. Malan,
Stuart E. Schechter, and Michael D. Smith. National Science Foundation Cyber Trust Annual
Principal
Investigator Meeting. Newport Beach, California. September 2005.
Quantitative Approaches to Software Security & Information Privacy. Rachel Greenstadt,
David J. Malan,
Stuart E. Schechter, and Michael D. Smith. National Science Foundation Cyber Trust Annual
Principal
Investigator Meeting. Atlanta, Georgia. January 2007.
Vital Dust: Wireless sensors and a sensor network for real -time patient monitoring. Dan
Myung, Breanne Duncan,
David Malan, Matt Welsh, Mark Gaynor, and Steve Moulton. 8th Annual New England Regional
Trauma
Conference. Burlington, Massachusetts. November 2003.
reports Crypto for Tiny Objects. David Malan. Harvard University Technical Report TR -04-
04. January 2004.
Low-Power, Secure Routing for MICA2 Mote. Breanne Duncan and David Malan. Harvard
University
Technical Report TR-06-04. March 2004.
Summary Structures for XML. David Malan. Harvard University Technical Report TR-05-04.
March 2004.
David J. Malan / 3
talks A Public-Key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve
Cryptography . First IEEE
International Conference on Sensor and Ad hoc Communications and Networks. Santa Clara,
California
.
October 2004
.
Active Learning. Conversations@FAS, Harvard University. Cambridge, Massachusetts.
February 2011.
BMP Puzzles. Nifty Assignments, 41st ACM Technical Symposium on Computer Science
Education.
Milwaukee, Wisconsin. March 2010.
CodeBlue: An Ad Hoc Sensor Network Infrastructure for Emergency Medical Care.
International Workshop on
Wearable and Implantable Body Sensor Networks. Imperial College. London, United Kingdom.
April 2004.
CSI: Computer Science Investigation . Nifty Assignments, 41st ACM Technical Symposium on
Computer Science
Education. Milwaukee, Wisconsin. March 2010.
Exploiting Temporal Consistency to Reduce False Positives in Host-Based, Collaborative
Detection of Worms..
ACM Workshop on Recurring Malcode. Fairfax, Virginia. November 2006.
The Geek Shall Inherit the Earth. Harvard Thinks Big. Cambridge, Massachusetts. February
2010.
Grading Qualitatively with Tablet PCs in CS 50. David J. Malan. Workshop on the Impact of
Pen -Based
Technology on Education. Blacksburg, Virginia. October 2009.
Host-Based Detection of Worms through Peer -to-Peer Cooperation. ACM Workshop on Rapid
Malcode. Fairf ax,
Virginia. November 2005.
Moving CS50 into the Cloud . 15th Annual Conference of the Northeast Region of the
Consortium for
Computing Sciences in Colleges. Hartford, Connecticut. April 2010.
The New CS 50. Colloquium on Computer Science Pedagog y, Carnegie Mellon. Pittsburgh,
Pennsylvania.
October 2009.
One Big File Is Not Enough: A Critical Evaluation of the Dominant Free -Space
Sanitization Technique.
6th Workshop on Privacy Enhancing Technologies. Cambridge, United Kingdom. June 2006.
Podcasting Computer Science E-1. 38th ACM Technical Symposium on Computer Science
Education.
Covington, Kentucky. March 2007.
Podcasting E-1: It s All About Access. Podcast Academy at Boston University. Boston,
Massachusetts.
April 2006.
Rapid Detection of Botnets through Collaborative Networks of Peers . Final Oral
Examination. Harvard University,
School of Engineering and Applied Sciences. Cambridge, Massachusetts. May 2007.
Reinventing CS50. 41st ACM Technical Symposium on Computer Science Education. Milwaukee,
Wisconsin.
March 2010.
Scratch @ Harvard. Scratch@MIT Conference. Cambridge, Massachusetts. July 2008.
Scratch for Budding Computer Scientists. 38th ACM Technical Symposium on Computer Science
Education.
Covington, Kentucky. March 2007.
Teaching Computer Science in the Cloud. 2009 USENIX Annual Technical Conference. San
Diego, California.
June 2009.
Toward a Public-Key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve
Cryptography . Qualifying
Examination. Harvard University, School of Engineering and Applied Sciences. Cambridge,
Massachusetts. November 2004.
Toward PKI for Sensor Networks. BBN Technologies. Cambridge, Massachusetts. November
2004.
David J. Malan / 4
Usando a tecnologia efetivamente para melhorar o ensino de graduac!Ao. Critical Issues
and Strategies for Leaders of
Modern Universities. Cambridge, Massachusetts. April 2011.
Virtualizing Office Hours in CS 50 . 14th Annual ACM Conference on Innovation and
Technology in
Computer Science Education. Paris, France. July 2009.
tutorials Moving Your Course into the Cloud . 41st Annual ACM Technical Symposium on
Computer Science Education.
Milwaukee, Wisconsin. March 2010 .
Replacing Real Servers with Virtual Machin es Using Amazon Elastic Compute Cloud (EC2).
23rd Large Installation
System Administration Conference (LISA 09). Baltimore, Maryland. November 2009.
Replacing Real Servers with Virtual Machines Using Amazon Elastic Compute Cloud (EC2) and
Simple Stor age
Service (S3). 2009 USENIX Annual Technical Conference. San Diego, California. June 2009.
Starting with Scratch (literally) in CS 1 .
2007
Harvard College
Introduction to the intellectual enterprises of computer science and the art of
programming. This course
teaches students how to think algorithmically and solve problems efficiently. Topics
include abstraction,
algorithms, encapsulation, data structures, databases, memory management, security,
software development,
virtualization, and websites. Languages include C, PHP, and JavaScr ipt plus SQL, CSS,
and HTML. Problem
sets inspired by real-world domains of biology, cryptography, finance, forensics, and
gaming. Designed for
concentrators and non-concentrators alike, with or without prior programming experience.
Computer Science 164: Mobile Software Engineering 2012
Harvard College
Introduction to principles of software engineering for mobile devices and best practices,
including code
reviews, source control, and unit tests. Topics include Ajax, encapsulation, event
handling, HTTP, memory
management, MVC, object-oriented design, and user experience. Languages include HTML5,
JavaScript,
Objective-C, and PHP. Projects include mobile web apps and native iOS apps.
David J. Malan / 5
Computer Science 15: Data Structures 2002 2005
Tufts University
A second course in computer science. Data structures and algorithms are studied through
major programming
projects in the C++ programming language. Topics include linked lists, trees, graphs,
dynamic storage
allocation, and recursion.
Computer Science E-1: Understanding Computers and the Internet 1999
Harvard Extension School
This course is all about understanding: understanding what s going on inside your
computer when you flip on
the switch, why tech support has you constantly rebooting your computer, how everything
you do on the
Internet can be watched by others, and how your computer can become infected with a worm
just by being
turned on. Designed for students who use computers and the Internet every day but don t
fully understand
how it all works, this course fills in the gaps. Through lectures on hardware, software,
the Internet,
multimedia, security, privacy, website development, programming, and more, this course
takes the hood off
of computers and the Internet so that students understand how it all works and why.
Through discussions of
current events, students are exposed also to the latest technologies.
Computer Science E-75: Building Dynamic Websites 2008
Harvard Extension School
Today s websites are increasingly dynamic. Pages are no long er static HTML files but
instead generated by
scripts and database calls. User interfaces are more seamless, with technologies like
Ajax replacing traditional
page reloads. This course teaches students how to build dynamic websites with Ajax and
with Lin ux, Apache,
MySQL, and PHP (LAMP), one of today s most popular frameworks. Students learn how to set
up domain
names with DNS, how to structure pages with XHTML and CSS, how to program in JavaScript
and PHP,
how to configure Apache and MySQL, how to desig n and query databases with SQL, how to
use Ajax with
both XML and JSON, and how to build mashups. The course explores issues of security,
scalability, and
cross-browser support and also discusses enterprise -level deployments of websites,
including third-party
hosting, virtualization, colocation in data centers, firewalling, and load -balancing.
Computer Science E-76: Building Mobile Applications 2011
Harvard Extension School
Today s applications are increasingly mobile. Computers are no longer confined to desks
and laps but instead
live in our pockets and hands. This course teaches students how to build mobile apps for
Android and iOS,
two of today s most popular platforms, and how to deploy them in Android Market and the
App Store.
Students learn to write native apps for Android using Eclipse and the Android SDK, to
write native apps for
iPhones, iPod touches, and iPads using Xcode and the iOS SDK, and to write web apps for
both platforms.
Computer Science E-259: XML with Java, Java Servlet, and JSP 2004 2008
Harvard Extension School
This course introduces XML as a key enabling technology in Java -based applications.
Students learn the
fundamentals of XML and its derivatives, including DTD, SVG, XML Schema, XPath, XQuery,
XSL -FO, and
XSLT. Students also gain experience with programmatic interfaces to XML like SAX and DOM,
standard
APIs like JAXP and TrAX, and industry -standard software like Ant, Tomcat, Xerces, and
Xalan. The course
acquaints students with J2EE, including JavaServer Pages (JSP) and Java Servlet, and also
explores HTTP,
SOAP, web services, and WSDL. The course s projects focus on the implementation and
deployment of
these technologies.
Computer Science S-1: Great Ideas in Computer Science with Java 2003 2010
Harvard Summer School
This course is an introduction to the most important discoveries and intellectual
paradigms in computer
science, designed for students with little or no previous background. We explore problem -
solving methods
and algorithm development using such high-level programming languages as Java and
JavaScript. Students
learn how to design, code, debug, and document programs using techniques of good
programming style in a
Linux-based environment. This course presents an integrated view of computer systems,
from sw itching
circuits and machine language through compilers and GUI design. We examine theoretical
and practical
limitations related to unsolvable and intractable computational problems, and the social
and ethical dilemmas
presented by such issues as software unreliability and invasion of privacy.