Course Syllabus

Introduction to Python

What You’ll Learn

This course provides a comprehensive foundation in Python programming tailored for analytics. By the end of this module, you will be able to:

NoteCore Competencies
  • Set up and manage Python environments for data analysis projects
  • Python Fundamentals: Master Python’s syntax, data structures, and control flow
  • Write clean, efficient Python code using best practices and Pythonic idioms
  • Manipulate and analyze data using NumPy arrays for numerical computing
  • Process and transform datasets using Pandas DataFrames
  • Develop reproducible data analysis workflows from raw data to insights
  • Debug and troubleshoot common programming issues
  • Apply programming concepts to real-world analytics problems

Course Philosophy

Our approach emphasizes learning by doing. Rather than memorizing syntax, you’ll build practical skills through:

  • 🎯 Hands-on exercises with real datasets
  • 🔄 Iterative learning that builds on previous concepts
  • 🌟 Industry-relevant examples and case studies
  • 🤝 Collaborative problem-solving in group sessions

Module Structure

The course is organized into four progressive modules, each building upon the previous:

📚 Module 1: Getting Started

Duration: Week 1

Set up your Python environment and learn the basics of working with Jupyter notebooks, Python scripts, and essential development tools.

Key Topics: Python installation, IDE setup, Jupyter notebooks, basic syntax

🔧 Module 2: Python Language Fundamentals

Duration: Weeks 2-3

Master Python’s fundamental building blocks including data types, functions, and control structures.

Key Topics: Variables, data types, lists, dictionaries, functions, loops, conditionals

📊 Module 3: Computing with NumPy

Duration: Week 4

Explore NumPy’s powerful array operations for efficient numerical computation and data manipulation.

Key Topics: Arrays, vectorization, broadcasting, linear algebra, random number generation

📈 Module 4: Pandas for Data Analysis

Duration: Weeks 5-6

Learn to work with structured data using Pandas DataFrames for data cleaning, transformation, and analysis.

Key Topics: Series, DataFrames, indexing, merging, grouping, time series

Learning Approach

Interactive Learning Environment

We believe in active learning where you’ll:

During Sessions - Live coding demonstrations - Pair programming exercises - Group problem-solving - Q&A discussions

Between Sessions - Practice exercises - Reading assignments - Mini-projects - Peer review activities

Assessment Methods

Formal Assessment

MSc students enrolled in the Bayes programme must complete online quizzes via module IND219’s Moodle page. The deadline for quiz submission is TBD.

Continuous Self-Assessment

While formal assessment provides external validation, self-assessment forms the cornerstone of learning in this module. Students are encouraged to:

  • Monitor their understanding during lectures and practical sessions
  • Complete problem sets independently to identify knowledge gaps
  • Actively seek and incorporate feedback from instructors
  • Track their progress against module learning objectives

Course Materials

💻 Required Software

  • Python 3.9+ (via Anaconda’s Python distribution)
  • Jupyter Lab/Notebook
  • Git for version control
  • We recommend Python’s IDE Spyder. If you’re familiar with alternative IDEs like PyCharm, extensible code editors like VS Code, or advanced text editors like Emacs, Vim/Neovim, then feel free to stick with that.

🎈 Online Resources

Course Policies

Attendance and Participation

  • Regular attendance is mandatory for IND219
  • Active participation in class discussions encouraged

Getting Help

  1. Moodle Forum: Available on course website, expect a reply within 24-48 hours in weekdays
  2. Email instructor: Yuanheng.Li.2@city.ac.uk
  3. Office Hours: In-depth conceptual discussions (reach out to Yuanheng.Li.2@city.ac.uk to book your appointment)
  4. Peer Study Groups: Self-organized, facilitated by instructor

Accommodations

Students with documented disabilities who may need accommodations should liaise with the course officer as soon as possible. All discussions will remain confidential. Students should also contact the Office of Disability Services to verify their eligibility for reasonable accommodations.

Changes to Syllabus

The instructor reserves the right to modify this syllabus as needed. Any changes will be announced in class and posted on the course website with adequate notice.