The topics we'll cover are intended to get students up to speed on necessary background in order to understand and perform cutting-edge research in natural language processing, which requires a strong grounding in statistical NLP models and methods. Some of the topics are in the same areas as in Computational Linguistics I, but we will go deeper. As always, the syllabus is subject to revision; however, it will follow Manning and Schuetze's textbook relatively closely at least in early parts of the course.
As prerequisites, students are expected to be able to know how to program (your choice as to language), and will exercise this ability periodically in homework assignments and/or projects. Students are assumed to have taken the the first semester computational linguistics course or equivalent, and therefore the background knowledge required there is assumed here also: Unix for Poets, very basic prob/stats, and slightly less basic stats.
See the schedule of topics for class-by-class plans. In case of an emergency that closes the University for an extended period of time, see Piazza for announcements.
These are graded on a high-pass (100%), low-pass (50%) or fail (0%) basis. Some of these are one-week assignments, and others might be a multi-week assignment or project; either way the amount of time given for the assignment is calibrated to the amount of work that should be involved and the amount of credit you'll get for the assignment; for example, a particular homework might be described as a two-week assignment, meaning that you'll have two weeks to do it and you'll receive two homeworks' worth of credit for it. Assignments may involve on-paper exercises (e.g. walking through algorithms or calculations), hands-on programming, or analysis of data. I am comfortable in principle with students working together on assignments in part or in whole, but if you wish to do so, please ask me in advance because there are certain conditions that I will impose.
This will be a take-home exam, and it will not involve programming.
This will be structured as a multi-week project that will definitely involve programming.
I care enough about participation to make it part of the grade. It may be a small part, but it's definitely been known to tip the balance from a B+ grade to an A-, so please don't neglect it. This is necessarily subjective, because I am judging both the quantity and quality of your participation, but the calibration is pretty straightforward. It's a 5-point scale, and if you regularly ask relevant questions, volunteer answers (even if they're wrong!), and help make the class discussion interesting, you'll get 5 out of 5 points. If you show up to class prepared and contribute to the conversation every couple of classes, you'll get 3 out of 5 points. If you are regularly sitting in class but participating rarely or not at all, you'll get 1 point for showing up. If you don't show up consistently, you'll get zero.
There will probably be some extra credit offered, either within assignments or as extra assignments. I sometimes also offer extra credit for attending the Computational Linguistics Colloquium and turning in a one-page summary/discussion of the talk.
CS MS comps. Note that, per policy of the Computer Science Department, the CS MS comp grade (AI area) will be based entirely on the average of the midterm and final examinations.
I can tell you in advance that there are several common problems I will not consider as valid reasons for failing to get work in on time. These include (a) failure to manage your time properly, including being busy with another course, a piece of research, or a paper submission deadline; (b) discovering an assignment is harder than you expected it to be (see item a); and (c) losing code or data that should have been backed up, unless it's someone else's fault.
Cheating: What you represent as your own work must be your own work. However, talking with one another to understand the material better is strongly encouraged. Recognizing the distinction between cheating and cooperation is very important. If you simply copy someone else's solution, you are cheating. If you let someone else copy your solution, you are cheating. If someone dictates a solution to you, you are cheating. Everything you hand in must be in your own words, and based on your own understanding of the solution. If someone helps you understand the problem during a high-level discussion, you are not cheating. If you work collaboratively with explicit permission from the instructor, you are not cheating. We strongly encourage students to help one another understand the material presented in class, in the readings, and general issues relevant to the assignments. Any student who is caught cheating will be given an E in the course and referred to the University Student Behavior Committee. Please don't take that chance - if you're having trouble understanding the material, or if you need some help clarifying what is ok to do and what is not, please let us know and we will be more than happy to help.
Special needs. Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide to the instructor a letter of accommodation from the Office of Disability Support Services (DSS) within the first two weeks of the semester. You may reach them at 301-314-7682 or by visiting Susquehanna Hall on the 4th Floor.
Philip Resnik, Professor
Department of Linguistics and Institute for Advanced Computer Studies
Department of Linguistics
1401 Marie Mount Hall UMIACS phone: (301) 405-6760
University of Maryland Linguistics phone: (301) 405-8903
College Park, MD 20742 USA Fax: (301) 314-2644 / (301) 405-7104
http://umiacs.umd.edu/~resnik E-mail: resnik AT umd _DOT.GOES.HERE_ edu