Skip to content

mbarnaba/python3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python3: from zero to useful applications

Matteo Barnaba, PhD
scientific software developer specialized in HPC
matteo.barnaba@exact-lab.it

materials for the course

Contents

  • introduction to computer programming (how to talk to computers)

  • intro to Python3

  • variables

  • conditions, aka flow of control (if, else, elif)

  • errors (raise, try, catch)

  • loops (while, for)

  • functions (def and lambda)

  • modules (import)

  • object oriented programming

    • classes and objects
    • Python data model
    • inheritance
    • polymorphism
    • abstraction
    • iterators
    • decorators
    • functors
  • collections

    • lists
    • tuples
    • dictionaries
    • sets
  • input-output

    • read
    • write
    • print
    • formatted I/O
    • contexts
  • data visualization (matplotlib)

  • Numpy/Scipy module and numerical applications/examples

    • function interpolation and approximation
    • numerical optimization
    • numerical integration
    • solution of differential equations

Any suggestions from the attendees are warmly welcome (both for the topics and examples) as the course is intended to be as interactive as possible.

It would also be very useful to know whether you know other programming languages, which ones and how well (1-5). So I can explain (hopefully) new concepts in terms of other programming languages you are familiar with.

Please let me know via my mail address: matteo.barnaba@exact-lab.it

NOT Contents

  • This course is not about how to setup Python and the other needed modules on your system. The process is usually quite easy but might be very system-dependent and it is not related to the language itself.

I strongly suggest you to use Google Colab for this course as I will be using it too. I prepared this jupyter notebook for the course and my idea would be to expand it together.

In case you do not like Google, there are other solutions for running jupyter notebooks in your browser, e.g., alternatives. I did not test them, do not ask me in case something is not right with them ... sorry ;)

About

Python3: from zero to useful applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published