Ways to improve the course
From LING073
Changes to the structure of the course
- Allow more time for some things. Some or all of the following:
- Cut out UD?
- Compress first couple weeks (the "easy" parts)
- Put students in pairs for each language: especially if it means each pair has someone with Ling background and someone with CS background
- Allow people to choose a major language with Apertium / GT / previous Ling 073 resources to translate to/from?
- Downside: they have to learn to deal with that other language (if it's not English or one they know), and don't have someone who's already an expert
- Hold consistent "lab hours" instead of just one-on-one office hours
- Have a [student] course assistant who can help in class and also hold consistent lab hours
- A little(?) additional explaining of each topic ahead(?) of time, structured by outlining both the linguistics and the computational resources, and explaining how they relate.
- More strongly discourage students from working on languages that don't have good amounts of text.
- Provide "simple exercises" to make sure people are on track after the introduction of a new topic.
- Invite Roberto for a class to guide people in finding resources for their languages. E.g., he presents for a bit, and then the students spend the rest of the class looking for resources, with him and the instructor and the course assistant available for consultation.
Additional resources to help students
- A one-page overview of "big picture" of the course. Like a more visual syllabus? And also just a list of course objectives.
- A page that's just command reference
- A list of common errors and how to deal with them
- A page that's just links to resources for the various steps of the course
Towards enumerating the objectives
Students will:
- become familiar with the linguistic structure of an unfamiliar language, with emphasis on the morphology (including morphotactis and morphophonology), syntax, and orthography;
- learn to deal with the challenges associated with getting a full snapshot of a language from even the best linguistic descriptions of a language combined with some textual resource in the language (e.g., learning to make sense of written materials in the language and being able to predict word forms accurately);
- learn to think critically about ethical issues related to studying and making resources for small and/or marginalised linguistic communities, and what the role of a computational linguist is in such endeavours;
- become acquainted with Free/Open Source (FOS) technology, think critically about the advantages of FOS over commercial technologies for socially marginalised communities, learn about collaborative workflows involved in developing FOS, and make use of FOS tools throughout the semester;
- acquire experience in an exhaustive search of resources in and about a language without many resources;
- become acquainted with finite-state transducer (FST) technology, especially the application of FSTs to morphology, and learn to make use of the two-level approach and the
lexcandtwolformalisms to implement a morphological transducer for an under-resourced language; - learn about technical, logistical, and ethical issues involved in constructing a keyboard layout for a language's orthography, especially as an outsider to the community;
- become familiar with general approaches in rule-based machine translation (RBMT), and implement an RBMT system for a [pair of] under-resourced language[s] using the Apertium framework;
- choose a project related to expanding available computational resources for an under-resourced language or enhancing tools for working on language technology;
- ...