Welcome Video: (to be posted)
Mandarin:
English:


Course Description

This course introduces fundamental programming concepts in the Python language and related environment.
Fundamental concepts include overview of computer systems, Python environment setup, Python language
overview, command line interface, numbers, string formatting, sequences, dictionaries and sets, control flow,
exception, file, function, recursion, object orientation, inheritance, polymorphism, and modules. The
programming environment will be primarily text-based in Unix environment, although graphical user
interface
(IDLE) and web-based (Jupyter) will also be demonstrated.


Restrictions:

- EECS1210 and CS1358 may not both be taken for credit, because they are the same. Also, if you have taken
CS1355 (C programming), you will be blocked from registering for this course. If you are interested in learning
just Python and you already have background in programming, you are encouraged to take the MOOC version
for free as a student in the Taiwan university system. The lectures and materials are the same, and we have
also set up a new online judge for programming practice. For Fall semester, NTHU students may fill out this
GoogleForm https://forms.gle/kmnNC7dNqiThR8wM8 to register a GAPP email address (non-NTHU students
please use your university account rather than personal Gmail), and our staff will create the account when the
course opens for the Fall semester.

註: 為了減少浪費教學資源,從112上起,我們會擋修已上過程式設計一(CS1355)的同學,也一律不加簽。但是想要
學Python的同學可以填表單 https://forms.gle/kmnNC7dNqiThR8wM8 我們會幫你註冊帳號。課程內容、講義都相
同,也可使用新設立的online judge系統練習刷題。大聯大的學生皆得以免費上。清大學生務必使用 GAPP 帳號,其
他非清大同學請使用學校帳號。到時秋季班課程開放時,我們會幫有填表的同學註冊。



Textbooks

- None required

References

- 洪維恩,《Python 教學手冊》,ISBN 9789863126881, 出版社:旗標科技股份有限公司
- Mark Summerfield, Programming in Python 3: A Complete Introduction to the Python Language, Second
Edition, Addison-Wesley, 2010, Person Education, Inc., Boston, MA USA.
- Python website, www.python.org

Teaching Method

- 2 hours of recorded lecture (Mandarin with English captions) quiz every other week.


Syllabus



Week 1 - introduction, environment setup
Week 2 - tour of Python
Week 3 - basic types, command-line application
Week 4 - command-line application (cont'd), strings
Week 5 - collections: sequence (list, tuple), set, dict
Week 6 - control constructs: if, while, for
Week 7 - exceptions, files
Week 8 - functions
Week 9 - recursion, functional programming
Week 10 - object-oriented programming part 1: class, method
Week 11 - object-oriented programming part 2: inheritance, operator overloading
Week 12 - generators, iterators
Week 13 - standard library part 1: data types, itertools
Week 14 - standard library part 2: regular expressions, Tkinter


Evaluation

30% - assignments
30% - quizzes
40% - final exam

Course website

https://elearn.nthu.edu.tw/enrol/index.php?id=27446