A Balanced and Broadly Targeted Computational Linguistics Curriculum (2021)

Abstract: This paper describes the primarily-graduate computational linguistics and NLP curriculum at Georgetown University, a U.S. university that has seen significant growth in these areas in recent years. We reflect on the principles behind our curriculum choices, including recognizing the various academic backgrounds and goals of our students; teaching a variety of skills with an emphasis on working directly with data; encouraging collaboration and interdisciplinary work; and including languages beyond English. We reflect on challenges we have encountered, such as the difficulty of teaching programming skills alongside NLP fundamentals, and discuss areas for future growth.

## introduction this paper describes the computational linguistics and nlp curriculum at georgetown university, a private research university whose computational linguistics program has grown significantly over the past 7 years. this curriculum has been developed with a high degree of collaboration between the linguistics and computer science departments, as well as involvement with related programs such as the master's in data science and analytics. we reflect on several principles that underlie our curriculum, and discuss opportunities for further expansion. ## course offerings recent syllabi for courses taught by amir zeldes (instructor z) can be found at https://corpling.uis.georgetown. edu/amir/pdf/syllabi/ . ## interdisciplinarity our students include many from both the linguistics and computer science departments, as well as some from other programs, such as data science & analytics and language departments. we have developed a sequence of nlp courses designed previously, linguistics students who completed inlp were encouraged to enroll in enlp immediately afterward. however, we found that inlp alone did not adequately prepare students for the more advanced programming assignments in enlp-inlp assignments tend to involve making fairly limited modifications to provided starter code, while enlp expects independent implementation of more substantial algorithms. thus, the advanced python course was introduced to give students more practice implementing algorithms for linguistic tasks as code. this bridges the gap between the introductory and more advanced nlp courses; however, it does mean that linguistics students who enter the program with little or no programming experience may need to take a sequence of 3 courses to gain a thorough understanding of nlp fundamentals, while students with a cs background only need to take one course. enlp's assignment 0 is a diagnostic of python proficiency to help students choose the appropriate course level. 5 4 balancing skills taught along with coming from different academic backgrounds, we acknowledge that students studying nlp have a variety of goals: for example, they may wish to pursue nlp in academia or industry, or they may be interested in using computational methods for linguistics, or other digital humanities or social science fields. to support these varying goals, we endeavor to teach a balance of different skills and perspectives on nlp. while some courses emphasize algorithms, others focus more on computational representations of language, on creating and using resources such as corpora, or on using existing nlp tools. we are also careful to consider that not all nlp applications are realized in a big data context, and we therefore include units targeting low resource settings across our course offerings. ## focus on data in all courses, we emphasize working directly with language data. this is perhaps best exemplified in the computational corpus linguistics course, which teaches corpus design and construction methods along with analytical corpus linguistics methodology and relevant readings on data and its potential pitfalls. as part of its assignment structure, the course integrates a set of five annotation projects in which each student chooses a single document from a selection of genres to annotate throughout the semester with a variety of annotations layers, including structural markup (which teaches xml basics), part-of-speech tagging, dependency treebanking, entity and coreference resolution, and finally discourse parsing. a unit on inter-annotator agreement evaluates and compares 5 http://people.cs.georgetown.edu/cosc572/s21/ a0/ the students' own work, underscoring the subjective nature of 'ground-truth' data, the range of linguistic variation across genres, and the importance of consistency and validation. at its end, the course engages students in a 'real-world' research project, which produces valuable linguistically annotated data, which can be released to the research community under an open license as part of the georgetown university multilayer (gum) corpus @xcite if students so wish. 6 several other courses also include practice annotation of data, including a pos tagging in-class exercise in enlp, and annotation in three different semantic representations in meaning representations. others include error analysis of nlp systems, such as a comparison of the output from statistical and neural translation systems in machine translation. the discourse modeling course teaches discourse parsing frameworks and algorithms, including introducing students to topics in annotating rhetorical structure theory @xcite , segmented discourse representation theory (sdrt, @xcite and the penn discourse treebank framework (pdtb, @xcite . ## collaboration our coursework emphasizes frequent collaboration among students. this includes in-class group activities, such as practicing part-of-speech tagging in small groups in enlp, or working together as a class to create a morphological analyzer for a low resource language in inlp (an activity which literally runs in a simultaneous collaborative online code editing format). on a larger scale, students work in groups on final projects in courses such as enlp, and have collaborated on an entry to a shared task in a our discourse parsing course, with the resulting system winning some shared task categories. for this latter project, students attempted to tackle the same task in small groups, and finally submitted an ensemble system fed by each group's model to the competition. some classes use wikis to maintain information about course content, such as annotation guidelines for computational corpus linguistics and some seminars tackling specific topics; this allows students to collaborate not only with their classmates, but with past and future students of the same course, which also increases the sense of relevance of course work, as students can see that their work may live on long after they complete the course. ## including languages beyond english in response to an unfortunate tendency of nlp teaching and research to focus primarily on english, we try to include data and examples from other languages when possible, while keeping in mind that students cannot be expected to know these languages in detail. in enlp, for example, each student gives a short presentation on a different language of their choosing to develop awareness of the diversity of the world's languages, and the challenges of nlp on different languages. other assignments integrating data from other languages include a finite state transducer for japanese morphology in inlp as well as a unit on a 'surprise' low resource language, work on multilingual discourse treebanks in our discourse parsing course, statistical analysis of non-english data in our statscentered r course for language data, and analysis of data from other languages in lexical functional grammar (lfg) and head-driven phrase structure grammar (hpsg) in grammar formalisms. in the past we have also offered a dedicated course on parallel and other types of multilingual corpora, which we hope to be able to offer again, based on the availability of resources. ## teaching research skills while many of the courses in ## directions for growth the current curriculum caters primarily to graduate students, though many of the courses are also available to advanced undergraduates, who sometimes continue on into our regular computational linguistics ms, or accelerated ms programs. while we do offer a few undergrad-specific classes, such as 'algorithms for nlp,' 'languages and computers,' and 'multilingual and parallel corpora,' these are taught on an occasional basis; in the future, resources allowing, we would like to develop a more consistent nlp curriculum aimed at undergraduates. we have recently introduced a course on social factors in nlp to address a major gap in our curriculum, which is the lack of material focusing on the impact of real world nlp applications on society, and the ways in which models reflect demographic and other types of bias. while this is a step toward teaching a better understanding of the relationship of nlp to society, we believe it is worthwhile to integrate more content on societal impact and ethical considerations into the core nlp courses as well, and are working to do so for coming years. we would also like to continue to expand our curriculum to address other topics that currently receive little coverage, such as grammar engineering and computational psycholinguistics.