Python Programming Language#
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 , by 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 (access instructions ).
Kaggle: Intro to Programming  and Python , by
Alexis Cook and Colin Morris. 
Kaggle is a free website focused on Data Science and Machine Learning. They have 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 , by 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 , by 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, learn how here .
Effective Python: 90 Specific Ways to Write Better Python , by 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. The book is available online through O’Reilly - click the link and follow the instructions from Northwestern Libraries on how to log in.
Real Python  
Not all of the content from Real Python is free, but it 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.
