Course Descrription

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.

Textbooks

- None required

References

- 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 1 hour of in-person discussion per 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