Instructor: | Jeffrey Heinz | [email protected] | SBS N237, IACS 160 |
---|---|---|---|
Course: | Tuesday, Thursday 8:30am-9:50am | SBS N250 (Compling Lab) |
Office Hours are Mondays and Wednesdays from 2:30-4:00pm and by appointment.
Read the syllabus
This course acts as the bridge from introductory courses in linguistics (Syntax 1, Phonology 1, Phonetics) and computational methods (Statistics, Mathematical Methods in Linguistics, Computational Linguistics 1) to advanced courses and seminars in computational\slash mathematical linguistics. In contrast to the NLP courses offered by the department of computer science, this course focuses on studying the properties of natural language from a computationally informed perspective. The question is not about how computers can solve language-related tasks, but how aspects of knowledge of language and its acquisition can be conceptualized as computational problems. This emphasis is also reflected in the selection of topics for this course.
-
Phonology and Morphology/
- The role of formalization
- String languages
- Regular languages
- String transductions
- Subregular classes
- Computational perspectives on phonological theories like SPE and OT
-
Syntax
- Tree languages
- Syntax is more complex than phonology
- Mildly context-sensitive formalisms (TAG, MGs)
- Tree transductions
- Regular representations of MCS formalisms
- I highly recommend github's interactive git tutorial.
- Github app for Windows; supports only Windows 7 or later
- Github app for Mac; supports only OS X 10.9 or later
- List of alternative GUI clients for git
- Tutorials for using git via the command line
- Official documentation for git
- Interactive tutorial to markdown basics
- Complete markdown syntax
- Overview of Github's markdown dialect
- Overleaf (formerly writeLaTeX) is an online LaTeX editor with live preview
- List of commonly used math symbols
- Andrew Roberts' Getting to Grips with LaTeX
- A succinct yet extensive tutorial for Python 3
- The official Python 3 documentation
- Automate the Boring Stuff with Python is an excellent introduction that covers the basics of Python and applies them to real-world tasks.
- The repository for LIN 120 Language & Technology also contains Jupyter notebooks that cover the basics of Python, with an emphasis on programming techniques for computational linguistics.