ITED102 Python Fundamentals for Data Science
150 hours over a twelve-week semester or equivalent study period
Unit rationale, description and aim
Data is deemed as the world’s ‘new oil’ while data science is a new inter-disciplinary science of data that employs scientific methods, algorithms, tools and systems for uncovering insights, knowledge and value from massive data generated in different domains. Python, a general-purpose programming language, has gradually become the ‘engine’ of data and data science. In particular, many data scientists use Python because it provides a wealth of data science tools and libraries.
This unit will cover fundamental elements of Python programming language and its comprehensive use in the context of data science. This includes Python language basics, data structures, functions, files, tools and various Python data science libraries for data processing, analysis and visualisation. Data ethics and elementary statistics and probability in data science will also be introduced.
The aim of the unit is for students to learn how Python can be used for building data science solutions.
|Learning Outcome Number||Learning Outcome Description|
|LO1||Demonstrate an understanding of Python fundamental programming language and data science concepts and tools|
|LO2||Demonstrate the use of common Python data science libraries and tools for data collection, cleaning, and wrangling|
|LO3||Experiment with Python data science libraries and tools to solve real-world data science problems and reflect on how the skills can be applied in IT job market|
|LO4||Examine data science ethical issues as they impact on human dignity and privacy|
Topics will include:
- Data science and Python introduction
- Data science environment setup:Jupyter notebooks
- Python and data science concepts and preliminaries
- Python ecosystem for data science
- Python language and tool basics
- Python data structures, functions, objects and files
- Python data science libraries NumPy and Pandas
- Python data plotting and visualisation library Matplotlib
- Data preparation with Python
- Data wrangling with Python
- Future Careers in IT
- Data analysis examples
- Data ethics and potential adverse impacts
Learning and teaching strategy and rationale
This unit is offered in different modes. These are: “Attendance” mode, “Blended” mode and “Online” mode. This unit is offered in three modes to cater for the learning needs and preferences of a range of participants and maximise effective participation for isolated and/or marginalised groups.
In a weekly attendance mode, students will require face-to-face attendance in specific physical location/s. Students will have face-to-face interactions with lecturer(s) or lab demonstrators to further their achievement of the learning outcomes. This unit is structured with required upfront preparation before workshops, most students report that they spend an average of one hour preparing before the workshop and one or more hours after the workshop practicing and revising what was covered. The online learning platforms used in this unit provide multiple forms of preparatory and practice opportunities for you to prepare and revise.
In a blended mode, students will require face-to-face attendance in blocks of time determined by the School and online asynchronous sessions for the other blocks of time during the semester. Students will have face-to-face interactions with lecturer(s) and online asynchronous engagement to further their achievement of the learning outcomes. This unit is structured with required upfront preparation before workshops. The online learning platforms used in this unit provide multiple forms of preparatory and practice opportunities for you to prepare and revise.
This unit uses an active learning approach to support students in the exploration of knowledge essential to the discipline. Students are provided with choice and variety in how they learn. Students are encouraged to contribute to asynchronous weekly discussions. Active learning opportunities provide students with opportunities to practice and apply their learning in situations similar to their future professions. Activities encourage students to bring their own examples to demonstrate understanding, application and engage constructively with their peers. Students receive regular and timely feedback on their learning, which includes information on their progress.
Students should anticipate undertaking 150 hours of study for this unit, including class attendance, readings, online engagement and forum participation and assessment preparation.
Assessment strategy and rationale
A range of assessment procedures will be used to meet the unit learning outcomes and develop graduate attributes consistent with University assessment requirements. The first assessment consists of small to medium sized Python setup and programming tasks. The purpose is to assess students’ fundamental Python programming and data science skills for problem solving. The second assessment consists of data preparation tasks using key Python data science ecosystem/libraries. The purpose is to assess students’ use of Python data science libraries NumPy and Pandas and other related tools for collecting, cleaning and wrangling various types of data. The final assessment is a more comprehensive assignment involving data processing, analysis and visualisation. The purpose is to assess students’ Python programming and data science techniques from data processing to data visualisation on real-world datasets with consideration of data ethics. There are fortnightly lab sessions associated with the assessments including assessable lab participation/engagement.
The assessments for this unit are designed to demonstrate the achievement of each learning outcome. To pass this unit, students are required to obtain an overall mark of at least 50%
Overview of assessments
|Brief Description of Kind and Purpose of Assessment Tasks||Weighting||Learning Outcomes|
Assessment 1: Practical programming tasks
The first assessment item consists tasks of Python environment setup and solving basic Python programming and data science problems. The assessment requires students to demonstrate their understanding and use of fundamental Python programming and data science package skills
Submission Type: Individual
Assessment Method: Content knowledge coding tasks
Assessment 2: Data preparation with numpy and pandas
The second assessment item is a data preparation practical using key Python data science ecosystem/libraries. The assessment requires students to use libraries NumPy and Pandas and other related tools for collecting, cleaning and wrangling various types of data.
Submission Type: Individual
Assessment Method: Conceptual knowledge coding tasks
Assessment 3: Data processing, analysis and visualisation assignment
The final assessment is a more comprehensive assignment involving data processing, analysis and visualisation. The assignment requires students to demonstrate Python data science techniques from data processing to data visualisation on real-world datasets with consideration of data ethics.
Submission Type: Individual
Assessment Method: Applying knowledge coding tasks
Representative texts and references
Wes McKinney, 2018. Python for Data Analysis, 2nd Edition O'Reilly Media, Inc.
Joel Grus, 2019. Data Science from Scratch, 2nd Edition, O'Reilly Media, Inc.
Eric Matthes, 2019. Python Crash Course: A Hands-On, Project-Based Introduction to Programming, 2nd Edition No Starch Press.
Luca Massaron and John Paul Mueller, 2019. Python for Data Science, 2nd Edition, For Dummies.
Peter Bruce et al, 2020. Practical Statistics for Data Scientists, 2nd Edition O'Reilly Media, Inc.
Allen B. Downey, 2015. Think Stats, 2nd Edition, O'Reilly Media, Inc.