Skip to content

Commit

Permalink
Updated and spiffied the LEARNING doc.
Browse files Browse the repository at this point in the history
  • Loading branch information
BethanyG committed Sep 1, 2021
1 parent 00d7b0e commit 078d54c
Showing 1 changed file with 25 additions and 13 deletions.
38 changes: 25 additions & 13 deletions docs/LEARNING.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
# Learning

## Learning Python From Scratch
Python is, as Wikipedia goes, a powerful *general-purpose high-level programming language*. It basically means that it can be used to write a wide variety of different kinds of software, from videogames to HTTP servers to command-line tools.
Python is (_as Wikipedia says_), a powerful *general-purpose and high-level programming language*.
It can be used to write a wide variety of different kinds of software, from video games to HTTP servers to command-line tools - and a whole lot else.
It is especially good at 'gluing' different systems and programs together.

One of the main characteristics that differentiates Python from other programming languages is its strong emphasis on readability and code cleaness. In fact, differently from other languages like JavaScript or C++, in Python code indentation has a syntactical meaning and you are forced to chose and adhere to a writing style (e.g. don't mix *tabs* and *spaces* for identation; don't use two spaces where you should use four etc.). Yes, forced: the Python interpreter will raise SyntaxErrors if it recognize wrong indentation.

This might look like a limit at the beginning but, as you will advance in your learning path, you'll realize that enforcing this behaviour will make your code slim and more readable by default.
And we think the best way to lean is to _play_ and to _practice_ with coding projects big and small - or with small problems like the ones here on exercism!

For its own nature, exercism assumes that you already have a grasp of the language syntax before starting doing exercises. At least at a point where you can write simple functions in Python. From there on, you can continue your learning as you will advance in the exercism track and gradually explore new constructs and concepts.

With this premise, a good, beginner friendly, starting point for those who don't have any experience in other languages might be the Python course on [Sololearn.com](https://www.sololearn.com/Course/Python/). It will help you get an understanding of the Python syntax with which you will be able to start solving exercises here on exercism.
Below you will find some additional jumping-off places to start your learning journey, recommended by our community.

## Other Resources

- [Automate the Boring Stuff with Python (Book)](https://automatetheboringstuff.com/)
- [Python3 Beginner Tutorial](https://www.youtube.com/playlist?list=PL1A2CSdiySGJd0LJRRSwQZbPZaDP0q67j)
- [Learn Python - An Interactive Tutorial](https://www.learnpython.org/)
- [Offical Python3 **Documentation** and **Reference**](https://docs.python.org/3/)
- [Learn X in Y minutes (where X = Python3)](https://learnxinyminutes.com/docs/python3/)
- [The Hitchhiker’s Guide to Python](http://docs.python-guide.org/en/latest/)
- [PyCharm EDU **IDE** and **Courses**](https://www.jetbrains.com/pycharm-edu/)
## Resources

- [Python Documentation Tutorial][Python Documentation Tutorial]
- [Automate the Boring Stuff with Python (Book)][automate the boring stuff]
- [Learn X in Y minutes (where X = Python3)][Learn X in Y minutes]
- [Python3 Beginner Tutorial (video)][Python3 Beginner Tutorial]
- [Practical Python Programming from David Beazley][Practical Python]
- [Official Python3 Documentation and Reference][python docs]
- [PyCharm EDU **IDE** and **Courses**][pycharm edu]
- [Python at Free Code Camp][python at free code camp]


[Learn X in Y minutes]: https://learnxinyminutes.com/docs/python3/
[Practical Python]: https://dabeaz-course.github.io/practical-python/
[Python Documentation Tutorial]: https://docs.python.org/3/tutorial/index.html
[Python at Free Code Camp]: https://www.freecodecamp.org/learn/scientific-computing-with-python/
[Python3 Beginner Tutorial]: https://www.youtube.com/playlist?list=PL1A2CSdiySGJd0LJRRSwQZbPZaDP0q67j
[automate the boring stuff]: https://automatetheboringstuff.com/
[pycharm edu]: https://www.jetbrains.com/pycharm-edu/
[python docs]: https://docs.python.org/3/

0 comments on commit 078d54c

Please sign in to comment.