LCD151: Methods in Computational Linguistics I
Table of contents
- Course and Instructor Information
- Course Materials
- Weekly Schedule (subject to change)
- Assessment
- Course Policies
- Academic Integrity
Course and Instructor Information
| Item | Information |
|---|---|
| Instructor | Han Li |
| hli6@qc.cuny.edu ; han.li07@login.cuny.edu | |
| Meeting Days | T/TH 1:40-2:55 |
| Location | Queens Hall 340 |
| Office Hours | T/Th 12:30-1:30 Room QH 325 |
I am also available outside regular office hours via Zoom on M/W/F. Please feel free to reach out if you have some burning questions! 👉 Book a Zoom Meeting
The best way to reach me is to catch me after class. I am happy to stay and answer any questions you may have.
Course Description
Students will learn foundational skills for working with natural language data and for processing text. These include basic Linux commands, an introduction to (Python) programming, with a focus on writing programs and applications related to text and language processing. Basic data structures and algorithms necessary for working with textual data: loops, recursion, hash tables. At the end of the semester, students will gradually build practical skills that prepare them for later courses in NLP, machine learning, and computational linguistics.
This course does not have any prerequisites or prior programming experience.
Students are expected to have regular access to a computer for completing programming assignments and participating in course activities. If you do not have a personal computer, you are encouraged to use the Queens College Laptop Loan Program.
Please let me know ASAP if a computer may be a barrier to your participation in the course.
Learning Objectives
By the end of the course, students will be able to:
- Understand Python basics.
- Use lists, tuples, dictionaries, sets, and strings.
- Navigate Linux using the command line.
- Write simple programs to perform basic operations with text files
- Process structured linguistic data.
- Write functions and modular programs.
- Apply regular expressions to text processing.
- Use introductory NLP libraries including NLTK.
Course Materials
Readings
The following resources are highly recommended for this course and grasp beyond:
- Think Python:How to Think Like a Computer Scientist
- Natural Language Processing with Python (NLTK Book)
- Unix for Poets
Additional Resources
The following resources are recommended for additional practice and reference:
Weekly Schedule (subject to change)
Each week follows a consistent structure:
- Tuesday (Lecture): introduce new concepts through lectures, demonstrations, and short hands-on exercises.
- Thursday (Lab): You will work on a small programming project that applies the material covered during the lecture. At the end of the week, you will submit your completed project as your assignment.
Note: This schedule is subject to change. Any changes will be announced in class and posted on Brightspace.
My materials draw on resources developed by Jiwon Yun and Jordan Kodner at Stony Brook University, Kyle Gorman and Spencer Kaplan at CUNY Graduate Center. I am deeply grateful to them for sharing their work.
| Week | Tuesday | Thursday |
|---|---|---|
| 1 (09/01, 09/03) | Course Introduction & Python Setup | Environment Setup & First Python Program |
| 2 (09/08, 09/10) | Literals, Variables & Expressions | Lab 1: print() and input() |
| 3 (09/15, 09/17) | Strings & Indexing | Lab 2: Clean transcription |
| 4 (09/22, 09/24) | Lists and Sets | Lab 3 Phonotactics: Polish vs Mandarin |
| 5 (09/29, 10/01) | Control flow for loop | Lab 4 Phonological processes modeling |
| 6 (10/06, 10/08) | Conditional if | Lab 5: File Processing |
| 7 (10/13, 10/15) | ☕️ No Class (Monday Schedule) | 📝 Midterm Exam |
| 8 (10/20, 10/22) | Invited Guest Lecture (TBD) | Lab 6: Git & GitHub |
| 9 (10/27, 10/29) | Dictionaries | Lab 7: Zipf’s law |
| 10 (11/03, 11/05) | Functions | Lab 8: Building a Corpus Analysis Toolkit |
| 11 (11/10, 11/12) | NLTK1: Accessing Corpora | Lab 9: Text Analysis and Comparsion |
| 12 (11/17, 11/19) | NLTK2: Regular Expressions | Lab 10: Regex & Text Processing |
| 13 (11/24, 11/26) | NLTK3: Tagging | ☕️ No Class – Thanksgiving |
| 14 (12/01, 12/03) | Invited Guest Lecture (TBD) | Lab 11: TBD |
| 15 (12/08, 12/10) | NLTK & Final Project Workshop | Course Review & Final Project Q&A |
Please let me know in advance if you will need to miss class due to a religious observance.
Assessment
The instructor reserves the right to modify assessment dates if necessary.
Grade Components
| Component | Weight |
|---|---|
| Programming Labs (lowest lab dropped) | 40% |
| Midterm | 20% |
| Participation & Quizzes | 15% |
| Final Project | 25% |
Grading Scale
| Grade | Range | Grade | Range | Grade | Range | Grade | Range |
|---|---|---|---|---|---|---|---|
| A+ | 97–100 | B+ | 87–89 | C+ | 77–79 | D+ | 67–69 |
| A | 93–96 | B | 83–86 | C | 73–76 | D | 60–66 |
| A- | 90–92 | B− | 80–82 | C− | 70–72 | F | 0–59 |
Course Policies
Participation
Active participation in lectures, labs, discussions, and programming activities is expected. There are no extra-credit assignments unless announced by the instructor.
Attendance
Students are responsible for obtaining notes, assignments, and announcements from any missed class. Absence does not excuse missed work or deadlines.
Late Assignments
Assignments submitted late will incur a 20% penalty for each 24-hour period. Assignments submitted more than five days after the original due date will not be accepted.
Midterm
The midterm will be an in-person, paper-and-pen exam. There are no make-up exams except in cases of documented emergencies or prior approval.
Regrade Requests
Regrade requests must be submitted within one week after graded work is returned.
Academic Integrity
Students are expected to follow the Queens College Academic Integrity Policy. Academic dishonesty—including plagiarism, unauthorized collaboration, cheating, or submitting work that is not your own—may result in a grade of 0, failure of the course, and/or disciplinary action by the College.