Skip to main content

Resource Guide: Python

Last Updated: January 2024

Python is one of the most popular coding languages in the world; it is popular with software developers, data scientists, and researchers, for work that includes big data, AI, machine learning, visualization, automation, and more. Despite these complex uses, Python is also known as a language that is good for beginners. If you haven’t had success learning a different programming language, perhaps now is the time to try learning Python!

Getting Started

When it comes to learning a new skill, different people have different preferred methods of learning. With programming, new coders often try a few different methods before something finally sticks. One great way to learn Python is by attending a live workshop with a teacher who can include active learning strategies, answer individual questions, and adapt their teaching methods to the students in the room. However, there’s something to be said for learning at your own pace from the comfort of your own home. Here are a few good beginning tutorials with different styles – a video, an interactive notebook, and a book.

LinkedIn Learning – Python for Non-Programmers
Nick Walter
There are many free videos available for learning Python, however, they usually require some level of programming knowledge and require you to install a particular IDE (Integrated Development Environment – a piece of software for coding) to your computer. This video series is wonderful for beginners because it really starts with the basics and the instructor uses a free cloud-based tool, which means you can start learning quickly. LinkedIn Learning is free for all Northwestern community members. Go to this link for instructions on how to access LinkedIn Learning.

Kaggle – Intro to Programming and Python
Alexis Cook and Colin Morris
Kaggle is a free website focused on Data Science and Machine Learning. They have free datasets to practice on, programming tutorials, a cloud environment for coding, and they host data science contests. Their beginning Python tutorials are excellent. If you have no previous coding experience, start with Intro to Programming (it’s taught in Python but focuses on basic programming concepts that many tutorials skip) and then go on to the Python course. If you already know another coding language, you can jump right into the Python course.

Python Crash Course, 3rd Edition
Eric Matthes
A book provides a lot more room to expand on the introductory material than a walk-through tutorial, and this book uses those extra pages to provide more entertaining exercises than the other options. I especially like how this book highlights common errors that you’ll see with each new skill. The book is available online through O’Reilly – click the link and follow the instructions from Northwestern Libraries on how to log in.

Getting Better

Python code challenges – LinkedIn Learning
Barron Stone
One option for entertaining Python coding exercises. These games and story problems are fun because they challenge your creativity and problem-solving skills alongside your Python knowledge. If you’re looking for a way to practice Python but you don’t have any current projects from your own research, try out a few of these puzzles. In addition to practice, you might learn something new. If you haven’t already activated your free LinkedIn Learning subscription, go here.

Python for Programmers
Paul J. Deitel, Paul Deitel, Harvey Deitel
This book was designed to teach Python to coders who are already skilled in a different programming language, but it also has good advanced materials for those who are looking to expand their Python knowledge. Check out the chapters on numpy arrays, file handling, defining your own object classes, and more. Instructions on how to access O’Reilly Online Books for free can be found on this page from Northwestern Libraries.

Effective Python: 90 Specific Ways to Write Better Python
Brett Slatkin
This is an excellent book for anyone who has already been coding in Python for several years. While the author provides a lot of interpretation about what is and isn’t “pythonic” code, it also makes you think about why you choose one method over another and how you can write code that is faster to both write and run. Full of shortcuts and advice, this is a very dense book, so I recommend browsing the table of contents for topics that interest you. Instructions on how to access O’Reilly Online Books for free can be found on this page from Northwestern Libraries.

Real Python
This resource is an exception, as not all of the content is free. However, the Real Python website does include some free, very easy-to-follow, short lessons on intermediate and advanced topics, including topics that are hard to find elsewhere. They also have free videos on YouTube that include Python tricks, answered viewer questions, advice, and general Python news and talk.