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 #
- 3 grades
- Quiz (20%)
- Final Exam (individual) (60%)
- Participation or task completion (DataCamp Labs) (20%)
Last session
Practice on DataCamp #
Datacamp platform:
interactive lessons and exercises
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 Analysis with Pandas: Series and
DataFrames:
- Pandas Series and DataFrames: structure and purpose
- Loading CSV files, inspecting data
- Selecting columns, filtering rows
- DataCamp assignment
Session 06 #
Data Preparation with NumPy:
- Introduction to NumPy arrays: creation, shape, indexing,
slicing
- Vectorized operations and basic math on arrays
- Handling missing values and basic data cleaning with NumPy
- Combining NumPy with Pandas for numerical data preparation
- DataCamp assignment
Session 07 #
Data Visualization with Matplotlib:
- Basic plot types: line, bar, scatter
- Customizing titles, labels, legends
- Plotting directly from DataFrames
- DataCamp assignment
Session 08 #
Assessments:
- Quiz: 1:30 hours
- Final exam (individual): 1:30 hours
Resources to go further #