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:



- CS1358 and EECS1210 may not both be taken for credit.







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) and a 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/