What you'll learn

  • Challenges at the Intersection of Law and Technology
  • Computational Thinking
  • Programming Languages
  • Algorithms, Data Structures
  • Cryptography
  • Cybersecurity

Course description

This course is a variant of Harvard University's introduction to computer science, CS50, designed especially for lawyers (and law students). Whereas CS50 itself takes a bottom-up approach, emphasizing mastery of low-level concepts and implementation details thereof, this course takes a top-down approach, emphasizing mastery of high-level concepts and design decisions related thereto. Ultimately, it equips students with a deeper understanding of the legal implications of technological decisions made by clients.

Through a mix of technical instruction and discussion of case studies, this course empowers students to be informed contributors to technology-driven conversations. In addition, it prepares students to formulate technology-informed legal arguments and opinions. Along the way, it equips students with hands-on experience with Python and SQL, languages via which they can mine data for answers themselves.

Topics include algorithms, cloud computing, databases, networking, privacy, programming, scalability, security, and more, with a particular emphasis on understanding how the work developers do and the technological solutions they employ may impact clients. Students emerge from this course with a first-hand appreciation of how it all works and all the more confident in the factors that should guide their decision-making.


  • Senior Preceptor in Computer Science, Harvard University
  • Gordon McKay Professor of the Practice of Computer Science, Harvard John A. Paulson School of Engineering and Applied Sciences

Associated Schools

  • Harvard School of Engineering and Applied Sciences

Enroll now.
Take course