COURSE SYLLABUS
1. COURSE TITLE
Python Programming
2. COURSE CODE
AI1003
3. PRE-REQUISITE
Nil
4. CO-REQUISITE
Nil
5. NO. OF UNITS
3
6. CONTACT HOURS
42
7. MEDIUM OF INSTRUCTION (MOI)
English
8. OFFERING UNIT
Artificial Intelligence Programme, Faculty of Science and Technology
9. SYLLABUS PREPARED & REVIEWED BY
Prepared by Dr. Pengfei Zhao
Reviewed by Dr. Rui Meng
10. AIMS & OBJECTIVES
This course provides students with basic knowledge of Python Programming language, based
on which computer-oriented problem modelling and solving skills can be developed. Students
will learn about basic concepts of computer Programming and how to write elegant Python
Programmes. Specific topics will include data types, control flows, data structures, functions,
and the mechanics of running, testing, and debugging. After learning this course, students will
be able to solve problems, explore real-world Programming development challenges, and create
1 / 7
small yet practical python applications.
11. COURSE CONTENT
1. Introduction to Programming Methodologies and Fundamentals of Python Programming
a) Design of Algorithms
b) Flowcharts and Pseudo Code
c) Programming Features of Python
d) Installation of Python
e) Python Editors (PyCharm, Jupyter Notebook)
2. Values, Variables, Expressions
a) Numbers and Strings
b) Variables
c) Operators and Expressions
3. Control Flow
a) Decision statement (if, elif, else)
b) Loop Statement (for, while)
4. Functions
a) Declaration and Definition
b) Call function
c) Function arguments
d) The return statement
5. Modules and Package
a) Introduction of module
b) Import, from … import
c) Introduction of python package
d) Make your own package
e) Python libraries for domain applications
6. Data Structures
a) List
b) Dictionary
2 / 7
c) Tuple
d) Set
e) List comprehension
7. Input and Output
a) Keyboard input
b) “open” function
c) read, readline, readlines
d) write, writelines
e) pickle
8. Python Classes
a) The self
b) Init Method
c) Class method and object method
d) Inheritance
9. Exceptions
a) Try…except…else block
b) Use defined exception
10. Date and Time
a) The Datetime package
b) The Datetime, date, time, Timedelta object
11. Iterators (Optional)
a) Iterable object and iterator
b) Iterator protocol
c) Generator
3 / 7
12. COURSE INTENDED LEARNING OUTCOMES (CILOS) WITH MATCHING TO
PILOS
Programme Intended Learning Outcomes (PILOs)
Programme Title: Bachelor of Science (Honours) in Artificial Intelligence
Upon successful completion of the Programme, students should be able
PILO
to:
Articulate and explain the principles, concepts and theories required across
PILO 1
the field of artificial intelligence.
Develop appropriate artificial intelligence algorithms and systems, and
PILO 2 enhance performance of them through comparisons and refinements of
alternative approaches.
Identify problems solvable by artificial intelligence in real world applications
PILO 3
and develop solutions using appropriate technology and systematic tools.
Collaborate and work effectively in teams using different communication
PILO 4
formats in the context of AI technology.
Investigate contemporary issues in the field of artificial intelligence, and
PILO 5
develop life-long effective learning skills.
CILOs-PILOs Mapping Matrix
Course Code & Title: AI1003 Python Programming
PILO(s)
CILO Upon successful completion, students should be able to:
Addressed
CILO 1 Explain open source projects written in python language PILO 1
CILO 2 Develop small-scale Programmes using Python PILO 3
CILO 3 Model real-world application and programe accordingly PILO 3
CILO 4 Work as a team for implementing projects PILO 4
13. TEACHING & LEARNING ACTIVITIES (TLAS)
CILO No. TLAs
Lectures: Three hours of lectures will be given per week. Instructor
will explain the concept, principles and techniques to students.
CILO 1
Labs: One hour of lab will be given per week. Instructor and Teaching
Assistant will guide students to digest course content learned during
4 / 7
CILO No. TLAs
lectures by providing further explanations and practices.
Written Exercises: Written exercises will be given to students regularly
to let them remember the concepts and principles.
Lectures: Three hours of lectures will be given per week. Instructor
will explain the concept, principles and techniques to students.
Labs: One hour of lab will be given per week. Instructor and Teaching
CILO 2 Assistant will guide students to practice the concepts and principles
taught in lectures by writing Python Programmes.
Coding Exercises: Coding exercises will be given to students regularly
to develop students’ coding skills.
Labs: One hour of lab will be given per week. Instructor and Teaching
Assistant will guide students to practice the concepts and principles
taught in lectures by writing Python Programmes.
CILO 3
Web resources: Encourage students to read open source Python
projects
Course project: Courses project will be designed by instructor and
students are asked to implement the project.
CILO 4
Presentation event: Organize students to present their projects.
14. ASSESSMENT METHODS (AMS)
Type of Weighting CILOs Description of Assessment Tasks
Assessment Addressed
Methods
Assignments measure students'
understanding of the basic concepts of
Assignments 20% 1-3 Python Programming and abilities in finding
solutions to problems, coding, and
debugging.
5 / 7
Type of Weighting CILOs Description of Assessment Tasks
Assessment Addressed
Methods
Quizzes measure students' understanding of
Quizzes 20% 1-3 the basic components of Python and abilities
in finding solutions to problems.
The project assesses if the students can work
as a team and use their knowledge in Python
Project 20% 3,4
Programming and solving computing
problems.
The final exam checks students'
Final 40% 1-3 understanding of the basic components of
Examination
Python and Programming.
15. TEXTBOOKS / RECOMMENDED READINGS
Textbook:
Nil
Recommended Readings:
1. Mark Lutz, Learning Python: Powerful Object-Oriented Programming, O'Reilly Media,
5th edition, 2014
2. Jason Cannon, Python Programming for Beginners: An Introduction to the Python
Computer Language and Computer Programming, 2014
3. Swaroop C H, A byte of Python, ebshelf Inc, 2013
4. Zed Shaw, Learn Python the Hard Way, Addison-Wesley Professional, 2013
5. Al Sweigart, Automate the Boring Stuff with Python: Practical Programming for Total
Beginners, No Starch Press, 2015
6. Eric Matthes, Python Crash Course: A Hands-On, Project-Based Introduction to
Programming, No Starch Press, 2015
7. Luciano Ramalho, Fluent Python: Clear, Concise, and Effective Programming, O'Reilly
Media, 2015
8. Mark Lutz, Python Pocket Reference: Python In Your Pocket, O'Reilly Media, 5th
edition, 2014
9. Jake VanderPlas, Python Data Science Handbook: Essential Tools for Working with
Data, O'Reilly Media, 1st edition, 2016
10. Wes McKinney, Python for Data Analysis: Data Wrangling with Pandas, NumPy, and
6 / 7
IPython, O'Reilly Media, 1st edition, 2012
11. Joel Grus, Data Science from Scratch: First Principles with Python, O'Reilly Media, 1st
edition, 2015.
Revised on: June 2, 2021
7 / 7