Computer Programming for Lawyers (Spring 2021)

Clients increasingly want their lawyers to understand their products and services on a technical level. Regulators need to understand how their rules will be implemented in code. Lawyers increasingly need tools to automate the process of collecting, organizing, and making sense of impossibly large troves of information.

Computer Programming for Lawyers introduces law students to the Python programming language with an emphasis on text analysis. For instance, we will use the same tools data scientists employ to "scrape" (collect) data, organize it, clean it, and use it to explore legally-relevant questions. This course will lay the foundation for understanding the basics of how companies leverage software engineering and “big data.” These skills have applications from legal discovery, to deposition preparation, to research into administrative or judicial action.

Computer Programming for Lawyers also acquaints the student with the logic of computer reasoning, and offers opportunities to comptrast it with legal reasoning. How would the procedure and substance of legal decisions change if more of the law were legible to computers and executable by computers?

This course requires the student to complete in-class labs and problem sets as homework in order to demonstrate skill acquisition. It is four credits because of its intensity. Learning Python will be much like learning a new language; we thus expect a serious commitment from the student in this course. This course is designed for students with no prior exposure to computer programming; consult the instructors prior to enrolling if you have experience programming in languages such as Python, C++, Ruby, Java, R, etc.

*Course image is of Jean Hall, programming the AVIDAC at the Argonne National Lab.