Since 2016, the Georgetown University Law Center has offered a three-credit course in "Computer Programming for Lawyers" to train lawyers-to-be how to become computer programmers and to explore how practicing lawyers can write computer programs to become better, more efficient practitioners.

This blog will introduce both Georgetown insiders and outsiders to this course. It will also contain the occasional musings about the intersection of computer programming and the law of Professor Paul Ohm and invited guests.

This post, describing the philosophy of the course, is probably the best introduction for any audience.

Prospective students will also want to read these posts about the textbook, the problem sets, and the side-effects of the course.

Teachers and administrators at other law schools thinking about adding the course will also want to read these posts about the administrative costs of the course, the pros and cons of hosting the course within a law school versus across campus, and the problem sets.

Practitioners might be interested in an argument against merely outsourcing programming to trained experts.

The First Annual Rock, Papers, Scissors Competition for ICPL

This year, we added a second computer programming course at Georgetown Law, for Intermediate students. I will write more about this course (which I am thoroughly enjoying) later, but I said a little about it in this post. For now, I just wanted to share the homework assignment for next week. I owe a special debt of inspiration to contests like this one: This contest is not open to outside submissions! [Read More]

Why Python?

In this class, we teach students how to code in Python. I never cease to be amazed by the passion with which geeks can debate the relative merits of different programming languages (and the underlying programming approaches they represent). I’m not here to swear fealty to the House of Python and claim that we made the only logical choice. But I think Python works amazingly well for us, and I don’t regret the choice for a minute. [Read More]

CP4L: The Textbook

We couldn’t find a perfect book for this course*, so we decided to write one! The result is called, quite creatively, Computer Programming for Lawyers. Perhaps the very best thing about the book is the striking ASCII Art Jonathan Frankle created, freehand, for the cover: Part I of the book introduces the fundamentals of Python in legal practice, while Part II (mostly yet to be written) covers slightly more advanced Python topics. [Read More]

The Administrative Costs of the Course

My primary motivation for creating this blog was to help me respond efficiently to professors and administrators at other law schools who have inquired about the course. I sincerely hope that computer programming will be offered at many other law schools before too long. The startup costs are pretty significant, however, so I wanted to make sure people knew what they were facing. Instructor Given the philosophy of the course, it is best to find an instructor who is experienced with both legal practice and computer programming. [Read More]

Graded Problem Sets and the Expectations of Law Students

The two people who devised this course–Jonthan Frankle and I–both studied computer programming in college (he much more recently than I) and took from those experiences the critical importance of weekly, graded problem sets. Students in this class must complete a problem set every week of the semester. These are calibrated to be quite tricky, full of small details and annoying little edge cases that require time and hard work to perfect. [Read More]

The Team

Computer Programming for Lawyers at Georgetown Law is headed by Professor Paul Ohm. Running this course requires a small army of people. This page will list everybody who has helped create or maintain the course and will serve as an archive of personnel from the past. Jonathan Frankle: My true partner in crime, Jonathan created the course with me and co-taught it the first time it was offered, in Spring 2016. [Read More]

FAQ: Shouldn't practicing lawyers just hire programmers?

FAQ: Rather than teach lawyers to write programs themselves, why not encourage them to hire professional programmers? The benefits of programming for legal practice I am touting could probably also be realized by lawyers and programmers working together. As such, some people have asked me, isn’t it more realistic and more productive to encourage lawyers to hire programmers? I don’t think so, for many reasons: First, trained programmers command very high pay for their work, even more than starting lawyers in many cases. [Read More]

FAQ: Why can't students just take computer programming in another department?

FAQ: Why do we need to teach this class inside a law school? Shouldn’t we partner with professionals who know how to teach computer programming across campus? This is perhaps my most frequently asked question. I have many responses. Most importantly, there are tons of other ways a law student or lawyer can learn to code. If a law student can take a programming course across campus in computer science or engineering or some other departments, it might be a great fit for her or him. [Read More]

Side Effects May Include...

Now that I have presented the goals for this course–making lawyers more efficient by teaching them how to code–let me distinguish other goals that are not my central goals for this course but may be pleasant side effects of becoming a computer programmer. To be clear, I don’t have any problem with these admirable goals. Deep down, I hope many of my students will achieve these goals as a side-effect of this course, or because this course spurs future study. [Read More]

The Philosophy of the Course

Every time I teach Computer Programming for Lawyers, I start with the same first line, “This is an argument in the form of a course.” The argument, I explain, is that every single lawyer–regardless of area of substantive speciality or style of practice–could become a more efficient lawyer if they learned some rudimentary computer programming skills. The argument builds on the observation that every lawyer processes information as a part of their job. [Read More]