Are there any prerequisites for the course?

Yes. Intro-level linguistics and Python knowledge are required. This course assumes students to have working knowledge of the Python language. A test on Python Basics will be conducted at the beginning of the semester. In particular, students are expected to have completed at least one of the following prerequisite courses, or their equivalents:

Students who have not completed any of the prerequisite courses may still consider taking this course if they are interested in natural language processing. However, they should understand that they are facing a steeper learning curve because they need to self-learn the basics of the Python programming quite a bit. While linguistics majors are still the target audience of this course, having Python programming as a prerequisite will definitely give us more time to explore more computational linguistic topics in a less rushed manner.

Please note that we will NOT have review sessions of the Python basics (only a quiz ). Please take this into account when you decide to enroll in this course.

My overall suggestions:

I have some experiences with other programming languages (e.g., R, Java, Javascript, Perl etc.). Will this course still be suitable for me? Can I waive the course prerequisites?

Yes. The constructs and principles behind each programming language are in fact quite similar. For example, if you have been working with R for quite a while and have done some projects using the language, you should be fine if you need to switch to another language.

But please understand that all the in-class tutorials/exercises will still use the Python language and you are also expected to submit your assignments and exams in Python.

Is the course open to auditors?

No, it is not.

Is the course open to non-NTNU students?

Please contact the instructor.

Do I need to prepare my own laptop?

Yes. In fact, this is required. Please bring your own laptop with you every week. The course will be conducted in the format of weekly hands-on tutorials. Mobiles or Android/Apple tablets are not suited.

Can I have the Internet access in the classroom?

Yes. The 雲和 building provides Univeristy Wifi’s. For non-NTNU students, you can still access the Internet via your own University email account via eduroam.

Can I have my social apps on (e.g., , , , you-name-it) during the class?

I think you know the answer already. I don’t like to hear the ring tones of these apps during the class. I would really appreciate your understanding and cooperation.

Is a high-end laptop necessary?

Probably NOT. All I can say is: the newer, the better. At least, I don’t expect to see Windows XP or 7 in the class. But the good news is that we probably will have the tutorials with Google Colab, which is a cloud-based service provided by the almighty Google. In that case, the hard-ware is less a concern.

How do I submit my assignment?

All the assignments need to be submitted electronically via Moodle.

It is extremely important that students specify very clearly which questions each answer responds to. If you fail to follow this protocol we will not be able to properly grade the assignment.

The expected format of your coding assignments is a Jupyter notebook.

Do I have to do the coding in this class?


Can I use another programming language for the assignments?


Are there any midterm and final exams?

Yes. We will have both a midterm and a final exam, where you are expected to respond to the questions by writing codes/scripts. They are going to be timed sessions. However, you may consult any (inanimate) reference that is available to you during the exam sessions, e.g., handouts, books, on-line forums/discussions. Anything really. But you cannot consult your peers no matter it is in personal communication or through social-network apps.