Tag Archives: frontpage

Data Science/Artificial Intelligence, Learning Lists, Resources Lists

49 Essential Resources To Learn Python

Hi, I’m Roger, and I’m a self-taught data analyst/scientist (but only on my good days). I spent a lot of time thinking about Python — and here’s a compilation of resources that helped me learn Python and can hopefully help you.

I’ve broken it down to:

Beginner resources for those just starting with programming and Python

Intermediate resources for those looking to apply the basics of Python knowledge to fields like data science and web development

Advanced resources for those looking to get into concepts like deep learning and big data with Python

Exercises that help practice and cement Python skills in practice

Beginner Resources To Learn Python

learn python

1- Welcome to Python.org

The official Python site offers a good way to get started with the Python ecosystem and to learn Python, including a place to register for upcoming events, and documentation to get started.

2-Learn Python the Hard Way

An online book with a paid and a free version. The free version goes into an outline of the content and can be a useful to-do list.

3-Basic Data Types in Python – Real Python

RealPython dives into the different data types in Python in detail. Learn the difference between floating point and integers, what special characters can be used in Python and more.

4-How to Run Your Python Scripts – Real Python

This simple intro to Python scripts through the command line and text editors will get you up and running for your first Python experiments — a handy tool to get you started as you learn Python.

5-Python Tutorial: Learn Python For Free | Codecademy

Codecademy offers a free interactive course that helps you practice the fundamentals of Python while giving you instant, game-like feedback. A great device for learning Python for those who like to practice their way to expertise.

6-Google’s Python Class | Python Education | Google Developers

The official Python development class from Google’s developers. This tutorial is a mix of interactive code snippets that can be copied and run on your end and contextual text. This is a semi-interactive way to learn Python from one of the world’s leading technology companies.

7-Learn Python – Free Interactive Python Tutorial

This interactive tutorial relies on live code snippets that can be implemented and practiced with. Use this resource as a way to learn interactively with a bit of guidance.

8-Jupyter Notebook: An Introduction – Real Python

Want an easy, intuitive way to access and work with Python functions? Look no further than Jupyter Notebook. It’s much easier to work with than the command line and different cobbled together scripts. It’s the setup I use myself. This tutorial will help you get started on your path to learn Python.

9-Python Tutorial – W3Schools

W3Schools uses the same format they use to teach HTML and others with Python. Practice with interactive and text snippets for different basic functions. Use this tutorial to get a firm grounding in the language and to learn Python.

10-Python | Kaggle

Kaggle is a platform which hosts data science and machine learning competitions. Competitors work with datasets and create as accurate of a predictive model as possible. They also offer interactive Python notebooks that help you learn the basics of Python. Choose the daily delivery option to have it become an email course instead.

11-Learning Python: From Zero to Hero – freeCodeCamp.org

This text-based tutorial aims to summarize all of the basic data and functional concepts in Python. It dives into the versatility of the language by focusing on the object and class portions of the object-oriented part of Python. By the end of it, you should have a neat summary of objects in Python as well as different data types and how to iterate or loop over them.

12-BeginnersGuide – Python Wiki

This simple tutorial on the official Python Wiki is chock-full of resources, and even includes a Chinese translation for non-English speakers looking to learn Python.

13-Python Tutorial – Tutorialspoint

Set up in a similar fashion to W3Schools, use Tutorialspoint as an alternative or a refresher for certain functions and sections.

14-Python (programming language) – Quora

The Quora community is populated with many technologists that learn Python. This section devoted to Python includes running analysis and pressing questions on the state of Python and its practical application in all sorts of different fields, from data visualization to web development.

15-Python – DEV Community – Dev.to

Dev.to has user-submitted articles and tutorials about Python from developers who are working with it every day. Use these perspectives to help you learn Python.

16-Python Weekly: A Free, Weekly Python E-mail Newsletter

If you’re a fan of weekly newsletters that summarize the latest developments, news, and which curate interesting articles about Python, you’ll be in luck with Python Weekly. I’ve been a subscriber for many months, and I’ve always been pleased with the degree of effort and dedication placed towards highlighting exceptional resources.

17-The Ultimate List of Python YouTube Channels – Real Python

For those who like to learn by video, this list of Youtube channels can help you learn in your preferred medium.

18-The Hitchhiker’s Guide to Python

Unlike the rest of the resources listed above, the Hitchhiker’s guide is much more opinionated and fixated on finding the best way to get set up with Python. Use it as a reference and a way to make sure you’re optimally set up to be using and learning Python.

19-Python: Online Courses from Harvard, MIT, Microsoft | edX

edX uses corporate and academic partners to curate content about Python. The content is often free, but you will have to pay for a verified certificate showing that you have passed a course.

20-Python Courses | Coursera

Coursera’s selection of Python courses can help you get access to credentials and courses from university and corporate providers. If you feel like you need some level of certification, similar to edX, Coursera offers a degree of curation and authentication that may suit those needs.

Intermediate Resources

learn python

21-Getting started with Django | Django

The official Django framework introduction will help you set up so that you can do web development in Python.

22-LEARNING PATH: Django: Modern Web Development with Django

This resource from O’Reilly helps fashion a more curated path to learning Django and web development skills in Python.

23-A pandas cookbook – Julia Evans

I learned how to clean and process data with the Pandas Cookbook. Working with it enabled me to clean data to the level that I needed in order to do machine learning and more.

It works through an example so you can learn how to filter through, group your data, and perform functions on it — then visualize the data as it needs be. The Pandas library is tailor-built to allow you to clean up data efficiently, and to work to transform it and see trends from an aggregate-level basis (with handy one-line functions such as head() or describe).

The Pandas cookbook is the perfect intro to it.

24-Newest ‘python’ Questions – Stack Overflow

The Stack Overflow community is filled with pressing questions and tangible solutions. Use it a resource for implementation of Python and your path to learn Python.

25-Python – Reddit

The Python subreddit offers a bunch of different news articles and tutorials in Python.

26-Data Science – Reddit

The Data Science subreddit offers tons of resources on how to use Python to work with large datasets and process it in interesting ways.

27-Data science sexiness: Your guide to Python and R

I wrote this guide for The Next Web in order to distinguish between Python and R and their usages in the data science ecosystem. Since then, Python has pushed ever-forward and taken on many of the libraries that once formed the central basis of R’s strength in data analysis, visualization and exploration, while also welcoming in the cornerstone machine learning libraries that are driving the world. Still, it serves as a useful point of comparison and a list of resources for Python as well.

28-Data Science Tutorial: Introduction to Using APIs in Python – Dataquest

One essential skill when it comes to working with data is to access the APIs services like Twitter, Reddit and Facebook use to expose certain amounts of data they hold. This tutorial will help walk you through an example with the Reddit API and help you understand the different code responses you’ll get as you query an API.

29-Introduction to Data Visualization in Python – Towards Data Science

Once you’re done crunching the data, you need to present it to get insights and share them with others. This guide to data visualization summarizes the data visualization options you have in Python including Pandas, Seaborn and a Python implementation of ggplot.

30-Top Python Web Development Frameworks to Learn in 2019

If you want a suite of options beyond Django to develop in Python and learn Python for web applications, look no further than this compilation. The Hacker Noon publication will often feature useful resources on Python outside of this article as well. It’s worth a follow.

Advanced Resources

learn python

31-Beginner’s Guide to Machine Learning with Python

This text-based tutorial helps introduce people to the basics of machine learning with Python. Towards Data Science, the Medium outlet with the article in question, is an excellent source for machine learning and data science resources.

32-Free Machine Learning in Python Course – Springboard

This free learning path from Springboard helps curate what you need to learn and practice machine learning in Python.

33-Machine Learning – Reddit

The Machine Learning subreddit oftentimes focuses on the latest papers and empirical advances. Python implementations of those advances are discussed as well.

34-Python – KDnuggets

KDNuggets offers advanced content on data science, data analysis and machine learning. Its Python section deals with how to implement these ideas in Python.

35-Learn Python – Beginner through Advanced Online Courses – Udemy

Udemy offers a selection of Python courses, with many advanced options to teach you the intricacies of Python. These courses tend to be cheaper than the certified ones, though you’ll want to look carefully at the reviews.

36-A Brief Introduction to PySpark – Towards Data Science

This introduction to PySpark will help you get started with working with more advanced distributed file systems that allow you to deal and work with much larger datasets than is possible under a single system and Pandas.

37-scikit-learn: machine learning in Python

The default way most data scientists use Python is to try out model ideas with scikit-learn: a simple, optimized implementation of different machine learning models. Learn a bit of machine learning theory then implement and practice with the scikit-learn framework.

38-The Next Level of Data Visualization in Python – Towards Data Science

This tutorial walks through more advanced versions of data visualizations and how to implement them, allowing you to take a preview of different advanced ways you can slice your data from correlation heatmaps to scatterplot matricies.

39-Machine Learning with Python | Coursera

Coursera’s selection of courses on machine learning with Python are veryw well-known. This introduction offered with IBM helps to walk you through videos and explanations of machine learning concepts.

40-Home – deeplearning.ai

Deeplearning.ai is Andrew Ng’s (the famous Stanford professor in AI and founder of Coursera) attempt to bring deep learning to the masses. I ended up finishing all of the courses: they offer certification and are a refreshing mix of both interactive notebooks where you can work with the different concepts and videos from Andrew Ng himself.

41-fast.ai · Making neural nets uncool again

This curated course on deep learning helps break down section-by-section aspects of machine learning. Best of all, it’s completely free. I often use fast.ai as a refresher or a deep dive into a deep learning idea I don’t quite understand.

42-Learn and use machine learning | TensorFlow Core | TensorFlow

This tutorial helps you use the high-level Keras component of TensorFlow and Google cloud infrastructure to do deep learning on a set of fashion images. It’s a great way to learn and practice your deep learning skills.

Exercises To Learn Python

learn python

43-Datasets | Kaggle

Kaggle offers a variety of datasets with user examples and upvoting to guide you to the most popular datasets. Use the examples and datasets to create your own data analysis, visualization, or machine learning model.

44-Practice Python

Practice Python has a bunch of beginner exercises that can help you ease into using Python and practicing it. Use this as an initial warmup exercise before you tackle different projects and exercises.

45-Python Exercises – W3Schools

The Python exercises on W3Schools follow the sections in their tutorials, and allow you to get some interactive practice with Python (though the exercises are in practice very simple).

46-Solve Python | HackerRank

HackerRank offers a bunch of exercises that require you to solve without any context. It’s the best way to practice different functions and outputs in Python in isolation (though you’ll still want to do different projects to be able to cement your Python skill.) You’ll earn points and badges as you complete more challenges. This certainly motivates me to learn more. A very useful sandbox for you to learn Python with.

47-Project Euler: About

Project Euler offers a variety of ever-harder programming challenges that aim to test whether you can solve mathematical problems with Python. Use it to practice your mathematical reasoning and your Pythonic abilities.

48-Writing your first Django app, part 1 | Django documentation | Django

This documentation helps you get on the ground with your first Django app, allowing you to use Python to get something up on the web. Once you’ve started with it, you can build anything you want.

49-Top 100 Python Interview Questions & Answers For 2019 | Edureka

Should you ever be in an interview where your Python skills are at question, this list of interview questions will help as a useful reminder and refresher and a good way for you to practice and cement different Python concepts.

Learning Guides

How to learn Ruby

In an online chat session between Yukihiro Matsumoto and Keiju Ishitsuka in early 1993, a discussion ensued about the name of a programming language that Matsumoto was going to write. He wanted to satisfy his desire to have an object-oriented scripting language, something that would craft virtual objects composed of data, and help them interact with one another. The alternatives at the time, Python and Perl didn’t appeal to him, Python being too object-oriented and Perl having “the smell of a toy language”. Between “Coral” and “Ruby”, Matsumoto decided to go with the latter because it was the birthstone of one of his colleagues.

You have probably heard about Ruby, and you might be wondering—what is all the fuss?

For starters, it’s written in a very easy-to-use, intuitive manner.

For beginners who have tried teaching themselves a programming language, there are many obvious barriers like the syntax and semantics of a language. Ruby strives to eliminate some of those barriers, for example, by naming functions in a very “natural-language” like format, the is_a? function does exactly what it promises, returning a Boolean (TRUE or FALSE) telling you whether a given object is of a certain type. The question mark at the end of the function is a Ruby idiosyncrasy that hints that the function always returns a Boolean. It may seem odd in the beginning, but as the amount of Ruby you read increases, the more natural this process will become.

Ruby is widely deployed ranging from applications in simulations, 3D modeling, business, robotics to web applications and security. For example, Basecamp – a project management application is programmed entirely in Ruby. Google SketchUp, a 3D modeling tool uses Ruby as its macro scripting API—programmers can add in scripts of their own to the SketchUp program, helping them do things such as automating routine modelling processes, similar to how macros work in Excel.

So how might you go about to learn Ruby, now that you are convinced that it is valued by the software community?

Learn ruby with code(love)

Learn ruby with code(love)

 

Though the usual suspects like Codecademy and Learn Ruby the Hard Way are good resources to learn Ruby, there are a bunch of other resources including Try Ruby, Ruby Koans, Ruby Warriors and many more. The one that really stands out as a gem (incidentally also the name of self-contained libraries in Ruby) is RubyMonk.

RubyMonk follows a narrative style of teaching Ruby along with some programming basics. The premise is based on you having a “master” who gives you much needed encouragement if you go wrong and also gives you triumphant messages when you succeed at some of the exercises. RubyMonk draws from movies, and video games to keep you plugging away to learn Ruby.

What really makes it stand apart from other resources is the way the entire learning environment is structured. Each page in the chapter has some introduction, a new concept, an exercise to try out, some more concepts with exercises and wrapping it up by using all the elements learned in that chapter in a slightly challenging exercise. There are several levels – Ruby Primer, Ruby Primer: Ascent, Metaprogramming Ruby and Metaprogramming Ruby: Ascent.

Each of the levels deliver content indicative of their name and each chapter is sprinkled with practical exercises.The design of the exercises and their placement is what makes the learning experience on this website fun and engaging. The exercises are just a little beyond the skill level you acquired in the lesson and require a little bit of thinking and are perfect for people who are just beginning to learn programming. They help easily transfer the theory you learned into practice.

Once, you’re done going through all of their material, you can be fairly confident that even if you can’t change the world with Ruby, you’ll at least have enough knowledge to create fun programs and venture into some complex ones with little additional effort.

Yet another reason to learn: Ruby serves as a wonderful background to migrate to the popular Ruby on Rails web framework, which makes the learning curve for making web applications much easier.

Ruby on Rails was constructed with the explicit goal of making it as easy as possible to build an interactive web platform, and maintain it. It speaks to the Ruby philosophy of simple, intuitive building.

After you learn Ruby, you will be able to build your ideas rapidly, and efficiently. You will have learned a valuable skill that will help make building natural.

Not done learning? Visit the rest of our learning resources.

Learning Lists

Seven Free Resources You Need to Learn Javascript

Last time I wrote about learning code, I talked at length about what the best coding language to learn for you was, going through the pros and cons of a few languages, and giving use cases of each one. Without delving into too many spoilers—you should read the piece for all of the insights—Javascript was mentioned heavily.

Javascript has been really big, especially because of the evolution of the MEAN stack, which has allowed for Javascript to control how users view your site’s information (Angular), how you host your site (Node), how your site communicates information (Express) and how it stores it (Mongo). It’s become really popular with startups—in fact as you can see from CB Insights, 81% of billion-dollar startups use Javascript in their technology. It is the top coding language used by successful startups.

Learn Javascript with code(love)

It’s a language that can get you hired, and help you build great new ventures.

I’ve recently been really big on wanting to learn Javascript, so I’ve unleashed these resources. They’re a diverse group, suited to all types of people who want to learn Javascript in different ways.

One cautionary note: as useful as Javascript can be, it may not be the best first programming language to learn. It has a lot of little traps in it that can trip even veteran programmers. If you are an absolute beginner, you may want to check out some more general resources oriented around other languages rather than trying to learn Javascript, such as these.

1- Codecadamy Javascript Track (type: interactive, level: beginner)

What’s not to like about learning by doing? By following the Javascript track of Codecadamy’s interactive courses, you can get the basics of Javascript by working out how to create functions, and build things with it. It’s a great sandbox to learn in—in fact, it was how I first picked up coding.

2-Eloquent Javascript (Type: book, level: beginner)

Still can’t get over learning through books? I can’t blame you. I was never the biggest fan of school, but there is something comforting about having a lot of pages devoted to something.

Eloquent Javascript is a free book that has been converted into HTML format for easy reading. It goes through everything you need to learn Javascript from beginning to end. It’s quite well-written, and has a lot of relevant examples and images to break the text up—it’s a book that really gets at you and challenges you to learn Javascript.

3-LearnJS (type: interactive, level: intermediate)

More learning by doing. I really like resources like this that get at you and challenge you to do stuff. In this case, LearnJS features interactive modules where you are challenged to finish incomplete code so that it matches a desired output. In doing so, you can learn how to use Javascript to do what you want it to do.

4-Scotch.io (type: blog, level: advanced)

I picked up on Scotch.io when I was looking for resources on how to build single-page web applications. The place is a hive of how-tos and resources on how to build with Javascript and its frameworks.

5-Egghead.io (type: video, level: advanced)

I’ve been following the Egghead video series on Angular to learn the framework: they’ve been a breath of fresh air for my learning. Angular.JS is a Javascript framework that allows you to control a lot of what a website visitor would see, from filtering information, to allowing buttons to toggle settings on and off. It’s the framework I’ve been focused on learning. Having so much content organized about it in a coherent and sequential fashion warms my heart—and it will warm yours as well.

6-JSFiddle (type: sandbox, level: beginner)

Whenever you feel the need to play around to learn Javascript, JSFiddle is the easiest way. Plug your code into the module, and watch it come to life with no limits!  I use it to test what some websites will look and feel like without the need of hosting and uploading changes. It’s a great experimental space to see what your code would look like live.

7-Plunker (type: sandbox, level: intermediate)

Similar to JSFiddle, except now you can manage separate pages, which has made it really useful for testing more complex frameworks for Javascript such as Angular.JS. My go-to learning tool these days as I combine that with Egghead for maximum learning.

There you go. The choice is in your hands to build something great now with Javascript. These resources will help along the way.

If you want more resources to learn, check out our other learning lists!