IS407E -
Introduction to Programming with Python
Paul Schuhmacher Coordinator: Mr. Amine LAHIANI Duration : 24h (8 x
3h sessions)
About me #
2011: Bachelor’s Degree in Physics
2012: Master’s Degree in “Modeling of Complex Systems”
(Physics specialization) : Scientific programming, numerical
simulations of sand dune dynamics and collective animal behavior (fish
schooling)
2016: Ph.D. in Mechanical and Civil Engineering
(Physics/Computational Mechanics) : Modeling and numerical
simulations of granular material flows
2018: Postdoctoral Researcher : Academic research,
team codebase maintenance and development, teaching
2020: Transition to Software Developer (CDA - Application Developer
certification at ENI, Nantes)
2021: Web Developer in a web agency in Nantes
Today : Web developer/Software/web development
teacher since 4 years
By email:
Feel free to ask me any questions about programming or software
projects you may have!
Objectives #
Understand the basic concepts of computer
programming
Be able to write simple programs in
Python
Be able to write and use libraries (packages) in
Python
Be able to use basic functions of NumPy
(scientific computing) , Matplotlib
(data vizualisation) , and pandas (data analysis) libraries,
for different practical purposes: data manipulation and
visualization
(DAIS only) Write programs using Object-Oriented
Programming paradigm (OOP)
After this course #
You will:
know how to program (or get better at programming)
have fundamental knowledge of Python programming language
(and many others indirectly!)
be able to prepare and translate raw data
into usable datasets and interpretable outputs to
support fact-based decision-making
Grades and assessments #
Last session
Practice on DataCamp #
Datacamp platform :
Access given by Rennes School of Business
Module plan sessions #
Session 01 (today) #
Introduction to Computers, Python, and your first
program:
From machine to code: how a computer executes a Python
program
Setting up and writing code
Core concepts: variables, data types (strings, numbers, booleans),
basic arithmetic and operators
Data structures: lists and dictionaries
Control flow basics: loops and conditions (introductory
overview)
DataCamp assignment
Session 02 #
Data Structures and Debugging Fundamentals :
Deeper practice with data structures: lists and dictionaries
(indexing, nesting, common operations)
Introduction to debugging: reading error messages, common bugs,
step-by-step troubleshooting
Best practices for responsible use of GenAI tools when debugging
code
DataCamp assignment
Session 03 #
Control Flow: Conditions and Loops :
Conditional structures: if / elif / else
Loops: for and while, break/continue
Combining loops with conditions to solve structured problems
DataCamp assignment
Session 04 #
Functions, Code Reuse :
Defining and calling functions
Parameters and return values
Why code reuse matters: writing maintainable, modular code
Debugging functions
DataCamp assignment
Basics should be acquired here.
Session 05 #
Data Preparation with NumPy :
Introduction to NumPy arrays: creation, shape, indexing,
slicing
Vectorized operations and basic math on arrays
DataCamp assignment
Session 06 #
Data Visualization with Matplotlib : - Basic plot
types: line, bar, scatter - Customizing titles, labels, legends -
DataCamp assignment
Session 07 #
Data Analysis with Pandas: Series and
DataFrames :
Pandas Series and DataFrames: structure and purpose
Lab Session for discovering pandas
Loading CSV files, inspecting data
Selecting columns, filtering rows
Combining NumPy with Pandas for numerical data preparation
Plotting directly from DataFrames
DataCamp assignment
Session 08 (Last session, exams)
#
Assessments :
Quiz: 1:30 hours. 20 questions (on Moodle).
Final exam (individual): 1:30 hours. You will have to solve
programming exercises on your local machine. During the exam, you are
not allowed to access Internet and/or use any AI/LLM. However,
you are allowed to access all your local documents on your
computer (course materials, notes, programs you wrote, etc.) or
paper notes.
Before the exam, ensure your local dev environment is fully
WORKING (PyCharm + numpy/matplotlib packages installed)! If you
have any problems with your machine please come see during class.
Next Module #
Go
to next module
Resources to go further #