จุดมุ่งหมายโดยรวมคือเรียนเขียนคำสั่งให้คอมพิวเตอร์ทำโน่นทำนี่ให้กับเรา โดยจะเรียนไปถึงระดับที่ทำให้สามารถเขียนโปรแกรมด้วยภาษา Python ที่ช่วยทำประมวลข้อมูลทางภาษาในรูปแบบต่างๆ ที่สำคัญๆ เรียนเสร็จควรจะทำพวกนี้ได้
Attapol Thamrongrattanarit x Chaya Hiruncharoenvate
อาจารย์ ดร.อรรถพล ธำรงรัตนฤทธิ์ x อาจารย์ ดร.ชญา หิรัญเจริญเวช
attapol.t@chula.ac.th x chaya.hirun@gmail.com
Video lectures in Thai: ภาษาศาสตร์คอมพิวเตอร์ Youtube channel ของอาจารย์อรรถพล | playlist ของวิชานี้
Textbook: Python ๑๐๑ โดยกิตติภณ พละการ, กิตติภพ พละการ, สมชาย ประสิทธิ์จูตระกูล และ สุกรี สินธุภิญโญ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย | ดาวน์โหลดฟรี
Slides: จากการบรรยายทั้งหมดเก็บอยู่ใน Google Drive (ยืมมาจาก cs106ap.stanford.edu)
PA = Programming assignment
The schedule will be adjusted based on students' needs.
สัปดาห์ | หัวข้อ | ต้องทำอะไรบ้าง |
---|---|---|
1 |
Intro to Computational Thinking
|
Before class: Install Anaconda (tutorial) Slides: Intro | Karel basics | Function, if, while | not In-class: Lab1 Homework: PA1 Karel |
2 |
variables, modules, functions |
Before class: work on PA1 Slides: Intro | Decomposition | Style, elif, and, or | Variables | Functions In-class: Lab2
|
3 |
Types, strings, methods, iterations |
Before class: ดูวิดีโอและทำ quiz บน google classroom In-class: ทบทวนเนื้อหาจากวิดีโอ และทำ Lab3 Homework: PA2 Simple Python programs part 1 |
4 |
Unicode, memory tracing, ทบทวน |
Before class: ดูวิดีโอ Slides: Unicode | Memory Tracing | Review In-class: Lab4 Homework: PA3 Simple Python programs part 2 |
5 |
List and iterations |
Before class: ดูวิดีโอ Slide: Data structure: List | List programming patterns In-class: Exam 1 (เนื้อหา week 1-3), Lab5 |
6 |
Tuple; Nested list: List of lists, list of tuples |
Before class: ดูวิดีโอและทำ quiz บน google classroom In-class: เฉลย Exam 1 | Lab6 Homework: ตัวอย่างโจทย์ Exam 2 |
7 |
File IO; Dictionaries |
Before class: ดูวิดีโอและทำ quiz บน google classroom Slides: File IO | Dictionary In-class: Lab7 Homework: PA4 Jane |
8 |
Regular expression + UNIX |
ไม่มีเรียน พิธีรับปริญญา Homework: |
9 |
Midterm week |
Exam 2 (เนื้อหา week 4-6) สถานที่: BRK302 วัน: October 10th, 2019 เวลา: 10:00 - 11:00 Homework: PA5 Chatbot | Demo Website |
10 |
Set, Regex in Python, Console program |
Slides: Command Line | RegEx | Set In-class: Lab 10
|
11 |
Nested data structures: dictionaries of tuples, lists, dictionaries |
Before class: ดูวิดีโอและทำ quiz บน google classroom Slides: Nested data structures In-class: Lab 11 Homework: ตัวอย่างโจทย์ Exam3 |
12 |
Web technology, Serialization, and API |
Before class: ดูวิดีโอและทำ quiz บน google classroom Slides: Web Technology | Demo In-class: Lab 12 |
13 |
Introduction to NLP |
Before class: Slides: Intro to NLP In-class: Exam 3 (เนื้อหา week 7-11), Lab13 |
14 |
Object-oriented Programming |
Before class: ดูวิดีโอและทำ quiz บน google classroom Slides: Object-Oriented Programming In-class: เฉลย Exam 3, แนวข้อสอบ Exam 4, Lab14 Homework: PA6 |
15 |
Lambdas, list comprehension, and sorting |
Slides: Comprehensions | Lambdas and sort In-class: Lab 15 |
16 |
Wrap up |
Slides: Conclusions In-class: Exam 4 |