Apart from their assigned mod courses, 1L students may only enroll in courses offered as 1L electives. A complete list of these courses can be found on the 1L Elective Listings page. 1L students must use the 1L class number listed on the course description when enrolling.
276.34 sec. 001 - Computer Programming for Lawyers (Spring 2023)
Instructor: Chris Hoofnagle (view instructor's teaching evaluations - degree students only | profile)
View all teaching evaluations for this course - degree students only
Grading Designation: Credit Only
Mode of Instruction: In-Person
TuTh 3:35 PM - 5:25 PM
Location: Law 140
From January 10, 2023
To April 20, 2023
Course End: April 20, 2023
Class Number: 32438
Enroll Limit: 45
As of: 08/24 11:03 PM
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. We also cover regular expressions, some HTML, JSON, and APIs.
Computer Programming for Lawyers also acquaints the student with the logic of computer reasoning, and offers opportunities to contrast 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.
Attendance at the first class is mandatory for all currently enrolled and waitlisted students; any currently enrolled or waitlisted students who are not present on the first day of class (without prior permission of the instructor) will be dropped. The instructor will continue to take attendance throughout the add/drop period and anyone who moves off the waitlist into the class must continue to attend or have prior permission of the instructor in order not to be dropped.
If you are the instructor or their FSU, you may add a file like a syllabus or a first assignment to this page.
Instructor has not yet confirmed their textbook order, please check back later.