Python for AI

Training details

Location

UPC North Campus, Barcelona

Date

01/06/2026

Target Audiance

Student-Focused

Teaching language(s)

English / Catalan / Spanish

Organizing institution

Universitat Politècnica de Catalunya

Delivery mode

Hybrid

Level

Introductory

Format

Case Study Session, Hands-on session, Lecture

Capacity or seats limit

30

Topics / Keywords

Python Programming, Programming Fundamentals, Data Structures, NumPy, Pandas, Matplotlib, Scientific Computing, Data Visualization, Control Flow, Functions, Lists, Dictionaries, Online Programming Judge, Jutge.org, AI Foundations, Problem Solving

This 3 ECTS intensive 8-week course provides a thorough foundation in Python programming specifically designed for students pursuing artificial intelligence and data science. Through a combination of theoretical instruction and extensive hands-on practice using the Jutge.org online programming judge, students will progress from basic syntax to scientific computing libraries essential for AI applications. The course emphasizes problem-solving skills, code quality, and practical application through weekly exercises and a culminating project that integrates all learned concepts.

Participants will master Python from first principles, progressing through fundamental concepts (variables, conditionals, loops, functions) to essential data structures (lists, dictionaries, sets) and finally to the scientific computing stack (NumPy, Matplotlib, Pandas). The course leverages the Jutge.org platform for continuous practice and immediate feedback, ensuring students develop not just theoretical knowledge but practical coding proficiency. The final two weeks are dedicated to a comprehensive project that synthesizes all learned concepts in an AI-relevant context.

Learning Objectives

  • Acquire Python programming skills to solve AI-related computational problems
  • Master fundamental Python programming concepts and syntax
  • Develop proficiency in core data structures (lists, dictionaries) and control flow mechanisms
  • Work effectively with core scientific computing libraries (NumPy, Matplotlib, Pandas)
  • Build a solid foundation for advanced AI and machine learning applications

What You Will Learn

Learning Objectives
  • Write clear, well-structured simple Python programs following best practices
  • Implement algorithms using appropriate control flow structures (conditionals loops)
  • Design and use functions to create modular, reusable code
  • Select and manipulate appropriate data structures (lists, dictionaries, sets, tuples) for different problems
  • Perform numerical computations efficiently using NumPy arrays and vectorized operations
  • Create effective data visualizations using Matplotlib
  • Process and analyze datasets using Pandas DataFrames
  • Solve computational problems independently using learned techniques
  • Write code that is readable, maintainable, and efficient

Learning Outcomes

By the end of this course, participants will be able to:

  • Develop Python programs to solve computational problems of moderate complexity
  • Implement common algorithms using loops, conditionals, and functions
  • Work confidently with Python data structures and choose appropriate structures for specific tasks
  • Perform matrix operations and scientific computations using NumPy
  • Create informative visualizations of data using Matplotlib
  • Load, clean, transform, and analyze datasets using Pandas
  • Successfully complete programming challenges on automated judges like Jutge.org
  • Read and understand Python code written by others
  • Cope with new Python libraries and tools

Agenda

Agenda: 8 Weeks

Week 1: Python Fundamentals and Development Tools

  • Introduction to Python ecosystem and installation
  • Setting up development environments (IDEs, Jupyter notebooks)
  • Introduction to Jutge.org programming judge
  • Basic syntax, variables, and data types
  • Input/output operations
  • Boolean expressions and logical operators
  • If-elif-else statements
  • Nested conditionals
  • Writing and debugging first Python programs

Week 2: Iterations and Loops

  • While loops and for loops
  • Nested loops and loop patterns
  • Iterating over sequences
  • Common iteration algorithms
  • Performance considerations

Week 3: Functions and Modular Programming

  • Defining and calling functions
  • Parameters, arguments, and return values
  • Scope and lifetime of variables
  • Code organization and reusability

Week 4: Lists and Tuples

  • List creation, indexing, and slicing
  • List methods and operations
  • List comprehensions
  • Tuples and their applications
  • Nested data structures

Week 5: Dictionaries and Sets

  • Dictionary creation and manipulation
  • Keys, values, and dictionary methods
  • Sets and their operations
  • Choosing appropriate data structures
  • Complex data modeling
  • JSON and data serialization

Week 6: Scientific Computing with NumPy, Matplotlib, and Pandas

  • NumPy arrays and vectorized operations
  • Matrix operations and linear algebra basics
  • Data visualization with Matplotlib
  • Creating plots, charts, and graphs
  • Introduction to Pandas DataFrames
  • Integration of NumPy, Matplotlib, and Pandas

Weeks 7 and 8: Final Practical Exercise

  • Comprehensive project integrating all course concepts
  • Peer evaluation on Mussol.Jutge.org

Instructor name(s)

  • Josep Fernández
  • Enric X. Martín
  • Jordi Petit

Instructor’s biography

Jordi Petit is a Professor at the Computer Science Department of the Universitat Politècnica de Catalunya (UPC). He has extensive experience teaching programming, algorithms, and data structures at both undergraduate and graduate levels. Professor Petit is one of the creators of Jutge.org, an innovative online programming judge used by thousands of students worldwide. His research interests include computational geometry, algorithms, and computer science education.

Course Description

Purpose
This course addresses the critical need for solid programming foundations among students entering the fields of artificial intelligence, machine learning, and data science. Python has become the lingua franca of AI development, and this course ensures students build robust programming skills from the ground up, preparing them for advanced AI coursework and real-world applications.

Context
Python’s simplicity, readability, and extensive ecosystem of scientific libraries have made it the dominant language in AI research and industry. However, effective use of AI frameworks and tools requires more than superficial knowledge— students need deep understanding of programming fundamentals, data structures, and scientific computing libraries. This course provides that essential foundation through structured learning and intensive practice.

Prerequisites

<ul>
<li class="p1">Basic computer literacy and familiarity with file systems</li>
<li class="p1">Mathematical foundation (algebra, basic statistics)</li>
<li class="p1">Logical thinking and problem-solving aptitude</li>
<li class="p1">No prior programming experience required</li>
</ul>

Certificate/badge details

<p>Certificate of achievement</p>

Required readings or materials

<ul>
<li class="p1">Think Python: How to Think Like a Computer Scientist (Allen B. Downey) – Free online textbook  – https://greenteapress.com/wp/think-python-2e/</li>
<li class="p1">Python Official Documentation – https://docs.python.org</li>
<li class="p1">Lliçons de Python – https://lli.ons.jutge.org/python/</li>
<li class="p1">Jutge.org Platform – https://jutge.org/</li>
<li class="p1">NumPy Documentation – https://numpy.org/doc/stable/</li>
<li class="p1">Pandas Documentation – https://pandas.pydata.org/docs/</li>
<li class="p1">Matplotlib Documentation – https://matplotlib.org/stable/contents.html</li>
</ul>