Skip to content

Repository files navigation

Python Programming Course

Timings:

  • 09.00-10.30 - Session 1
  • 10.30-11.00 - Break
  • 11.00-12.30 - Session 2
  • 12.30-13.30 - Lunch
  • 13.30-15.00 - Session 3

Course Overview

This three-day course offers a practical, hands-on journey into the world of Python programming. We'll cover the essential language features and build your skills progressively. To make the learning concrete and relevant for scientists and engineers, our labs follow a central theme: analyzing experimental and sensor data. You'll start with basic scripts and build up to a final project that loads (or optionally fetches) measurement data, processes it using classes and functions, and generates an analysis report. By the end, you'll have the confidence to apply Python to practical data-handling tasks in the lab or in research.

Session Topics

1. Course Introduction

  • Overview of the course structure
  • Learning objectives and outcomes
  • Introduction to Python and its significance

2. Python Introduction

  • Basic syntax and structure of Python
  • Running Python scripts and using the interactive shell
  • Writing your first Python program

3. Data Types in Python

  • Understanding Python's built-in data types
  • Working with numbers, strings, lists, tuples, and dictionaries
  • Type conversions and basic operations

4. Flow of Control

  • Conditional statements: if, elif, and else
  • Loops: for and while
  • Controlling loop execution with break, continue, and else

5. Container Types

  • Advanced data structures in Python
  • Working with tuples, lists, sets, and dictionaries
  • Performing basic data analysis

6. Functions

  • Defining and calling functions
  • Function arguments, return values, and scope
  • Lambda functions and functional programming concepts

7. Further Functions

  • Understanding and using list comprehensions
  • A concise way to create lists
  • Practical examples and use cases

8. Classes and Object-Oriented Programming

  • Introduction to classes and objects
  • Defining classes and creating instances
  • Understanding self, constructors, and methods

9. Modules

  • Organizing code into modules
  • Importing and using Python's standard and third-party libraries
  • Best practices for module design and usage

10. Error Handling

  • Exception handling in Python with try, except, finally
  • Raising exceptions and custom exception classes
  • Debugging and error management strategies

11. Testing

  • Writing tests in Python using pytest
  • Test-driven development (TDD) principles
  • Mocking and coverage analysis

12. File Handling & APIs

  • Reading from and writing to files
  • Working with JSON data
  • Fetching live data from a web API

13. Matplotlib (Optional)

  • Introduction to data visualization with Matplotlib
  • Creating basic plots, charts, and graphs
  • Customizing and exporting visualizations

14. Generators (Optional)

  • Understanding Python generators and yield
  • Creating and using generator functions
  • Practical examples of using generators for efficiency

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages