David J.Malan
Home
Bio
CV
My Statements
Office Hours
Publications
Talks
Contact
CS50
An Open-Source, API-Based Framework for Assessing Correctness of Code in CS50
CS50 Sandbox: Secure Execution of Untrusted Code
Grading Qualitatively with Tablet PCs in CS 50
Moving CS50 into the Cloud
Podcasting Computer Science E-1
Reinventing CS50
Scaling Office Hours: Managing Live Q&A in Large Courses
Scratch for Budding Computer Scientists
Teaching Academic Honesty in CS50
Toward an Ungraded CS50
Virtualizing Office Hours in CS50
MOOC Analysis
Computational Thinking and Assignment Resubmission Predict Persistence in a Computer Science MOOC
Engaging Students through Video: Integrating Assessment and Instrumentation
Foreseeing the Endgame: Who Are the Students Who Take the Final Exam at the Beginning of a MOOC?
Going Over the Cliff: MOOC Dropout Behavior at Chapter Transition
Streamlining Grading toward Better Feedback
Cryptography
A Public-Key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve Cryptography
Crypto for Tiny Objects
Networking
CodeBlue: An Ad Hoc Sensor Network Infrastructure for Emergency Medical Care
Exploiting Temporal Consistency to Reduce False Positives in Host-Based, Collaborative Detection of Worms
From Cluster to Cloud to Appliance
Host-Based Detection of Worms through Peer-to-Peer Cooperation
Implementing Public-Key Infrastructure for Sensor Networks
Low-Power, Secure Routing for MICA2 Mote
Rapid Detection of Botnets through Collaborative Networks of Peers
Sensor Networks for Emergency Response: Challenges and Opportunities.
Forensics
Advanced Forensic Format: An Open, Extensible Format for Disk Imaging
Miscellaneous
Microteaching: Semantics, Definition of a Computer, Running Times, Fractal Trees, Classes as Encapsulation, and P vs NP
One Big File Is Not Enough: A Critical Evaluation of the Dominant Free-Space Sanitization Technique
Summary Structures for XML