CSCI2040 Introduction to Python


Course code CSCI2040
Course title Introduction to Python
Course description This course aims to provide an intensive hands-on introduction to the Python scripting language. Topics include the basic Python language syntax, variable declaration, basic operators, programme flow and control, defining and using functions, file and operating system interface. Specific key features of the Python scripting language such as object-oriented support, functional programming support, lambda function, list comprehension, high level dynamic data types, embedding within applications, module creation etc. will be highlighted. Special topics include using Python for web/data access, animation, as well as using Python to develop a web crawler.
Advisory note: Students are advised to have basic programming experience before taking this course.
本科旨在密集介紹高階程序設計語言 Python 。內容包括基本高階程序設計語言Python 的語法、變數申明、基本運算符、程序編寫流程及控制、函數定義及應用、文件及操作系統接口。本科亦會介紹高階程序設計語言 Python 的特性,例如面向對象支援方法、函數式編程、lambda函數、列表解析、高階動態資料型式,嵌入於應用程式、創建模塊等。特別專題包括使用Python在網絡/數據訪問,動畫,以及使用Python開發網絡爬蟲。
參考意見: 選科者須具備編程的知識。
Unit(s) 2
Course level Undergraduate
Exclusion  CSCI1040 or AIST1110
Semester 1 or 2
Grading basis Graded
Grade Descriptors A/A-:  EXCELLENT – exceptionally good performance and far exceeding expectation in all or most of the course learning outcomes; demonstration of superior understanding of the subject matter, the ability to analyze problems and apply extensive knowledge, and skillful use of concepts and materials to derive proper solutions.
B+/B/B-:  GOOD – good performance in all course learning outcomes and exceeding expectation in some of them; demonstration of good understanding of the subject matter and the ability to use proper concepts and materials to solve most of the problems encountered.
C+/C/C-: FAIR – adequate performance and meeting expectation in all course learning outcomes; demonstration of adequate understanding of the subject matter and the ability to solve simple problems.
D+/D: MARGINAL – performance barely meets the expectation in the essential course learning outcomes; demonstration of partial understanding of the subject matter and the ability to solve simple problems.
F: FAILURE – performance does not meet the expectation in the essential course learning outcomes; demonstration of serious deficiencies and the need to retake the course.
Learning Objectives   At the end of the course of studies, students will have acquired
1. Knowledge of using Python as a programming language to create applications
2. Knowledge of applying knowledge of Python language in database access
3. Knowledge of applying knowledge of Python language for web access
4. Knowledge of applying knowledge of Python in creating Internet applications
Learning outcomes 1. Be able to write, compile and execute Python programs;
2. Be able to make use of Python’s object-oriented methodology;
3. Be able to design and create applications using Python modules;
4. Be able to develop embedded applications using Python;
5. Be able to use Python for database and web access;
6. Be able to use Python for some simple computer animation;
7. Be able to apply Python for creating web crawler;
(for reference only)
Final exam: 50%
Assignments: 50%
Recommended Reading List 1. Official Python web site
2. Beginners’ guide to Python


CSCIN programme learning outcomes Course mapping
Upon completion of their studies, students will be able to:  
1. identify, formulate, and solve computer science problems (K/S); TP
2. design, implement, test, and evaluate a computer system, component, or algorithm to meet desired needs (K/S);
3. receive the broad education necessary to understand the impact of computer science solutions in a global and societal context (K/V);
4. communicate effectively (S/V);
5. succeed in research or industry related to computer science (K/S/V);
6. have solid knowledge in computer science and engineering, including programming and languages, algorithms, theory, databases, etc. (K/S); TP
7. integrate well into and contribute to the local society and the global community related to computer science (K/S/V);
8. practise high standard of professional ethics (V);
9. draw on and integrate knowledge from many related areas (K/S/V);
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes; T = Teach; P = Practice; M = Measured