2209671 & 2209261 Programming for Natural Language Processing (Semester 1 2018)
จุดมุ่งหมายโดยรวมคือเรียนเขียนคำสั่งให้คอมพิวเตอร์ทำโน่นทำนี่ให้กับเรา โดยจะเรียนไปถึงระดับที่ทำให้สามารถเขียนโปรแกรมด้วยภาษา Python ที่ช่วยทำประมวลข้อมูลทางภาษาในรูปแบบต่างๆ ที่สำคัญๆ เรียนเสร็จควรจะทำพวกนี้ได้
ผู้สอน: Attapol Thamrongrattanarit - อาจารย์ ดร.อรรถพล ธำรงรัตนฤทธิ์
Email address: attapol.t@chula.ac.th
เวลาและสถานที่: วันอังคาร 9:30AM - 12:30PM อาคารบรมราชกุมารี ห้อง 411
Course website: attapol.github.io/programming
Website สำหรับส่งงาน:
9iaiyj
Video lectures and quizzes: Learn to Program: The Fundamentals by Campbell and Gries on Coursera
Video lectures in Thai: ภาษาศาสตร์คอมพิวเตอร์ Youtube channel ของอาจารย์อรรถพล | playlist ของวิชานี้
Textbook: Python ๑๐๑ โดยกิตติภณ พละการ, กิตติภพ พละการ, สมชาย ประสิทธิ์จูตระกูล และ สุกรี สินธุภิญโญ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย | ดาวน์โหลดฟรี
The "lecture" material for the first half of the course will be based on coursera.org online course: Learn to Program: The Fundamentals by Jennifer Campbell and Paul Gries from University of Toronto. Students must watch the lectures and complete the quiz on Coursera or my videos on Youtube and come to class to work on more exercises and get help from your classmates and me for the topics that you don't understand from the video.
LP = Learn to Program course on Coursera
PA = Programming assignment
The schedule will be adjusted based on students' needs
สัปดาห์ | หัวข้อ | ต้องทำอะไรบ้าง |
---|---|---|
1 | Variables and Functions |
Before class: - In-class: intro slides, install Anaconda, join Google classroom site, sign up on coursera, ipynb exercise 1 (html version) |
2 | Strings and Designing Functions |
Before class: watch LP week 2 videos, complete week2 quiz on coursera |
3 | Booleans, import , Namespaces, if statements, for loop on string, string manipulation
|
Before class: watch LP week 3, complete the quiz 3 In-class: review the quiz, exercise 3 (ipynb|html), start PA1 |
4 | while loops, list, range , loop over indices
|
Before class: watch LP week 4, complete the quiz 4 In-class: review the quiz, exercise 4 and programming assignment 2 (ipynb|html) |
5 | Reading and writing files, dictionary, tuples |
Before class: watch LP week 7, complete the quiz, finish PA2 (NOT the coursera version) |
6 | Parallel and nested lists, enumerate , nested dictionaries
|
Before class: watch LP week 6, complete quiz 6 In-class: exercise 6 (ipynb|html|data), start PA3 Text Generator |
7 | Python NLP libraries |
Before class: watch LP week 5, complete quiz 5 In-class: review, Spacy package (วิธีลงโปรแกรม), NLTK package |
8 | Set, regular expression, list & dictionary comprehension |
Before class: watch videos In-class: review, exercise 8 (ipynb|html|data|วิธีใช้ spacy เบื้องต้น) |
9 | Midterm (no midterm) |
PA4 due October 14th at 9:00 |
10 | การส่งผ่านข้อมูลให้คนอื่นผ่าน Internet ด้วย API HTML JSON |
Before class: watch video, complete the quiz In-class: review the quiz, complete extra programming exercises |
11 | หยุดวันปิยมหาราช | |
12 | Object-Oriented Programming |
Before class: watch video, complete the quiz In-class: review the quiz, complete extra programming exercises, คิดเรื่อง final project |
13 | Machine Learning |
Before class: watch video | slides In-class: quiz, extra programming exercise | dataset, PA5 Wikipedia API Wrapper |
14 | (Supervised) Machine Learning: Maximum Entropy Model |
Before class: watch video, complete the quiz In-class: review the quiz, git workshop (creating project repo and pushing to repo), แบบฝึกหัดเรียน UNIX Tools ด้วยตัวเอง | UNIX utilities by Ken Church | New York Times data | นิราศเมืองแกลง |
15 | (Unsupervised) Machine Learning: Latent Dirichlet Allocation - Topic Model |
In-class: MALLET Topic modeling workshop | LDA Slides After class: PA6 (Sentiment Analyzer) |
16 | เขียนเว็บไซต์ |
In-class: เขียนเว็บไซต์โดยใช้ bootstrap |
Final project |
Project repositories |
สัดส่วนคะแนน | รายการ |
---|---|
24% | ความมีส่วนร่วมในชั้นเรียน และแบบฝึกหัดในชั้นเรียน (2 x 13 weeks ลบ week ที่คะแนนน้อยที่สุด หรือ week ที่ขาดเรียนออกไป) |
60% | Quizzes, Homework and programming assignments |
16% | Final project |
คะแนน | เกรด |
---|---|
90-100 | A |
85-89 | B+ |
80-84 | B |
75-79 | C+ |
70-74 | C |
65-69 | D+ |
60-64 | D |
<64 | F |