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.



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/