> For the complete documentation index, see [llms.txt](https://opencampus.gitbook.io/opencampus-machine-learning-program/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://opencampus.gitbook.io/opencampus-machine-learning-program/additional-resourses/python.md).

# Learning Python

Some resources about python

In most of the courses, the Python programming language is used. While the introductory course will guide you through the process of learning, the other courses will assume some basic knowledge of Python.

If you never programmed in Python and you want to check out how easy or hard it may be, we can suggest some courses and projects to help you get a better picture.

#### What is needed in Python?

A general knowledge about how python works, variable, lists, array and similar, plus some libraries which are widely used:

* [numpy](https://numpy.org/): widely used open-source library to work with array, matrices, vectors and most of the mathematical operations. Mostly needed in the Deep Learning course to implement the basic neural network operations.
* [Tensorflow](https://www.tensorflow.org/): open-source higher level framework which allows to create and work neural network in a very easy and intuitive way. Needed in most courses.
* data pre-processing: a usually underestimated task in the machine learning field is data pre-processing, as for example reading different file types for working with time series or natural language processing (.csv, .txt, .json), or loading and working with images (numpy, [Pillow](https://python-pillow.org/), [openCV](https://docs.opencv.org/master/d6/d00/tutorial_py_root.html)).

### Tutorials

1\) Kaggle offers some tutorials to learn the foundamentals of python.\
[Here](https://www.kaggle.com/learn/python) you can find the list of lectures.

2\) on Coursera you can find small *Guided Projects.* The explanation is limited, therefore they are suggested for people who already have some experience, to freshen up old skills.\
As an example, [here one on Logistic Regression with Python and Numpy](https://www.coursera.org/learn/deep-learning-fundamentals-logistic-regression/home/welcome) and here [a list of Guided Projects related to Python and numpy](https://www.coursera.org/programs/opencampus-sh-on-coursera-rrj5m/browse?query=python%20numpy\&index=prod_enterprise_products\&entityTypeDescription=Rhyme%20Projects).

3\) One of the best books for learning Python is freely available under:

<http://www.greenteapress.com/thinkpython/thinkpython.pdf>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://opencampus.gitbook.io/opencampus-machine-learning-program/additional-resourses/python.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
