Selected resources for Python beginners, focusing on how to get help once you're beyond structured tutorials. Created for a lightning talk for Python beginners during PyBCN, March 20, 2014
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Beginning Python Programmers: Here's Where to Find Help!
1. +
Where to Find Help
When Learning Python
By Aleta Dunne, March 2014
@dtiburon
2. +
Programming Background
Started learning programming in my free time 1.5 years ago
Participated in PyLadies PDX – Portland, Oregon, USA
Outreach Program for Women (OPW) internship
Still lots to learn
This presentation includes many resources I’ve learned
about in this process
Disclaimer: these resources are in English; please share
resources in Spanish or Catalan
3. +
Tutorials and Courses
Coding Bat
codingbat.com/python
Learn Python the Hard Way
learnpythonthehardway.org
Codecademy
codecademy.com/tracks/python
Python Challenge (more advanced)
pythonchallenge.com
Coursera – Interactive Python (starts March 24)
coursera.org/course/interactivepython
5. +
RTFM: Read the F*!#% Manual
Avoid reinventing the wheel
Get acquainted with the Python Standard Library
docs.python.org/library
Choose well-known, well-documented libraries and tools to
build your first projects
Make sure you are using the correct syntax of the libraries in
your project
7. +
Helpful Websites
Google.com – how to use it well
Put exact wording of errors in quotes “ ” except what is specific
to your code, such as variable names.
Stack Overflow
www.stackoverflow.com
Reddit: Learn Python
www.reddit.com/r/learnpython
Contribute your knowledge once you find the solution
Blogging helps build your credibility as a programmer
9. +
Get Involved in Open Source (FOSS)
Many opportunities for practicing your skills in real
applications
Community of people to support you
Paid internships available:
Google Summer of Code (GSoC)
Gnome Outreach Program for Women (OPW)
Openhatch.org helps people get started
Today I’m going to talk about some places for beginners to look for help when you’re having trouble.
A little about me and why I'm here today...Python is my first programming languageHad the good luck of getting involved in the Pyladies PDX group when it started - immensely helpful as I learned.Also participated in OPW, an internship in Open Source - will talk about that more later.In this presentation I'd like to share many of the resources I've found as I learned to program.
This is just a selection that I found useful – there are many others.Good support resources if you get stuck.First 3: self-paced tutorials that start at the very beginning, hands-on exercises to apply your new skills.Python Challenge: once you‘ve completed some tutorials covering the basics, Python Challenge has puzzles that allow you to apply your skills. Coursera is very fun! Make a small game each week. Starts March 24!
!! What I really want to focus on today is where to get help once you’ve finished several tutorials and are ready to start working independently on your own projects. It can be more difficult to know where to find help when there’s no teachers, discussion forums, etc. of people who are working on the same projects.
If you haven’t run into the abbreviationRTFM yet, you will soon “manual” refers to a physical book – these days when programmers use it, they’re referring to online documentation.Why RTFM? Reading documentation can help you avoid headaches later and help you understand all the capabilities of the tools you’re using. The built-in functions in Python are really useful! Get acquainted with what you can do with the various Python modules.When you’re ready to branch out and use other libraries, frameworks, etc: Documentation of other libraries and tools varies - as a beginner, stick with tools that are popular & well-documented so you have more chances of finding help when you need it.One of my common mistakes is using the wrong syntax of a new library. I often have to double-check the documentation to realize where I went wrong.
Recently ran across this graphic – incredibly useful!Helps with diagnosing what went wrong – specific Python errors, or no error.Download it for your own use at the link
Google.com – You might be saying “thank you, Captain Obvious” - but I think it’s worth noting. Chances are that if you’re using popular libraries and tools, someone else has also run into this problem. When the documentation doesn’t provide the answer, search the web to see if someone discusses the issue.Stack Overflow – You’ve probably already have found Stack Overflow if you have Googled any error codes or other problems you have run into. Site where anyone can ask a question, and anyone else can answer. Used heavily by professional developers Wealth of information. As a beginner, it’s usually not necessary to post your question, it has already been asked by someone else and answered. Reddit – another forum for people to post questions, and links to small projects to request feedback.If you have trouble finding the answer online, or only a partial answer, help contribute to the body of knowledge online by posting your solution!Discussion Forum / Your BlogThis also helps build your visibility and credibility as a competent developer who can solve problems.
One simple way to describe IRC is chat rooms for geeks.It’s a place where I can find programmers who are online at any hour, and can answer questions in real time.There are a few things to learn to get started, but it’s really not that difficult. Start by installing an IRC client on your computer. There are many! I’ve listed a few here.Chat rooms are called Channels, and there are several Networks that host IRC channels. I recommend starting with Freenode.net, which has several channels that are friendly to beginners.Full details for getting started are at the linked tutorial.
If you’re not sure what project to start next to keep practicing your coding skills, I highly encourage you to get involved in a large Open Source project.Most Open Source software is coded collaboratively by volunteers. There are many opportunities for you to get involved and contribute code that allows you to practice your skills.Larger projects have numerous people involved in the code, so there is a whole community of people available to support you as you work on your task.I mentioned Open Hatch before; they’re a fantastic group of people who are devoted to getting people involved in Open Source technology, and are incredibly friendly to beginners. If you are thinking of trying Open Source, start with that website.