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.

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

Course website

https://elearn.nthu.edu.tw/course/view.php?id=15630


There will be an organizational meeting on September 13, 2021, at 9:00 a.m.

The meeting will be held on Google meet. Due to the maximum number of
participants allowed on Google Meet, we will run two meeting rooms simultaneously
based on whether your student ID number is even or odd.

If your student ID number is odd:https://meet.google.com/uue-jngq-oxk

If your student ID number is even:https://meet.google.com/kry-ozyx-prg