|Course title||Introduction to Computing using Python
|Course description||This course aims to provide an intensive hands-on introduction to the Python programming language. Topics include Python programming language syntax, basic data types, operators for various data types, function definition and usage, file and operating system support, object-oriented programming, functional programming, module creation, visualization, multi-threaded programming, networking, cryptography, web/database access. The course will go through some important Python packages for artificial intelligence and machine learning applications, e.g., NumPy and SciPy, and use these packages to accomplish some simple artificial intelligence and machine learning tasks.
|Pre-requisites||ENGG1110 or ESTR1002|
||CSCI1040 or CSCI1110 or CSCI1120 or CSCI1130 or CSCI1510 or CSCI1520 or CSCI1530 or CSCI1540 or CSCI2040 or ESTR1100 or ESTR1102|
|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 outcomes||At the end of the course of studies, students will have acquired the ability to
1. write, compile and execute Python programs;
2. make use of Python’s object-oriented programming methodology;
3. make use of Python’s functional programming methodology;
4. design and create applications using Python modules;
5. include other programming languages (e.g., C programming language) into Python;
6. use Python for database and web access;
7. use Python for 2D and 3D visualization.
(for reference only)
|Essay test or exam: 60%
Lab reports: 40%
|Recommended Reading List||1. Exploring Python by Timothy A. Budd
2. Think Python: How to Think Like a Computer Scientist, by Allen B. Downey
3. Python for Informatics: Exploring Information, by Chuck Severance
4. Artificial Intelligence: Foundations of Computational Agents, by David Poole, Alan Mackworth
|AISTN programme learning outcomes||Course mapping|
|Upon completion of their studies, students will be able to:|
|1. identify, formulate and solve AI-related engineering problems (K/S);||Y|
|2. design a system, component, or process to meet desired needs within realistic constraints, such as economic, environmental, social, political, ethical, health and safety, manufacturability and sustainability (K/S/V);
|3. understand the impact of AI solutions in a global and societal context, especially the importance of health, safety and environmental considerations to both workers and the general public (K/V);|
|4. communicate and work effectively in multi-disciplinary teams (S/V);
|5. apply knowledge of mathematics, science, and engineering appropriate to the AI degree discipline (K/S);
|6. design and conduct experiments, as well as to analyze and interpret massive data (K/S);||Y|
|7. use the techniques, skills, and modern computing tools necessary for engineering practice appropriate to the AI and computing discipline (K/S);|
|8. understand professional and ethical responsibility (K/V); and|
|9. recognize the need for and the importance of life-long learning (V).
|Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes|