PYTHON
======

Computer Sciences is now in [Python](https://en.wikipedia.org/wiki/Python_(programming_language))!

## Support

All students are invited to join the rather informal support group [`polito_07jcj`](https://t.me/polito_07jcj) on [*Telegram*](https://en.wikipedia.org/wiki/Telegram_(software)).

[Nick Deligiannis](https://www.linkedin.com/in/nikos-deligiannis) created the repo [CS-polito](https://github.com/NikosDelijohn/CS-polito) with hints and tips for the labs.

## References / Textbooks

### Offline

The *official* text book for all Politecnico's courses is:

* Cay Horstmann, Rance D. Necaise; [*Python for Everyone*](https://www.wiley.com/en-it/Python+For+Everyone,+3rd+Edition-p-9781119498537); John Wiley & Sons Inc. [**3rd edition**]
* Cay Horstmann, Rance D. Necaise; [*Concetti di informatica e fondamenti di Python*](http://www.apogeoeducation.com/concetti-di-informatica-e-fondamenti-di-python.html) (Edizione italiana a cura di Marcello Dalpasso); Apogeo Education [**Seconda edizione**]
  * Both [CLUT](https://www.clut.it/ita/elettrotecnica-elettronica-informatica/-/concetti-di-informatica-e-fondamenti-di-python/348.html) and [Levrotto e Bella](https://www.levrotto-bella.net/concetti-informatica-fondamenti-python-horstmann) offer a small discount for Politecnico's students

:exclamation: Python is being actively developed and few, yet important details may be different from what is described in the book.

### Online

The updated, official Python's documentation can be found at <[https://docs.python.org](https://docs.python.org)>.

The web is full of free, high-quality resources. This is an incomplete, already outdated list: you should look for something like **"PYTHON FREE BEGINNERS"** on your favorite search engine.

* Python For Beginners (aka. "Getting started with Python") <[https://www.python.org/about/gettingstarted/](https://www.python.org/about/gettingstarted/)>
* Free Interactive Python Tutorial <[https://www.learnpython.org/](https://www.learnpython.org/)>
* Google's Python Class <[https://developers.google.com/edu/python/](https://developers.google.com/edu/python/)>

## Programming Environment (IDEs)

### Offline

* You need a recent version of Python ([**official distribution**](https://www.python.org/downloads/))
* :star: [**Visual Studio Code**](https://code.visualstudio.com/): a free and powerful editor loaded with IDE-like features — this is the **suggested** option for the course
* [**PyCharm**](https://www.jetbrains.com/pycharm/): professional IDE — a free [educational license](https://www.jetbrains.com/community/education/#students) is available for Politecnico's students

### Online

* [**Replit**](https://replit.com/): free on-line IDE for Python and many other languages — requires registration
* [**Colab**](https://colab.research.google.com): free on-line Jupyter environment that stores notebooks on Google Drive — requires a Google account
* [**NOTEBOOKS_**](https://notebooks.ai/dashboard): free on-line Jupyter environment — requires registration
