Python for Applied Data Science (PDS301m)
Vietnamese title: Lập trình Python cho khoa học dữ liệu ứng dụng
Credits: 3
Prerequisites: MAS291

Description:
This hands-on course introduces students to Python programming with a specific focus on data science applications. Designed for beginners, it starts with the essentials of programming and guides learners through structured modules including Python basics, data structures, programming fundamentals, data handling, and APIs. Students will learn to write clean and efficient Python code, manipulate and analyze datasets, and automate data collection from external sources. Each topic is reinforced with review sessions and lab-based activities to ensure practical understanding and application. By the end of the course, students will be able to develop Python programs that solve real-world data problems and form a strong foundation for further study in data science and machine learning.

Learning outcomes:
Develop a foundational understanding of Python programming by learning basic syntax, data types, expressions, variables, and string operations.
Understand the key data structure in Python such as using data structures, conditions and branching, loops, functions, exception handling, objects, and classes.
Know how to apply proficiency in using Python libraries such as Pandas and Numpy and developing code using Jupyter Notebooks.
Understand and implement the way to access and extract web-based data by working with REST APIs using requests and performing web scraping
Apply AI tools to enhance Python programming skills and critically justify the logic of the implemented code

Student tasks:
- Student must complete the coursera course:https://www.coursera.org/learn/python-for-applied-data-science-ai/
- Students must attend more than 80% of contact slots in order to be accepted to the final examination.
- Student is responsible to do all exercises, assignments and labs given by instructor in class or at home and submit on time
- Use laptop in class only for learning purpose
- Promptly access to the FU LMS at https://flm.fpt.edu.vn/ for up-to-date course information
- Learn by coding practice

Tools:
Anacoda, Jupyter Notebook, Google Colab, Visual Studio Code

Materials:
description: Python for Data Science, AI & Development
author: Joseph Santarcangelo
publisher: Coursera
note: https://www.coursera.org/learn/python-for-applied-data-science-ai
description: Python Data Science Handbook
author: Jake VanderPlas
publisher: O'Reilly Media
published_date: 2022
edition: 2nd
isbn: 978-1-098121198

Assessments:
category: Assignment
type: on-going
weight: 20.0
duration: At home
question_type: CLO1, CLO2, CLO3, CLO4, CLO5
no_question: Homework, mini-projects, and optionally the constructivist approach as proposed by the lecturer.
knowledge_and_skill: by instructor
grading_guide: All topics
note: Individual or team work, guided by instructor, submission by a given deadline
category: Labs
type: on-going
weight: 10.0
question_type: CLO1, CLO2, CLO3, CLO4, CLO5
no_question: Mini-project
knowledge_and_skill: by instructor
grading_guide: All topics
note: Individual or team work, guided by instructor, submission by a given deadline
category: Progress test 1
type: on-going
weight: 5.0
duration: 30'
question_type: CLO1, CLO2,
no_question: Multiple choices
knowledge_and_skill: 25
grading_guide: CLO1, CLO2, CLO5
note: in class, by instructor
category: Progress test 2
type: on-going
weight: 5.0
duration: 30'
question_type: CLO3, CLO4,
no_question: Multiple choices
knowledge_and_skill: 25
grading_guide: CLO3, CLO4, CLO5
note: in class, by instructor
category: Project
type: on-going
weight: 30.0
duration: 360'
question_type: CLO1, CLO2, CLO3, CLO4, CLO5
no_question: Project
knowledge_and_skill: by Instructor
grading_guide: All topics; knowledge and skills
note: The examination is conducted by the exam board. A minimum of two teachers is required for grading the Final Project.
Each team is allocated 30 minutes for the presentation of their project followed by a Q&A session.
Evaluation of the final presentation is based on the final report, project demonstration, and Q&A interaction.
The grade is determined by averaging the grades given by the two teachers.
category: Final exam
type: Final exam
weight: 30.0
duration: 60'
question_type: CLO1, CLO2, CLO3, CLO4, CLO5
no_question: Multiple choices
Marked by Computer
knowledge_and_skill: 50
grading_guide: All topics
note: by exam board,
using computer

Schedule:
session: Introduction programming for Data Science + Set up environment
learning_outcomes: ITU
materials: PDS301m
session: Introduction programming for Data Science + Set up environment
learning_outcomes: ITU
materials: PDS301m
session: Assignment introduction
learning_outcomes: T
session: Python Basic
learning_outcomes: T
materials: PDS301m_4
session: Python Basic (con't)
learning_outcomes: T
materials: PDS301m_5
session: Project introduction
learning_outcomes: T
session: Lab 1 & Lab 2 evaluation
learning_outcomes: U
session: Lab 1 & Lab 2 evaluation
learning_outcomes: U
session: Python Data Structures: List & Tuples
learning_outcomes: T
materials: PDS301m_9
session: Python Data Structures: List & Tuples (con't)
learning_outcomes: T
materials: PDS301m_10
session: Python Data Structures: List & Tuples (con't)
learning_outcomes: T
materials: PDS301m_11
session: Python Data Structures: Dictionaries
learning_outcomes: T
materials: PDS301m_12
session: Python Data Structures: Dictionaries (con't)
learning_outcomes: T
materials: PDS301m_13
session: Python Data Structures: Dictionaries (con't)
learning_outcomes: T
materials: PDS301m_14
session: Python Data Structures: Sets
learning_outcomes: T
materials: PDS301m_15
session: Python Data Structures: Sets (con't)
learning_outcomes: T
materials: PDS301m_16
session: Review project -phase 1
learning_outcomes: TU
session: Evaluation Lab 3-4-5 Evaluation
learning_outcomes: U
session: Evaluation Lab 3-4-5 Evaluation
learning_outcomes: U
session: Evaluation Lab 3-4-5 Evaluation
learning_outcomes: U
session: Conditional & Branching
learning_outcomes: T
materials: PDS301m_21
session: Conditional & Branching (con't)
learning_outcomes: T
materials: PDS301m_22
session: Conditional & Branching (con't)
learning_outcomes: T
materials: PDS301m_23
session: Lab 6 Evaluation
learning_outcomes: U
session: Loops
learning_outcomes: T
materials: PDS301m_25
session: Loops (con't)
learning_outcomes: T
materials: PDS301m_26
session: Review project -phase 2
learning_outcomes: TU
session: Lab 7 Evaluation
learning_outcomes: U
session: Functions
learning_outcomes: T
materials: PDS301m_29
session: Functions (con't)
learning_outcomes: T
materials: PDS301m_30
session: Functions (con't)
learning_outcomes: T
materials: PDS301m_31
session: Lab 8 Evaluation
learning_outcomes: U
session: Objects and Classes
learning_outcomes: T
materials: PDS301m_33
session: Objects and Classes (con't)
learning_outcomes: T
materials: PDS301m_34
session: Review project -phase 3
learning_outcomes: TU
session: Lab 9 Evaluation
learning_outcomes: U
session: Progress test 1
learning_outcomes: U
session: Working with data in Python
learning_outcomes: T
materials: PDS301m_38
session: Working with data in Python (con't)
learning_outcomes: T
materials: PDS301m_39
session: Working with data in Python (con't)
learning_outcomes: T
materials: PDS301m_40
session: Lab 10 Evaluation
learning_outcomes: U
session: APIs and Data collection
learning_outcomes: T
materials: PDS301m_42
session: APIs and Data collection (con't)
learning_outcomes: T
materials: PDS301m_43
session: APIs and Data collection (con't)
learning_outcomes: T
materials: PDS301m_44
session: Lab 11 Evaluation
learning_outcomes: U
session: Progress test 2
learning_outcomes: U
session: Assignment evaluation
learning_outcomes: U
session: Assignment evaluation
learning_outcomes: U
session: Assignment evaluation
learning_outcomes: U
session: Assignment evaluation
learning_outcomes: U
session: Assignment evaluation
learning_outcomes: U
session: Assignment evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U
session: Group project presentation & evaluation
learning_outcomes: U