Skip to content

Latest commit

 

History

History
360 lines (251 loc) · 28.4 KB

syllabus.md

File metadata and controls

360 lines (251 loc) · 28.4 KB

Syllabus

Law599 A13 - Coding the Law, Fall 2019
University of Alberta Faculty of Law
Jason Morris, BA, LLB, LLM (almost)
9:00am-11:50am Fridays
Room: LC 448

Course Objectives

Law is not immune to the technological changes that are occurring in the rest of society. As has happened in every other sector of the economy, globalization and technology will result in an increased automation of legal services. Indeed, because of the severity of the access to justice problem in Canada and other jurisdictions, the impetus to automate legal services is stronger than in many areas.

Not all lawyers need to become expert programmers, now or in the future. For those who choose to, there are certainly opportunities to make unique contributions. But this course is not designed to create expert programmers.

In the future lawyers will be called upon to advise their clients and their practices in developing, or certifying, or objecting to the outcomes of automated legal services. The encoding of legal instruments (laws, regulations, contracts) also provides opportunities for new types of automated legal analysis that have previously been impossible. Lawyers who are aware of the landscape of possibilities, and who have experience and gain confidence learning to use these new technologies, will be better equipped to protect and serve their clients and the public.

Confidence with learning and using technology is a transferable skill. It allows a lawyer to take advantage of more efficient practice models, supporting the lawyer’s opportunity to practice law independently. This can have beneficial effects for work-life balance for young lawyers by making solo practice a realistic possibility, and could as a result increase equity and improve health among the profession as a whole.

This course will not provide the law student with experience using the technologies they are most likely to be exposed to in practice. Instead, this course is designed to give law students an introduction to the types of technologies being used for automating legal services now and in the near future, their strengths, their weaknesses, and the trends in their development going into the future.

The Course has three primary objectives:

  • Introduce students to an array of technologies for automating legal services
  • Introduce students to the issues surrounding the adoption of legal automation technologies from an access to justice perspective
  • Give students practical experience automating legal services with current technology

Technologies covered will include:

  • rule-based artificial intelligence such as expert systems, and smart contracts
  • data-based artificial intelligence such as machine learning
  • automated client interview systems
  • document automation tools
  • online dispute resolution tools

The course will provide students with an introduction to some of the professional issues surrounding these technologies, including:

  • Regulatory concerns
  • Obstacles to the adoption of automated legal services
  • Ethical issues, such as algorithmic bias
  • Privacy issues
  • Professionalism issues
  • Access to justice implications
  • Implications for the structure of the legal system
  • Implications for legal education and continuing professional development

Most exciting, the course will provide law students with the opportunity and skills to design and implement, in collaboration with a real or simulated client organization, an automated legal service using user-friendly, modern, free, open-source technology.

Course Structure

The course will consist of weekly three-hour seminars. One third of each class will be a conversation with regard to readings on topics surrounding the field of automating legal reasoning. The remainder of each class will involve introductory education on the use of specific tools for the automation of legal reasoning, and assistance with practical exercises implementing legal services in one of those tools, Docassemble.

Docassemble is a leading open-source expert system and document automation tool. It has seen significant and increasing adoption in the pro bono sector, particularly in the United States. Of the American Bar Association’s top 20 web tools for 2018, Docassemble was one, and two others were tools built using docassemble. One of these, a tool to automate bankruptcy filings, was accepted to the Y Combinator incubator program in 2018.

Information on docassemble is available at https://docassemble.org.

Where possible, speakers with experience automating legal services, or with the regulatory and professional issues surrounding the automation of legal services, will be invited to speak.

Required Computing Resources

All mandatory course work will be done in Docassemble, which is available for free, and accessible over the web. Students are therefore only required to bring with them to class a laptop computer with internet connectivity and a modern web browser.

Other tools will be surveyed that are available for educational use at no charge. Students who are interested in obtaining practical experience with those tools may find that hardware or operating restrictions apply to those pieces of software. Students will have the option of choosing a tool other than Docassemble for implementing the main project, with the prior approval of the instructor, in which case the student will need to provide hardware and software compatible with that product and the tools used for evaluation.

Pleae be aware that the exam period for the Winter 2020 semester is April 16 to April 24, 2020, and the Invitational happens on April 17. Depending on your courses, the date of the Invitational may conflict with your final exams.

Required Technology Experience

The course assumes a basic level of comfort with desktop computing software, and the use of the Internet through web browsers. There is no expectation or requirement that a student will have prior programming experience. It is intended that a student with no prior programming experience, but a willingness to experiment and learn, can excel in this course. It is also intended that a student with significant prior programming experience will have the opportunity to expand their understanding of and experience with those tools and others.

Evaluation

Students will be evaluated on the following factors:

In-Class Participation (10%): Students will be expected to participate in seminar discussions about professional issues surrounding the automation of legal services, and to contribute meaningfully to discussions about assigned readings. The assigned readings are intentionally minimal, and short, so you will be expected to be familiar with their contents. Students will also be expected to actively seek and if possible provide assistance to their classmates in the technical learning aspects of the course.

Technical Learning Assignments (20%): Students will be assigned small weekly projects to demonstrate their ability to use basic features of one or more tools. These assignments are designed to allow the student to determine if they are keeping pace with the technical aspects of the course, and to give them confidence that they will have the skills required to complete the major project. Time will be set aside in each class to provide instruction on the assignment for the following week.

Major Project (70%): Students will work in small groups to design and implement a simple automated legal service using one of the tools studied in the course. Students will be asked to collaborate on these projects. Student groups may be determined by the instructor if necessary in order to ensure that each group has students who are confident in their ability to implement solutions in the selected tools. It is intended that the scope and complexity of these projects will be realistic for any student who has completed the Technical Learning Assignments over the course of the semester, with an investment of time and effort equivalent to other 3-credit courses.

In addition to building the automated legal service, the students will be required to do a simulated “pitch” of that tool to an organizational user, directly addressing the concerns that user is likely to have about the tools benefits and risks.

The project will consist of three parts, which will be evaluated according to the following rubric:

  1. Project Design Specifications (20% of project mark)

    The students will be asked to generate a project design specifications document in collaboration with their client organization. This document will be assessed for its professionalism, the degree to which it reflects the needs of the client, the degree to which it considers and addresses relevant professionalism cocnerns, and the degree to which it reflects an undersatnding of the capabilities of the selected technology.

    After the specifications are submitted, they will be approved or amended as necessary by the instructor, and the approved or amended specifications will guide the evaluation of the project implementation.

  2. Project Implementation (60% of project mark)

    The students will create the actual tool, and publish the source code for that tool to GitHub with a link to a web-accessible demonstration. The tool will be assessed for the degree to which it adheres to best practices discussed in the course, its usability, the degree to which it adheres to the design specifications, correctly implements the capabilities of the technology, and accomplishes the objectives of the project.

  3. Project Pitch (20% of project mark)

    The students will be asked to give an interactive demonstration and proposal for the adoption of their tool in the client organization. This presentation will be no longer than 20 minutes. The presentation will be assessed for its professionalism, the degree to which it anticipates the needs and concerns of the client organization and ultimate users of the tool, and substantively addresses those needs and concerns.

At the discretion of the instructor, and with the agreement of appropriate representatives of a legal services organization, students may opt to design a tool for a specific organization in the Edmonton region. If they do so, they will be expected to involve that organization in the design of the tool, and will be allowed to have representatives of that organization attend the “pitch”. Students interested in pursuing this option will be required to propose such a project, and obtain the agreement of the organization to participate, by the date of class 6.

Pursuing this option will allow students to obtain feedback from potential users to better understand the design process. Students will be provided with resources at the start of the semester to assist in recruiting third-party organizations, but no other assistance will be provided in that regard.

For projects that do not have an external organization involved, the instructor will serve in the role of the client in the design process. While the opportunity will be provided for outside organization to provide feedback on the proposals and attend the students’ “pitch”, feedback from external organizations will not be considered in the students’ evaluation.

Iron Tech Lawyer Invitational

The Georgetown Law school at Georgetown Tech in Washington DC has hosted, for the last 6 years, a competition among students who are building access to justice applications using technology or data science. For the first time, in 2019, the competition has been made an invitational for any English-language post-secondary institutions. I have provided an expression of interest on behalf of the University of Alberta Faculty of Law.

If your major project meets the requirements of the competition, at least one of your team would be willing and able to travel to Washington D.C. for the event on April 17, 2020, let me know, and I will see about having the faculty make an application. Only one project from any institution can be sent. If there is more than one team interested in competing, we will make arrangements to have the pitches and the projects judged, and winner selected among them who will go to Georgetown Law for the competition.

Details on the competition are at https://www.georgetowntech.org/irontechlawyer.

To apply for a spot in the competition, I must have an expression of interest from a qualified student before October 11, 2019. If students are interested in attending, we can work with them to try and obtain financial support for travel and accommodations, etc. Georgetown Law does not fund travel for participants.

Course Schedule

The following schedule is tentative, and subject to change. The technical learning assignment listed for each class will be discussed during that class and is due by the start of the following class.

Class 1 - September 6, 2019

Required Reading: None
Discussion Topic: Introduction to the Course, Critical Resources
Tool Survey: Docassemble, GitHub
Technical Learning: Assignment 1

Class 2 - September 13, 2019

Required Reading:

Discussion Topic: Open-Source and Access to Justice
Tool Survey: Automated Document Generation (Docassemble, HotDocs, WebMerge, etc.)
Technical Learning: Assignment 2

Class 3 - September 20, 2019

Required Reading:

Discussion Topic: Regulatory Impacts on Legal Innovation
Tool Survey: Rules-Based Artificial Intelligence (Oracle Policy Automation, Regulation as a Platform, Neota Logic, DataLex, Blawx, etc.)
Technical Learning: Assignment 3

Class 4 - September 27, 2019

Required Reading:

Discussion Topic: “Better Rules” - Writing Laws Differently
Tool Survey: Legal Interview Tools (Docassemble, QnA, A2JAuthor, etc.)
Technical Learning: Assignment 4
Project: Students groups will be determined by the end of this class.

Class 5 - October 4, 2019

Required Reading:

Discussion Topic: Automated Legal Reasoning and Bias
Tool Survey: Machine Learning in eDiscovery (TBD)
Technical Learning: Assignment 5

Class 6 - October 11, 2019

Required Reading: Substantive Legal Software Quality: A Gathering Storm?
Discussion Topic: Regulating the Quality of Automated Legal Services
Tool Survey: Declarative Logic Programming Languages (Flora-2/ErgoAI, Accord Ergo, Blawx, etc.)
Technical Learning: Assignment 6
Project: Proposals for projects involving third-party customers must be received by the end of this class for approval by the instructor.
Iron Tech Lawyer Invitational: If any final projects would like to be considered for submission to the Georgetown Iron Tech Lawyer Invitational, I must know by the end of this class.

Class 7 - October 18, 2019

Required Reading:

Discussion Topic: Privacy and Automated Legal Services
Tool Survey: Case-Based Legal Reasoning (docassemble-openlcbr)

Class 8 - October 25, 2019

Required Reading:

Discussion Topic: Accessibility, Diversity, and Inclusion in Automated Legal Services
Tool Survey: Ontologies for Legal Service Automation (OWL, Protege, LKIF, etc.)

Class 9 - November 1, 2019

Required Reading:

Discussion Topic: The Professional Duty of Technical Competence
Tool Survey: Natural Language Processing (LexNLP)
Project: Design Specifications due by the end of this class.

Class 10 - November 8, 2019

Required Reading:

Discussion Topic: Legal Education and Legal Innovation
Tool Survey: Formal Verification Techniques (L4, TBD)

Class 11 - November 15, 2019

Hackathon.

Class 12 - “Pitches” - November 22, 2019

Project: All major projects must be submitted to the instructor electronically in their final version by the start of this class.

This class will be reserved for students to make their final project presentations.

November 29, 2019 - No Class

Technical Learning Resources

Time will be set aside in each class to address the technical learning assignment set for the week. You are not expected to have read technical resource material in advance.

Extensive documentation on Docassemble is available at https://docassemble.org/docs. Questions are regularly asked and answered at https://docassemble.slack.com in the #questions channel. Because of the large number of law schools providing training on Docasesmble, there is now a #student-questions channel, that will be populated mostly with law school students and instructors, which might offer a less intimidating environment to ask questions. Documentation for Python can be found at https://www.python.org/doc/. And remember, when all else fails... Google is your friend.

Technical Learning Assignments

You are free to pursue these at your own pace. They are scheduled to ensure that you have all the required Docassemble skills in order to complete the major project by the end of the course. The skills you are most likely to use in that assignment will be covered in weeks 1 through 6. The docassemble assignments each presume that you have completed all prior assignments, and acquired those skills, so it is important that you keep up.

Assignment 1 - Hello World

  • Obtain a GitHub account if you don’t have one
  • Obtain a Docassemble account (details will be provided in class)
  • Join the #student-questions and #questions channels on the Docassemble slack.
  • Say “hello” in the #student-questions channel.
  • Configure your Docassemble account to synchronize with GitHub
  • In Docassemble create a “Hello World” Interview that asks for the user’s name, and displays it back to them.
  • Install that interview on your Docassemble server.
  • Publish that interview to GitHub.
  • Forward the publicly-accessible link to the interview and the link to the GitHub repository to the instructor.

Assignment 2 - Docassemble Basics

  • Using Docassemble’s “objects” block and pre-defined objects, modify your interview to use an “Individual” object to represent the user, and create a DAList of other Individuals.
  • Have the interview ask the use for their name, and then ask the names of all the people with whom the user lives, with that information going into the DAList object.
  • Using the “generic object modifier”, create a single question block in your interview file that modifies how all names are requested.
  • Add screens to your interview that request information with different interfaces:
    • A Yes/No question using the “yesno” modifier
    • A multiple-choice field that allows the user to select more than one option.
    • A mutliple-choice field that allows the user to select only one option.
    • A signature.
  • Install that interview on your Docassemble server.
  • Publish the interview to GitHub
  • Forward the publicly-accessible links to the interview and the GitHub repository to the instructor.

Assignment 3 - Document Automation

  • In Docassemble create a document template for an advice memo in the templates section of the playground.
  • The template should, at a minimum,
    • use the user’s name,
    • output the list of family members in a grammatically correct way, and
    • Display one of two paragraphs of text based on the basis of the value of a true or false variable from the interview that indicates whether or not the user is entitled to legal aid services.
    • Display the same date value in at least two different formats.
  • Add this template as a mandatory screen in your interview, so that the document is generated and presented to the user for download in the last screen of the interview.
  • Save the interview, including the template file, to a package. Install that package on your docassemble server.
  • Publish the package to GitHub.
  • Provide your instructor with the addresses for your published interview and repository.

Assignment 4 - Encoding Rules

  • Modify your interview to request the following yes/no pieces of information:
    • Does the user have a lawyer?
    • Can the user afford a lawyer?
    • If the client has a lawyer, is that lawyer still acting for the user?
    • Is the user’s legal matter located in Alberta?
    • Is the user’s legal matter a family law matter?
    • Is the user’s legal matter a criminal law matter?
    • Does the user live in Alberta?
    • Is the user’s matter an appeal of a matter for which the user received LAA assistance?
  • Using the answers to those questions, and based on the policies of Legal Aid Alberta, create 3 or more “code” blocks in your interview which will set the value of these yes/no variables (one per block):
    • Does the user meet the requirements of being unrepresented?
    • Does the user meet the residency requirements?
    • Does the user meet the service eligibility requirements generally?
  • Modify your template to inform the user of all the information that they entered, and to include one of two different paragraphs based on the calculated result about service eligibility.
  • Modify the interview so that questions that do not apply to the user are not asked.
  • Modify the interview so that only one question or code block is marked as mandatory. See sections 1 aand 2 of https://docassemble.org/docs/logic.html for guidance.
  • Save the interview, including the template file, to a package. Install that package on your docassemble server.
  • Publish the package to GitHub.
  • Provide your instructor with the addresses for your published interview and repository.

Assignment 5 - Custom Objects

  • In the modules section of Docassemble, create a module called LAAIndividual.py.
  • Following the instructions in the docassemble documentation at https://docassemble.org/docs/objects.html#extending, create a “LAAIndividual” object type that adds the following three attributes to the generic Individual object type:
    • Assets
    • Income (Annually)
    • Income (last 30 days)
  • These three attributes should be given the object type Value from Docassemble.
  • Reimplement your interview using your LAAIndividual object type instead of Docassemble’s Individual type.
  • Using the “complete attribute” technique, cause the interview to ask for those three values for each person added to the interview, on a separate screen, after the person’s name has been entered. This will involve asking for, as an example, person[i].assets.value.
  • Using code blocks, have the interview calculate the user’s financial eligibility as either “eligible”, “marginally eligible”, or “ineligible”, and provide that information in the template at the end of the interview. The details of Legal Aid Alberta's policies for financial eligibility can be accessed at this link.
  • Save the interview, including the template file and module, to a package. Install that package on your docassemble server.
  • Publish the package to GitHub.
  • Provide your instructor with the addresses for your published interview and repository.

Assignment 6 - Multi-user Interviews

  • Modify your interview so that immediately before the advice memo is generated, the user is asked to wait for approval while the advice memo is confirmed.
  • Using the multi-user interview techniques, have the interview generate the document, and send an email to a second user.
  • When this second user gets the email, the email should include a link to go to the interview.
  • When the second user gets to the interview, they should be presented with a screen in which they can view the document and indicate whether or not they approve of the memo.
  • Once the second user has indicated if they approve the memo or not, the original user should receive an email with a link saying that the response has been received.
  • When the first user returns to the interview, they should either see a message saying that approval was refused, or they should be able to download the memo as usual.
  • When this is working, set the second user’s email address to jmorris@ualberta.ca, and have the email’s subject line begin with “LAW599 Assignment 6”.
  • Save the interview, including the template file and module, to a package. Install that package on your docassemble server.
  • Publish the package to GitHub.
  • Provide your instructor with the addresses for your published interview and repository.
  • Run the interview once as a user, so that the approval message will go to the instructor.

General

University Policy on Course Outlines

Policy about course outlines can be found in §23.4(2) of the University Calendar.

Academic Integrity

The University of Alberta is committed to the highest standards of academic integrity and honesty. Students are expected to be familiar with these standards regarding academic honesty and to uphold the policies of the University in this respect. Students are particularly urged to familiarize themselves with the provisions of the Code of Student Behaviour (online at www.governance.ualberta.ca) and avoid any behaviour which could potentially result in suspicions of cheating, plagiarism, misrepresentation of facts and/or participation in an offence. Academic dishonesty is a serious offence and can result in suspension or expulsion from the University.

Audio-Visual Recording

Audio or video recording of lectures, labs, seminars or any other teaching environment by students is allowed only with the prior written consent of the instructor or as a part of an approved accommodation plan. Recorded material is to be used solely for personal study, and is not to be used or distributed for any other purpose without prior written consent from the instructor.