Use this list of resources to build the mathematics and statistics knowledge you need to learn machine learning.Continue reading
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Set up in a similar fashion to W3Schools, use Tutorialspoint as an alternative or a refresher for certain functions and sections.
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.
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.
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.
For those who like to learn by video, this list of Youtube channels can help you learn in your preferred medium.
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.
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.
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.
The official Django framework introduction will help you set up so that you can do web development in Python.
This resource from O’Reilly helps fashion a more curated path to learning Django and web development skills in Python.
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.
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.
The Python subreddit offers a bunch of different news articles and tutorials in Python.
The Data Science subreddit offers tons of resources on how to use Python to work with large datasets and process it in interesting ways.
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.
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.
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.
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.
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.
This free learning path from Springboard helps curate what you need to learn and practice machine learning in Python.
The Machine Learning subreddit oftentimes focuses on the latest papers and empirical advances. Python implementations of those advances are discussed as well.
KDNuggets offers advanced content on data science, data analysis and machine learning. Its Python section deals with how to implement these ideas in Python.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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).
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.
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.
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.
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.
I self-taught myself SQL after I bombed a technical interview that involved SQL. It got me a bit mad at myself, so I went ahead and started looking for different resources to help me practice and learn SQL. I wasn’t looking to spend any money so I focused on getting the best free resources. The list below is the fruit of my efforts. I hope that it helps you on your journey to learn SQL.
It can be handy to learn SQL. You might be looking to do data analysis with it, or you might look to learn SQL to help answer different questions you have on your data. A quarter of data users use MySQL databases — to get access, you’ll need to learn SQL.
Codeacademy is one of my go-to resources for learning programming because it involves interactive exercises where you get immediate feedback. This is what makes the practice and learning of programming so fluid and rapid. Their section on SQL meets the same bar as the rest of their courses, and of course, it’s free.
This free self-paced mini-lesson on databases and SQL allows you to follow along with what top computer science students at Stanford are learning — all this at a self-directed pace, and for the total cost of zero dollars.
This book by O’Reilly entitled SQL Head First helps you dive deep into SQL topics, with tons of examples and writing to help you learn SQL. It can be completely free with a free trial of their Safari product (though the trial will run out). I classified it as a free resource as it doesn’t seem like O’Reilly’s paywalled it.
W3Schools offers a text + exercises tutorial that breaks down individual SQL functions. I like looking through individual-level examples of different functions, especially when I’ve forgotten the nuances of one or another. You’ll see that several other providers do the same thing as W3Schools, but for me, W3 is the best resource out of the lot.
SQLZoo is one of the coolest free SQL resources out there. The set of rich, interactive exercises placed in real-world settings is about as close as you’ll get to working with SQL in complex production-level environments without actually being hired. I used it a lot to practice SQL as I was picking up data analysis skills and I still use it every once in a while as a refresher.
Mode Analytics offers a cool, intuitive interface along with a case study like approach involving Crunchbase data. It can help you rapidly place your SQL skills in a context that is like real-world uses, and once again, it’s free. They’re trying to upsell you to their paid product in offering this educational resource. That type of content always does well however, because it’s never priced and the focus of the team in question is to deliver maximum quality and substance for your learning objectives.
This Sololearn course is interesting because it has different quizzes to make sure you retain material as you’re learning it. It follows the same conventional structure of teaching you how to select and query data, then teaching you how to sort and manipulate it within a data table, finally moving to joining and modifying tables. Notably, there isn’t much here in the way of aggregation functions or subqueries, which other courses above will teach.
8- SQL for Beginners (Youtube)
If you prefer learning with video content, this 1-hour video tutorial on SQL might just do the trick for you. It starts going over the basics of SQL, then shifts into the end by talking through different functions and examples on video. It is however meant to be an introduction — don’t expect to become an expert in SQL just by watching this video.
9- SQL Tutorial
SQL Tutorial offers an interface like W3Schools without the exercises. In case none of the resources above it seem to be working for you, this is another free resource where you can break down and learn SQL functions one-by-one.
SQLCourse offers a curriculum with specific exercises for different functions. It is another handy way to practice your SQL skills for free. The interface is a bit janky, but it’s workable.
11- Welcome to SQL (KhanAcademy)
If you prefer a set of curated video tutorials that cover different topics, then look no further than the KhanAcademy course that introduces SQL. It runs through to the basics until aggregating data — there are projects in between as well. If you’re already on KhanAcademy, this could be a perfect transition to you learning SQL.
Yet another text + examples format of teaching SQL, TutorialsPoint does offer more of the same: but if you’re looking for more and more practice or different ways to digest SQL material, it might be handy enough for you.
SQLBolt is constructed a bit like a virtual, interactive book on SQL. You can read through it and then go through each exercise, feeling like you’re being guided on your journey by the book-like structure. If you want a more focused and curated approach to learning SQL — this might be it for you.
Another interactive SQL course, meant to run in the browser. It’s free-to-use, but may use quite a few intensive resources as it’s running. (not sure if that’s just how old this tutorial is, or an honest warning). It is free to try if you want to take a look.
15- Use the Index
Use the Index is a very useful advanced training site for SQL. Once you have the basics down, check out this site to see how to optimize your SQL databases and your queries so you can get maximum performance from it.
16 – Schemaverse
Schemaverse is a game built entirely on SQL. I’m a big fan of using gaming to motivate people to learn. I think it could show an exponential effect on motivation and on acquiring SQL skills if you’re somebody who wants to learn, but might get bored out of their mind with conventional tutorials or videos.
The Microsoft documentation around SQL Server can help you understand how to use their software to manage SQL databases and tables — it’s offered for free, so you can take advantage and have a look even if you’re just curious.
SQLFiddle allows you to upload data and play around with different SQL queries to see what data comes back. It is a great way to practice your SQL skills, especially if you don’t have a real-world database to play with. You can take .sql files from elsewhere, upload them, and then try to manipulate the data contained within or query certain selections of data. It is also free to use — which never hurts.
19- MySQL Sandbox
MySQL sandbox allows you to install several MySQL servers in sandbox mode, allowing you to rapidly experiment, test and learn with different data files. It can be a useful way for you to practice what you can do with multiple SQL instances.
One of my favorite free resources to learn SQL or really any programming language is StackOverflow. This is an online Q&A community focused on technical topics where you can ask experts questions or see solutions to existing problems. It’s a fantastic community to immerse yourself in if you’re learning SQL. The specific SQL tag makes sure that you can stay focused on SQL topics.
Another great community for learning is Reddit — where you can see different resources being placed and ranked by users as the days go by. Take part in discussions here or take advantage of articles or discussions posted to spur your own learning exponentially forward.
Hopefully, all these free resources are helpful to you on your journey to learn SQL — they were helpful to me as I started learning. While I leaned on some a bit more than others, I’m always a big fan of curating as many resources as possible because my learning style (very text-heavy) may not be the same as yours.
A lot of research has been done on the predictive abilities of matching how a concept is presented with a preferred learning style. While few models meet the test, it does seem like digesting new materials under a whole bunch of different modes or media formats helps learning.
So if you want to learn SQL, it’s best to go through and try a few of these resources, then choosing and sticking to which ones you like and combating the learning problem from many different angles.
If you’re here, it’s likely because you’ve heard about Solidity and blockchain development. You’re probably looking to get involved and build your own DApps and you’re looking to learn solidity. This resource is the perfect place to get you started if that’s the case.
First let’s stop off with a primer about Solidity: the what of it, the why, and then what of what you can build with it. If you want to skip ahead to the resources, feel free to click here.
What is Solidity?
We have to start here with the concept of blockchains, immutable, distributed datastores that are verified by a network of actors rather than one centralized source. Bitcoin is the most famous example of this technology and its first widely adopted application.
The genesis of Solidity comes from the simple realization that while Bitcoin is a highly secure blockchain, it was not very scalable both from a technical sense, but also from a community development sense: people had to either create entire new blockchains or fork into the existing chain to create new innovations or iterations.
Solidity is the programming language associated with Ethereum, a blockchain that aimed to have developers iterate on top of it: the Ethereum blockchain aimed to provide a more complete platform where developers could dictate more of the logic behind what data and payments get recorded on the blockchain, and which do not. Solidity is the programming tool that makes that possible.
Ethereum rests on the principle of decentralization: as with other blockchains, there is no centralized data storage that declares a certain state for the entire system. Data and the state of the system flow through a series of decentralized nodes that can be run on a number of different servers. For example, you could run an Ethereum node on your PC, and it would form part of a collective amount of computing power dedicated to sending and verifying data on the Ethereum blockchain.
While there are other Ethereum programming languages (such as the more Python-based Serpent), Solidity is the most popular one with the most documentation out there so far. You’ll be able to access complementary libraries such as those offered by OpenZeppelin and utility tools such as Truffle. If you want to build something with Ethereum, or you want to monetize your functions or build your own token, you’re probably going to end up using Solidity.
What can you build with Solidity?
You might have heard of smart contracts — you’ll be able to build smart contracts that execute different functions with Solidity. This will allow you to write data to the Ethereum blockchain or to receive or send Ether when people trigger different functions. Think of it as integrating a wallet directly in your code.
An interesting limitation you’ll have to deal with is that function calls are correlated to gas price within the Ethereum blockchain, meaning people will pay to execute functions on your platform. This is something you’ll have to keep in mind as you scale out new applications — the monetization of your functions can be a double-edged sword.
Onto real-life examples, you can build your own token according to the ERC-20 standard and start distributing it for initial coin offerings. You can create your own game that might go viral (such as CryptoKitties). You could even create your own decentralized exchange for buying and selling other tokens such as the people behind Etherdelta have done. You can build any number of Ethereum Dapps. The possibilities are there for you to explore once you understand the technology.
Ok, what are the nine resources you promised?
Fair is fair. If you’ve made it this far or clicked through all the way down to the bottom, you’re probably looking for the resources I promised you to help you learn Solidity and different Solidity tutorials.
Here they are, in the order for which I think it makes sense for you to consult them.
You’ll want to start off with a general overview of Ethereum, different blockchain concepts, and a feel for how Solidity can fit into that framework. This compilation of resources can certainly be helpful in that space and help flesh out the context of the space you’re getting into when you start building smart contracts. You’ll be able to see and get inspired by the vast potential of what has been done with smart contracts — and what you can do with them in turn.
Next up, you’ll want to set up an Ethereum node yourself. This is useful for local testing of the apps you build but also, in a greater sense, provides you with the bridge you need to be part of the Ethereum community. The guide in question links out to a section where you can install an Ethereum node under different operating systems — it also contains sections dedicated to other aspects of Ethereum you may find interesting, including the mining mechanism for it.
This guide on Ethereum concepts can help you really understand the promise of Solidity and how you can extrapolate your thinking about web concepts into development for blockchain.
It also allows you to separate out the differences between centralized and decentralized datastores and how you should conceptually think about the programming logic for either.
The guide then moves onto a free tutorial (though the rest of the site offers paid lessons) on how to build a ballot voting system in Solidity that is much better than any “Hello World” tutorial could be in terms of getting you started on your path to learning Solidity.
This guide offers you yet another text-based case study for creating something in Solidity — this time though, you’ll be able to get an overview of how to build a web app in conjunction with Ethereum functionality.
Think of this as a case study upon which you can layer the Solidity concepts you’re learning and put them into practice. It will also teach you how to build a development environment for Solidity apps so that you can build your own smart contract and iterate on it in real-time without the fear of breaking anything as you learn Solidity.
This resource from ConsenSys, an accelerator based on powering different teams working on Ethereum-based projects helps you define more of the meta-thinking behind Ethereum smart-contracts.
It will help you design smart contracts and tailor your learning around best practices that will keep your contracts performant and secure as you learn Solidity — highly desirable factors in an emerging tech ecosystem that is often in flux.
This handy game helps explain Ethereum functions in more depth and will help you learn Solidity — you can learn interactively by building your own version of CryptoKitties (CryptoZombies) — as you go through, you’ll be able to explore, among other things, function creation, function calls and modification, how to implement standard programming language such as assert and if statements, the different data types within Solidity, how to make objects inherit from one another, how to return data and finally, how to determine who can securely access and trigger different functions within your code.
If you’re more of a visual learner rather than textual, you’ll find this video series on YouTube more amenable to your desire to learn Solidity.
Use it to catch up on Solidity concepts or to refresh your knowledge — or try this learning perspective first if you know a video is how you learn best.
With this web browser based compiler for Solidity code, you can experiment with different contracts and different functions cheaply, seeing what compiles properly and what doesn’t right off the bat. It’s a great, experimental way for you to learn Solidity and practice with it.
Finally, the last resource is the Stack Exchange forum for Ethereum and Solidity questions — a solid resource for you to consult and to pose questions as you’re stumbling around as a beginner, and a community you can give back to once you’ve practiced and built different things with Solidity.
I hope this guide is helpful to getting you started in your Solidity programming journey. If you want to join a newsletter packed with cutting-edge resources for how to learn new technology skills and maximally leverage them for a meaningful and socially impactful life, look no further than mine.
If you’re here, it’s because you’re likely looking for a job in technology. This excerpt from our upcoming guide to how to get a programming job without a degree will help you do just that by giving you categories of tech job resources, tech job boards and tech job sites to consult. I’ve helped isolate some of the best job boards for you among the many tech job boards out there. Hopefully, this resource will help you land a new job!
The following tech job boards often have a selection of general jobs, but they are also useful resources that can be used to find technical jobs — if you’re able to process the information correctly. Tech companies abound on these general resources.
Sometimes it’s good to start at the most obvious place: LinkedIn has a large number of technology jobs that you can find quite easily. You can sign up for a free trial of the premium version and quickly look through different jobs.
LinkedIn can also be a great way to research hiring managers and get a sense of what a company is like before you even apply there. You’ll be able to see what the organizational hierarchy looks like by scrolling from one profile to another — and you’ll be able to see what skills the company emphasizes, either by looking at the profiles of those who were hired or by using your trial Premium account and looking at job postings or company pages.
You’ll want to think about how to optimize your LinkedIn profile so you can get the most out of this career-oriented social network. Among tech job boards, it is easily one of the largest.
Crunchboard is the job board associated with TechCrunch, a publication that specializes in writing about emerging technologies and new companies. As you can imagine, their job board is filled with a lot of technology and web development positions due to their audience.
Another technique you can use related to this is to look for startups that have just raised a large fundraising round on either TechCrunch or CrunchBase and reach out to hiring managers or executives at those companies: immediately after raising a fundraising round, a company is in aggressive growth mode, and is most likely looking to hire many qualified people to fill different and interesting job roles.
Besides being a great repository of technical articles and a community that curates people who are interested in the cutting edge of technology, Hacker News also serves as a job portal of sorts for Y Combinator companies — technology companies that might be as young as a two-person startup and also those who have started full maturing (as an example, Dropbox, Airbnb, and Quora were all at one time or another incubated by Y Combinator). The jobs section of the site features different YC companies and their hiring needs. There are also monthly threads started by a bot called Ask HN: Who is hiring? –where discussion about urgent job opportunities is surfaced that may be hard to find elsewhere. Here’s an example of a“who’s hiring” thread in May 2017.
By commenting on different articles and reaching out to different members in the Hacker News community, many of whom are senior figures in the startup world, you might also find your way to different mentors — and somebody who can introduce you to the right hiring manager.
AngelList is an online repository for different startups. The jobs on offer here tend to be with earlier stage companies working at the edge of technology. One great perk about this is that entrepreneurs may be more willing to accept people from non-traditional backgrounds to work with them — especially if you’re willing to accept and maybe even embrace the risk that comes with working in a startup.
GitHub, the living repository of code collaboration, also offers a selection of curated jobs for developers around the world. You can even search by programming language here, ensuring the best match for your skills.
Stack Overflow, the popular Q&A site for programming questions, offers a selection of different programming jobs, many of them posted by hiring managers who are trying to find top talent within the Stack Overflow community.
Glassdoor is an interesting job board since you’ll be able to see what employees think about the company and you can get some transparency on the salary range the company offers as well. All in all, Glassdoor is a great general place to find technology jobs — but its greatest value probably rests in the additional data on employee satisfaction and approximate salary ranges that can help guide your career decisions.
Mashable, the popular content repository based out of New York City, has a job board as well with a lot of different technology job postings.
The Muse is a unique jobs resource, with tons of personalized career coaching and resources related to career development. It can be well worth browsing the content on the site itself if you want to learn about salary negotiation, interviews and career progression from a somewhat general perspective. The jobs board section also boasts a selection of technical and developer jobs.
Another community oriented towards posting startup jobs, many of them programming-related.
One of the leading repositories of tech jobs in the world, Dice offers nearly 80,000 jobs in technology for you to consider.
Run by a placement agency for engineers, Cybercoders offers an easy way to search across 10,000+ different technology jobs across different industries.
The following tech job boards focus on jobs that are oriented towards front-end work and user design. Check these out if you’re looking to work on how the user experience of digital products feels for different people.
Smashing Magazine is one of the premier web development and design resources on the web. They offer a selection of jobs tailored to front-end web development. It’s a perfect selection among a number of tech job boards if you’re looking for more design and development-driven work.
The following job boards will help you hone your skills in web development if that’s the technical career path you want to choose.
Sensational Jobs curates a selection of different positions for web professionals of all sorts and stripes.
The official WordPress jobs board will help you curate a selection of jobs in web development specifically focused on building things with the WordPress platform — a popular, open-source content-management system that serves as the back-end framework for nearly one in six of all websites on the Internet.
WPHired is another great selection among this list of tech job boards — that is if you’re looking for development jobs oriented around WordPress.
Data science entails a mix of statistics, programming and communication skills that are quite specialized. Oftentimes, data science job postings will be found in these specialized communities that have grown to help support the data science community. These tech job boards are often the result of careful curation and community-building.
Kaggle is an online community centered around machine learning competitions. Here, they’ve used their reach in the data science community to curate a selection of data science jobs for you.
Data Elixir offers a newsletter filled with data science resources, and also curates this job board to help data science jobs seekers.
KDNuggets is one of the leading data science content hubs, filled with useful tutorials and resources to help you understand different topics in data science. This static jobs page is updated quite frequently with different job postings in data science.
The following tech job boards curate different opportunities for those looking to build mobile apps on a variety of platforms. The most common tend to be iOS or Android-oriented.
Android Jobs curates a selection of jobs for developers interested in building Android applications. Come here if you want to make your mark in mobile development.
Core Intuition features a selection of curated Mac Cocoa and iOS development jobs — if you want to develop apps for Apple products, there are few job boards as well-placed as Core Intuition to help you advance along that career path.
The following tech job boards are specific to a type of programming language. It can be a handy place to look if you plan to specialize in one language and grow your career there.
Ruby Now is a job board focused on curating Ruby on Rails specialists. Given the extensive use of Ruby on Rails for web development, you’ll mostly be working with web development positions if you look through this job board — though there are some more senior positions in back-end development.
Python Jobs (official Python website)
Python.org (the official centerpiece of the Python programming community) hosts a small repository of curated and interesting jobs that involve the use of Python. It’s one of the best among these tech job boards for those looking to work with Python.
Python Jobs (unaffiliated with the official Python programming community) is a great free resource for looking up Python jobs and web development jobs associated with the Django web development framework.
R-Users is the place to go if you’re proficient in R or if you’re a statistician looking to get some work developing their programming skills in R.
One of the luxuries of working in a technology-oriented career is the ability to be able to work remotely from anywhere in the world. The following job boards curate remote opportunities in technology.
We Work Remotely curates a selection of jobs that are online and remote, with a section dedicated to just programming jobs.
RemoteOk is another job board that curates different jobs where remote work is available. They have a large selection of technology jobs and they have a neat categorization of the highest paying remote jobs and the technologies involved with it.
AngelList curates a selection of startup jobs where it’s acceptable to work remote. Again, as with the rest of AngelList, most of the jobs revolve around earlier stage startups — so be aware of that as you browse through this selection.
Upwork is a curated marketplace where freelancers can meet potential employers. The entire process of payment, job search, and work management can be completely managed on Upwork. As a result, it can be a great place to find remote work in different technical fields.
Want more content like this? Be one of the first to get our Guide to Getting a Programming Job without a Degree!
You might have heard of artificial intelligence, deep learning and neural networks, and wanted to get a path into this exciting new technology. This article will help you get a comprehensive overview of the tools and frameworks you can use to accelerate your impact and learning in artificial intelligence. It will help you understand what deep learning library you should use to accelerate your learning.
This article assumes your familiarity with basic deep learning concepts — if you need to catch up on those, the following Wikipedia article will help you get to scratch.
This is a walkthrough of the most popular deep learning libraries, examples of clever projects and implementations that have used the different libraries to create something awesome.
I’ve ranked the deep learning libraries in question by the number of Github stars their repositories have collected as of June 2017 — a great way to see how much traction these different frameworks have with programmers.
Overview: TensorFlow is the open-source machine learning library developed by Google (and still used in both research and production level applications at the company). The library allows you to bring machine intelligence capabilities to all sorts of devices, from those equipped with GPUs to mobile devices such as the Raspberry Pi. With over open-source 6,000 repositories using TensorFlow, it has quickly become one of the most popular frameworks out there for those looking to build something with deep learning. TensorFlow is very accessible, with APIs for Python, C++, Haskell, Java, Go and Rust and a 3rd party package built in R.
Introductory Tutorial: Get introduced to TensorFlow with this official tutorial by Google by using TensorFlow with the famous MNIST dataset.
Use Cases: TensorFlow has become of the most popularized deep learning frameworks, and as such, it has seen a wide array of uses from powering cutting-edge machine learning work at different Silicon Valley companies to classifying cucumbers for farmers.
- This Github repository TensorFlow-World contains a bunch of introductory tutorials with code compiled together to give you a better sense of how to do deep learning on TensorFlow.
- TensorFlow-101 contains tutorials on how to get started with TensorFlow in Jupyter Notebook with Python.
- This Github repository contains example code that will help you work through different analyses in TensorFlow.
How to get started: Get all of the documentation and installation instructions here, then start practicing and training deep learning models on different datasets! TensorFlow is one of the most popular and powerful deep learning frameworks out there: take advantage!
Overview: Scikit-learn is the versatile machine learning knife in Python, used for simple experimentation and iteration with different templated machine learning models. With modules like the MLPClassifier, you can easily bring deep learning approaches to your datasets and use the rest of the trusty scikit-learn ensemble (such as train_test_split) to validate and evaluate your model. You can also combine the scikit-learn interface with different deep learning libraries if you want to do more powerful analyses.
Introductory Tutorial: This tutorial runs through how to use scikit-learn as a deep learning library and a multilevel perceptron model to classify different types of wine. You can see how with a few lines of code, you can create a very accurate model with many variables.
Use Cases: scikit-learn is often the first go-to deep learning tool for people working in the Python data science ecosystem: it comes pre-installed with Jupyter Notebook and it comes with powerful functions that are already-optimized versions of essential deep learning functions. You’ll be able to quickly build together machine learning models, evaluate them, and split different use cases into either test or training sets.
- This cheatsheet by Datacamp will help you with many of the essential functions in scikit-learn.
- Springboard has a tutorial that will teach you how to build a simple neural network with scikit-learn and its MLPClassifier module.
- This gentle introduction into scikit-learn can help you ease into this machine learning package.
How to get started: Use jupyter notebook, which comes with scikit-learn installed by default. Start training machine learning models, then move into Scikit Flow, an interface that combines the code you’d use in scikit-learn augmented with functionality from Google’s TensorFlow library (we’ll dive into TensorFlow a little bit later in this article).
Overview: Caffe is a deep learning framework built by Berkeley’s AI Research department (BAIR) and sustained through the use of community contributors. It features speedy application of deep learning approaches, with the ability to classify up to 60 million images a day on a single GPU. It powers a variety of deep learning projects in machine vision, speech and more — with projects ranging from fully fleshed out applications to academic papers.
Introductory Tutorial: This tutorial built by Berkeley AI researchers will help you get up to speed with this powerful deep learning framework.
Use Cases: Caffe is used for a variety of academic research — this web page has a ton of examples ranging from image classification to training the classic LeNet model.
- This blog post will help you get up to scratch with using Caffe and Python with a relevant classification example from Kaggle on how to distinguish between dogs and cats.
- This tutorial will help you with loading Caffe onto iPython Notebook and also with C++ implementations of the library.
- This tutorial will get you to understand how you can build a layer of a neural network within Caffe.
Overview: Keras is an open source deep learning library for neural networks written in Python. Authored by François Chollet, the library was meant to be a quick and easy way to experiment with different deep learning models — as a high-level API written entirely in Python, the library is easy to debug and navigate. It supports both convolutional and recurrent neural networks and it is designed to be as intuitive as possible for users to grasp.
Introductory Tutorial: This introductory tutorial will run over how to get started with Keras — all the way from installing the package to training a model with 99% predictive accuracy on the seminal MNIST dataset.
Use Cases: Most of the time, Keras is used to build simple deep learning models as conceptual sketches: you would validate crude ideas using Keras, and get a first glance at whether or not you had a good idea for a deep learning architecture that can tackle a problem.
- This course by DataCamp helps you dive deeper into Keras, even if you’re just a deep learning beginner!
- Here is a link to the official Keras documentation which allows you to get access to the inner working of the framework from the creators of it.
- If you’re more comfortable with the R programming language, you can use the R interface to Keras.
Overview: Torch is an open-source deep learning framework based on optimizing performance on GPUs based on the programming language Lua with an underlying C/CUDA implementation. It allows for the parallelization of neural networks across different CPUs and GPUs. Torch is used by a lot of organizations at the cutting edge of machine learning, from Google to Facebook. It has been extended for use in mobile settings, with the ability to perform on iOS and Android.
Introductory Tutorial: This 60 minute blitz into Torch will get you started and ready to use this powerful deep learning tool.
Use Cases: The deep learning library Torch is used for a lot of machine learning and deep learning research programs at leading companies such as Google, Twitter, and Facebook. Given its origins as Facebook Research’s default deep learning framework, you can be sure that it comes with all of the support it needs from one of the largest tech companies in the world.
You’ll want to get started understanding Lua before you work with Torch. This handy guide will help you get up to scratch.
This Github repository contains a whole host of Torch tutorials.
The following blog article by Facebook Research contains a lot of related work done in Torch.
Overview: Theano is a deep learning framework built deeply into the Python data science ecosystem, with deep integration with the NumPy numerical computing library. You can use C to generate code as well to make it even speedier — and it is the default teaching tool used in deep learning founding father Yoshua Bengio’s lab.
Introductory Tutorial: This Theano tutorial on Jupyter Notebook will help you understand the nuances of the deep learning library Theano, and will get you up to scratch with different conventions within the library.
Use Cases: This forum will allow you to understand different problems and use cases Theano users create with the deep learning library.
- This documentation will help you understand more about the deep learning library Theano.
- This blog post will help you understand the performance differences between Theano and Torch.
- Here is an introductory tutorial to Theano.
How to get started: Use the instructions here to get started with installing Theano.
Overview: Neon is an open-source deep learning platform built on Python that is committed to the most powerful implementation of deep learning possible, with a consideration towards simplicity.
Introductory Tutorial: Work with this Github repository which contains a Model Zoo that contains different scenarios of working with Neon.
Use Cases: This Youtube playlist walks through different use cases with Neon, including playing Pong, and speech recognition.
- Learn how to do basic classification with the MNIST database and the deep learning library neon with this introductory-level tutorial.
- Use this video course to get you started in Neon.
- This compilation of Neon resources will help you learn the framework.
How to get started: Get the deep learning library Neon installed with the following instructions.
Many people are seeking to learn data science these days. It’s become a trendy topic associated with high salaries and some of the most interesting problems in the world. This demand has created many different resources in the data science space. People have curated their selection of favorite resources to learn data science, but I was seeking out something more comprehensive — so I built this list. Here’s my attempt at getting you my favorite resources in the data science space so you can understand what’s going on in the field — and how you can get your hands dirty and start learning right away.
Full disclosure: I work for Springboard (one of the data science education providers listed below).
What is data science?
First, let’s start with an overview of what seems to have become a popularized buzzword and defining exactly what you want to learn: data science. Data science is the combination of three kinds of skillsets: statistics, programming and business knowledge. It’s the interplay between these crafts where you’ll find a data scientist — somebody who will programmatically examine large data sets for precious business insights — somebody who can combine computer science knowledge with business insight.
You can use data science concepts and training to do data mining and get statistical inferences from large datasets. Using advanced techniques such as natural language processing and unsupervised learning, you can tame the power of computation and get precious data insights others simply cannot access. That will be attractive to all sorts of potential employers in the data science field, from Silicon Valley to Wall Street.
In order to get there though, you have to start with the basic techniques and basic concepts that underlie data science. Learning data science requires having an understanding of the process that goes behind it, and the various components that are required to bring everything together. Let’s get started on getting you know that knowledge.
You’ll want to get an overview of the field and the processes and concepts that make up data science so you can learn data science.
In this seminal article, ex-Chief Data Scientist of the United States, DJ Patil, goes into exactly what makes a career in data science so compelling. It’s great fuel to the fire if you’re looking to learn data science.
This overview of data science by Berkeley delves into how data science came to be — and the average salary you can expect in the field.
O’Reilly, a leading publication and media company on the cutting edge of technology, dives deeper into what tools and factors go into higher data science salaries. They’ve surveyed hundreds of data scientists in the field. Learn what pays and what doesn’t with data science careers through their research!
Wikipedia’s overview of data science goes over the history of the field and points to many different resources in the field. It can be a handy jumping-off point for further research.
This piece by DJ Patil goes into the different roles inherent in a data scientist’s job — and exactly how best to build out a data science team.
This piece by Springboard goes into what the day-to-day of data science looks like — tracing it all the way to a first principles view of exactly what steps effective data science requires.
Now that you’re done with an overview of the topic, it’s time to get your hands a bit dirty with interactive tutorials that will help you learn different parts of data science — whether that’s the statistical theories behind machine learning algorithms, or the programming skills you’ll need to implement those theories.
Understanding probability and the basics of statistics is essential to being able to understand machine learning methods and how to handle massive amounts of data. Linear algebra and the ability to manipulate different expressions of data (in matrix form or otherwise) will also be incredibly helpful in detailing what data scientists do. You’ll want to refresh your statistics knowledge and get a handle on the math you need to know to join their ranks.
This free course from KhanAcademy serves as a great catch-up on the basics of probability and statistics.
Learn a bit of R (a programming language commonly used in data science) and statistics at the same time with this interactive walkthrough from Datacamp.
This Youtube playlist from the Harvard Extension School covers everything from random variables to different statistical distributions.
Knowing SQL and how to query from relational databases is a skill that is one of the building blocks of data science. You’ll often use SQL to source your data for further analysis — or even to transform your data on the spot.
Mode Analytics teaches SQL through the use of case studies with real data. It’s an interactive experience that’ll teach you the basics of SQL by having you run through a dataset with some simple yet powerful commands.
Codecademy, well known for its basic curated tutorials in different programming languages, has this simple interactive module that will help you learn SQL.
This is an older tutorial, but one that still holds up as an example of an organized approach to learning SQL.
Python is one of the workhorse languages of data science — one of the most popular along with R. The large open-source community that powers Python enables it to be a powerful, versatile programming language that can help facilitate everything from data wrangling to training powerful machine learning models. It’s a powerful tool you’ll want to learn as you learn data science.
13– Pandas Cookbook
This interactive set of code examples walks you through how to get started with Pandas, the data processing library most commonly used in Python. It’s built by Julia Evans.
This interactive course will walk you through the basics of the data science libraries for Python.
This gentle introductory tutorial will help you understand one of the most powerful machine learning and data science libraries out there: Python’s scikit-learn. You’ll be able to train simple, off-the-shelf data models in a matter of minutes.
This somewhat witty and whimsical walkthrough will help you explore the difference between the major data visualization tools in the Python ecosystem — including some options that were ported from R!
This short guide will teach you how to take information from different websites and render it into a format that is easy for machines to process — a handy skill for anybody looking to work with many different datasets. I often use the set of techniques described to scrape tables from Wikipedia so I can process that data in Python.
R is another popular programming language used for data science — in fact, it’s often pitted against Python as a comparable tool. The truth is that you can use both — and in fact, being conversant in both can only help you progress faster and further as a data scientist.
Here is the equivalent of the Datacamp introduction to Python — except this time for R, another common data science programming language.
This tutorial, rendered as a blog post, offers a comprehensive A to Z guide to getting started in R. It covers everything from importing data into R to creating predictive models with it.
20 – Try R
Sponsored by O’Reilly Media, this interactive course will reward you with a badge for each fundamental building block of R you learn.
Hadoop is a big data framework meant to facilitate the treatment and storage of large data sets that have be processed in parallel by many different servers in order to yield actionable insights.
This set of tutorials on Hadoop will help you understand how big data frameworks work — and how you can apply Hadoop to your data.
This interactive Hadoop sandbox by Hortonworks lets you play with Hadoop code.
Spark helps solve some speed, flexibility and efficiency issues with Hadoop through the use of a new data structure: the RDD or resilient distributed dataset.
TutorialsPoint offers a similar tutorial to Spark as it does for Hadoop.
Hortonworks has a sandbox that will let you play around with Spark code.
The following courses and online workshops will help you learn data science in an organized fashion. Use these resources to accelerate your learning of data science if you need to. A lot of these courses will help you find data science work, and you’ll likely be able to do data science projects after finishing them.
This massive online course, built by a Kaggle champion in machine learning, will help you learn about neural networks and how to train machine learning models.
This course offered by Springboard features a curated selection of resources in R, SQL and the basics of machine learning, as well as personalized mentoring from data science experts who work in the field.
Yet another course offered by Springboard, though this one is more advanced. Focused on Python and teaching the intricacies of machine learning methods, this course will help you use different machine learning techniques with ease.
Springboard’s Data Science Career Track is the first online bootcamp to offer a data science job or your tuition back. With personalized career coaching, mentorship from data scientists and exclusive employer partnerships, Springboard is putting it all on the line to help you get a job in data science.
Coursera partnered with Johns Hopkins University to deliver this nine-course series on data science, covering everything from tools to advanced machine learning methods.
This curated set of machine learning courses taught by Andrew Ng (the famous Stanford professor who founded Coursera in the first place) is one of the best resources to consult as you start understanding data science.
Thinkful, an online education provider, provides a data science bootcamp that will curate your learning of data science and Python.
Udacity offers a free mini-course curated by Facebook and Tableau to help guide you through to doing analysis of the Enron email database.
This data science certificate offered by the Harvard Extension School can help you learn data science while getting credits and credibility from one of the leading universities in the world.
This selection of courses created in partnership with Duke University will help you understand basic probability and the use of Bayes’ Rule through the use of R.
This set of curated learning paths in data science can help you get accreditation in the field — if you’re willing to pay for it.
The Insight Data Science Fellowship is a special type of data science education program — it takes talented PhD. students who have already demonstrated technical skills and aptitude, and helps them bridge the gap between academia and industry with a postgraduate fellowship that combines the best of academic rigor with industry knowledge.
General Assembly, one of the largest online education providers in the world, offers courses in data science.
If you’re looking for an in-person experience to learn data science instead of something online, Galvanize can help. This link leads to the San Francisco experience — however, Galvanize itself is present in many different other cities.
Here are some reviews of different data science courses in Coursereport — this will allow you to pick and choose between many different options with fair reviews from previous students on display.
Here are some more reviews of different data science courses, this time from Switchup, another course review site.
Oftentimes it’s not a great course that helps you learn the most — it can be one single resource within that course — say a particularly well-written book. This selection of data science books can help you understand data science in detail.
This book, delivered as an extended Github repository, can help you understand Bayesian inference and how to think about probabilities by working through them in code.
42– Think Stats
This O’Reilly book helps you conceptualize statistical concepts by having you work with them in Python.
43– Think Bayes
This book combines Python programming with Bayesian inference, and can be a handy resource in case the books above aren’t enough.
44– Deep Learning
This free technical book by some of the scions of deep learning and artificial intelligence (Ian Goodfellow, Yoshua Bengio and Aaron Courville) will help you understand exactly how to think about deep learning and neural networks.
In case you need a refresher on Python, Learn Python the Hard Way will help you break down exactly what you need to do to master Python. While it focuses on an older version of Python, the first principles taught here can be useful to those looking to freshen up their knowledge of Python — though you shouldn’t become overly dependent on this book as it has quite a rigid philosophy on one particular version of Python.
This Data Science Handbook curates insights from 25 data science leaders and distills what it truly means to work in this exciting new field.
This book from O’Reilly goes into the first principles of data science, looking beyond the programming tools and frameworks.
This book will help you visualize insights that you find within your data and teach you how to communicate them effectively so that you can drive impact with your data findings.
Roger D. Peng, an expert in statistics, has written this book to teach how to look through datasets with the R programming language.
This online book will teach you how to use frameworks such as D3.js to make your visualizations fully interactive on the web.
This book by Andrew Ng, the famous artificial intelligence leader who founded Coursera, is going to be released soon — sign up to get drafts of new chapters as they come in!
I know you’re looking for curated resources to learn data science. There’s more than just this list right here — and each collection will help you expand your knowledge and collection of great data science resources even further.
This Github repository follows the “Awesome” method of curating the best resources in a particular space — in this case, all the different resources you’d need to learn machine learning.
In case you ever wanted to get a handle on the science behind the amazing technology being built out of artificial intelligence, this awesome curation of deep learning papers will help you continually be on top of exciting new developments.
TensorFlow is an awesome deep learning framework: this Github repository will have everything you need to learn more.
This repository is everything it promises: an awesome curation of different data science resources.
This learning path curates different resources in an intuitive fashion so that you can learn the data analysis skills required for data science.
This is a curated curriculum of free, open-source resources to learn data science — consider it a masters’ degree for a fraction of the price.
This interactive, visual view of data science in action can help you conceptualize data science, especially if you prefer to learn visually.
This paper summarizes some of the latest findings in deep learning and artificial intelligence and it is written by one of the founding fathers of modern artificial intelligence research: Geoffrey Hinton.
This fun little tutorial by O’Reilly will teach you how to build a computer that you can use specifically for data science purposes.
This Quora thread contains different thoughtful replies on how to become a data scientist — and includes a bevy of free resources to boot!
This blog charts the author, Renee, and her path from being a SQL analyst to becoming a full-fledged data scientist.
Becoming a data scientist is now a career path that many envy — however, getting started and placing yourself in a position where you are paid to practice data science doesn’t start and end with technical skills. Here’s a set of resources that will help spell out exactly what you need to do to have a successful data science career.
This salary survey by O’Reilly was curated from about 600 respondents who divulged their salary and what they did at work. It’s an informative read on what the average salaries are like in data science and what factors or technical skills can either increase your data science salary — or set it on the path to stagnating.
We already highlighted the 2016 survey as part of our general overview of data science, but the 2015 survey will add even more context on how the data science industry works — and how much you should expect to be paid.
This guide to Data Science Jobs by Springboard curates a variety of job seeker and hiring manager stories and seeks to inform you on every element of what it takes to get a data science job: from how to get hiring managers to notice your profile, to advice on what technologies and skills you should practice before doing a data science interview.
This companion guide to the Guide to Data Science Jobs by Springboard runs you through different interview questions and exactly what hiring managers are thinking when they are on the other side of the table. It’s a comprehensive overview of the data science interview process — and it provides you actionable tips on how to ace the data science interview.
This blog post goes over different general tips on how to get that first job in data science.
This blog post by Springboard breaks down the difference between data analysts, data scientists and data engineers.
In order to really get started and to learn data science, you have to have datasets to play with. The following resources will link you to different datasets you can experiment with as you’re learning data science techniques and putting them into practice.
This curated list of 19 free public datasets will help you get started on your path to learn data science!
69– Kaggle Datasets
This list of datasets curated by Kaggle comes with upvote functionality as well as comments, so you can exactly which datasets are the most exciting — and what work has already been done with them.
70– Reddit Datasets
This subreddit can be a handy way to pick out new datasets, and see some of the most popular ones.
This new social network has evolved around sharing great datasets and bringing data fans together!
Google BigQuery has open-sourced some interesting big data sets–from Reddit comments to Github activity.
Quandl is a search engine mostly used for financial and economic data. Comb through if you’re looking in that space for data to play with.
This curated list of big datasets can help you practice with Hadoop or Spark.
75– Wikipedia dumps
Wikipedia dumps data from its database and makes it free to analyze every so often. Sift through here if you want to query the world’s largest collection of knowledge on your quest to learn data science.
76– Open Street Map
This collection of open-source geographic data extends around the world in its reach!
Resources/Blogs to Follow
You’ll want to keep an eye on different resources and blogs that update frequently as you learn data science. This ensures that you’re always on top of the latest developments — and it can be a stimulating way to keep your data science skills sharp.
This is a list of data science influencers you’ll want to consider following to get to know more about the industry.
This curated list of data science blogs will help you find the best blogs to follow as you learn data science.
This larger, extended guide to data science blogs has a lot more entries — feel free to take a look if you feel like you want something comprehensive to digest.
KDNuggets is one of the largest data science communities on the web, and their blog regularly posts interesting data science content.
R Bloggers is a data science blog focused on tutorials to learn R and different resources in the R ecosystem.
Dataconomy focuses on larger trends in data science rather than many technical tutorials. It’s the data science blog with the largest focus on the European data science scene as well.
83– Analytics Vidhya
Analytics Vidhya contains plenty of technical tutorials on many data science topics.
Big Data Made Simple is a relatable blog that conveys different topics in data science in an approachable manner.
85– Yhat blog
The Yhat blog is always filled with interesting tutorials and data science case studies.
Machine Learning Mastery focuses on the intricacies of machine learning.
Learndatasci is a blog that offers a broad overview of different data science topics.
Mastersindatascience is the resource to consult if you wanted to look at paid offerings to learn data science.
If you want regular updates in your inbox on the latest news in data science, there’s no better way to do that than to subscribe to the following data science newsletters.
89 – Data Science Weekly
This weekly newsletter summarizes the latest tutorials and resources in data science. It’s a very useful resource if you’re looking to learn data science.
90– Data Elixir
Another data science newsletter that will keep you informed on the latest happenings in data science.
91– Python Weekly
This weekly Python newsletter curates a selection of the finest Python resources, many of them related to data science.
This handy newsletter promises to be a one-stop shop for you when it comes to big data trends.
Mode Analytics provides a dispatch to keep you informed on all things analytics and BI-related.
94- Postgres Weekly
This Postgres Weekly newsletter keeps you informed on the latest Postgres updates.
A premium data science newsletter, O’Reilly will often curate the best data science resources that have popped up.
While newsletters and blogs are great, interactive communities where participants share articles and comment on them together can truly help you entrench your data science knowledge. Here are just a few of those communities where you can learn data science and interact with different data science practitioners.
Datatau is a sort of Hacker News for data science resources where data science practitioners discuss the latest news and upvote the best articles.
This subreddit deals with general data science topics.
This subreddit deals with more in-depth machine learning materials and discussions.
This subreddit deals with how to learn artificial intelligence and deep learning.
This subreddit contains impactful data visualizations that are visually appealing — and a true set of examples if you want to display your data in a beautiful manner.
This subcomponent of the Stack Exchange network deals with technical questions and solutions in data science.
102– Quora Data Science
This section of Quora is composed of many of the questions posed about data science — it is an awesome resource for those looking to learn data science.
Hopefully the resources above have been helpful for you to learn data science: let me know in the comments below what you think about them or whether you think there are some I missed!
Learn Machine Learning
A friend of code(love), Matt Fogel is doing awesome things with machine learning at fuzzy.io. He’s shared this valuable list of resources to learn machine learning that he usually gives his friends who ask him for more information.
You’ll see his original post here: https://medium.com/@mattfogel/master-the-basics-of-machine-learning-with-these-6-resources-63fea5a21c1c#.ta2bhsq8y
Great blog posts, podcasts and online courses to help you get started
It seems like machine learning and artificial intelligence are topics at the top of everyone’s mind in tech. Be it autonomous cars, robots, or machine intelligence in general, everyone’s talking about machines getting smarter and being able to do more.
Yet for many developers, machine learning and artificial intelligence are dense terms representing complex problems they just don’t have time to learn.
I’ve spoken with lots of developers and CTOs about Fuzzy.io and our mission to make it easy for developers to start bringing intelligent decision-making to their software without needing huge amounts of data or AI expertise. A lot of them were curious to learn more about the greater landscape of machine learning.
You can describe machine learning as using techniques to help computers learn new ways of uncovering insights from data. This deep dive into the topic will explore many elements outside of this short guide if you’re interested in learning more.
What you need to understand before you learn machine learning is that it’s not a magic buzzword that will help solve every problem with you. Machine learning is a practical way to get more data insights with less work. Nothing more, nothing less.
To quote a professor in the field, “Machine learning is not magic; it can’t get something from nothing. What it does is get more from less. Programming, like all engineering, is a lot of work: we have to build everything from scratch. Learning is more like farming, which lets nature do most of the work. Farmers combine seeds with nutrients to grow crops. Learners combine knowledge with data to grow programs.”
If that excites you, here are some of the links to articles, podcasts and courses about machine learning that I’ve shared with my friends who were eager to learn more. I hope you enjoy!
This guide, written by the awesome Raul Garreta of MonkeyLearn, is perhaps one of the best I’ve read. In one easy-to-read article, he describes a number of applications of machine learning, the types of algorithms that exist, and how to choose which algorithm to use.
This piece by Stephanie Yee and Tony Chu of the R2D3 project gives a great visual overview of the creation of a machine learning model that determines whether an apartment is located in San Francisco or New York based on the traits they hold. It’s a great look into how machine learning models are created and how they work in practice.
3– Data Skeptic
A great starting point on some of the basics of data science and machine learning. Every other week, they release a 10–15 minute episode where the hosts (Kyle and Linhda Polich) give a short primer on topics like k-means clustering, natural language processing and decision tree learning. They often use analogies related to their pet parrot, Yoshi. This is the only place where you’ll learn about k-means clustering via placement of parrot droppings.
This weekly podcast, hosted by Katie Malone and Ben Jaffe, covers diverse topics in data science and machine learning. They teach specific advanced concepts like Hidden Markov Models and how they apply to real-world problems and datasets. They make complex topics extremely accessible, and teach you new words like clbuttic.
Plan for this online course to take several months, but you’d be hard-pressed to find better teachers than Peter Norvig and Sebastian Thrun. Norvig quite literally wrote the book on AI, having co-authored Artificial Intelligence: A Modern Approach, the most popular AI textbook in the world. Thrun’s no slouch either. He previously led the Google driverless car initiative.
This 11-week long Stanford course is available online via Coursera. Its instructor is Andrew Ng, Chief Scientist at Chinese internet giant Baidu and one of the pioneers of online education.
This list is really only scratching some of the complex and multifaceted topic that is machine learning. If you have your own favorite resource, please suggest it in the comments and start a discussion around it!
Python is one of our favorite languages at code(love). Versatile, and yet easy to grasp, it’s one of the best languages at expressing the logic behind code with a simplicity that is sometimes breathtaking in its elegance.
If you happen to be more practical, Python always ranks among one of the programming languages that draws the highest median annual salaries, hovering around the magic $100,000 USD mark.
Despite how simple it is, Python is also surprisingly powerful. It can help introduce you to the basics of machine learning, it can slice and dice relatively big datasets for you, and it can even help you build entire web platforms. Pinterest often uses Python to serve millions of images around the world.
The language itself grows ever more versatile with its community. If you want to join this healthy, vibrant network of builders and learn how to do awesome things with Python, you’ve come to the right place. Here are eleven places you should start.
Learn Python the Hard Way was my first introduction to Python and several programming concepts. Author Zed A. Shaw made the book accessible online for free, but he has a special place in his heart and inbox for people who pay the small sum of $29.95. The practical exercises within are well worth going through. Make sure you write out as much of the code as possible: it’s only through mastery of the basics that you can become an expert.
If you’re more of a visual learner, you can learn about the fundamentals of using Python for the web with this excellent free Udacity course. Of course, there’s more where that came from, with a variety of courses from everything to data fundamentals in Python to machine learning. I went through the series myself, and though it’s a bit long (and there are a lot of exercises that I didn’t think added that much value), the end result was that I came out of the tutorial with a deeper understanding of how data moves across the web.
This might be a little bit meta, but I love lists of resources. One of the hidden secrets to finding those great resources are going through Github repositories. Github is the Google Docs of code, a great collection of “repositories” where coders can “commit” their code to a shared codebase. It’s also a place where people love compiling great collections of programming resources.
This particular link above is a favorite collection of mine. I hope you enjoy it as much as I do.
Anaconda and iPython Notebook are what I commonly refer to as the “Excel” of Python. It can be hard to work with the Python interpreter (the command line prompt where you enter Python code if you install it from Python.org) as is. You can’t really refer back to the work that you’ve done before very easily without saving a whole variety of Python files, and it can be pretty hard to share your code with the web at large in HTML form, especially with different charts and graphs and a structured flow you want to convey that goes beyond just one Python script.
iPython Notebooks allow you to write your code in Notebook form.
Anaconda and iPython Notebook make it intuitive and visually appealing to organize different Python software modules, and bring them together so that you can work and show your results as easily as possible with nbviewer, which generates a HTML version of your Notebooks that you can share on Github. A lot of popular modules we talk about like Pandas are pre-installed, saving you some time. When you click on the next link, you’ll see exactly what it looks like using iPython Notebook.
Built on the aforementioned iPython Notebook, Julia Evans has created a “cookbook” for the Pandas module, a collection of Python code that can help you handle relatively large data sets with ease.
Python can only help you process what you can fit in memory on your computer, but that’s more than enough for most of your data needs. Pandas will help you efficiently process that data: you’ll be able to read from very large CSVs and clean them up so you can find great data insights and visualize them (more on that in point #10!)
Flask is what is termed as a micro-framework, a set of code that you can lean on to build small web projects. It has a bunch of reuseable components that help you build interactive websites that can both receive and transmit data. Give it a try: in a few lines of codes, you can get something interactive going on the web!
If you’re tired of the word micro, and want to go with a full web framework, build something with Django! Django is used to this day to build very large websites including Pinterest, and Instagram.
We had a list of learning resources before on Github, now we can explore a list of the things that make Python awesome! I especially love using Python to play with Application Programming Interfaces or APIs. APIs are a set of rules for servers to communicate data with one another: what this means is that with Python, you can scrape your personal fitness information from your Fitbit or work with Google Sheets automation easily. You can do anything that involves getting data from a server willing to give it to you.
You’ll find a list of really cool APIs above that will allow you to play with all sorts of cool data!
Have you heard of machine learning? It’s all the rage today and the reason why is because it allows you to do more with less. By having machines learn patterns in your data and by being able to infer conclusions from smaller data sets to larger populations with their insights, machine learning lets you know more about the world around you with less data points.
This Github repository offers a fantastic dive into the fundamentals of machine learning, and gets you to practically embark on your machine learning adventure with sample code sets.
Data doesn’t mean anything unless you can storytell with it. You can throw all the numbers in the world at people but it won’t mean they’re any closer to understanding your point. You really have to break down your data into meaningful chunks for it to go anywhere.
Thankfully, Plot.ly can help with that. With a few lines of Python, you’ll be well on your way to doing bar graphs, charts, and figures of all kinds.
Now that you’re done learning all of the fun stuff in Python, it’s time to put yourself up to the test! Use HackerRank challenges to test your skills: you could even get a job out of it!
HackerRank allows you to complete problems in the coding language of your choice and allows you to demonstrate your skill with clean code that solves problems in a short amount of time.
Python is a wonderful language for programming beginners, and powerful enough to explore multiple areas of data, machine learning, artificial intelligence and other advanced computer science concepts. It’s the perfect mix for anybody who is getting into programming or who wants to develop their skills further. With these resources you’ll be able to learn and work with Python!
Share this list of resources if it can help somebody–and let me know what else could be added to this list in the comments 🙂
Source for featured image: http://www.slideshare.net/audreyr/python-tricks-that-you-cant-live-without
I’m a big fan of playing with data.
In my earlier corporate life, I often used Excel to look through thousands of lines of spreadsheet goodness. I assumed what I was doing was “big data”, and I prided myself on my association with a trendy buzzword.
I know better now. A lot better.
If you’ve ventured here, you’re probably looking into data science, the mysterious science that seems to verge on mysticism in the press. The virtues of data are constantly praised as innovative and disruptive. They seem like the domain of an exclusive few practitioners lifting numbers into actionable insight.
Harvard Business Review went as far as to saying that the data scientist was the sexiest job of the 21st century.
It seems that data scientists create many of the most exciting projects at the cutting-edge of technology. The people you may know on LinkedIn appear thanks to data mining. Amazon’s book recommendations rely on computers to mine your book preferences and select the one book that is most likely to appeal to you. Facebook finds what posts you like, and serves you more of the same. Google finds out who you are, and filters search results and ads for you.
If I like computers, the search term Python will return me the programming language. If I like snakes, it will return me a whole bunch of snakes.
This is all down to the magic of data mining. You’re here because you want to look behind the veil and learn how to do all this.
It’s hard, but not as hard as you think. Data science, at its’ core, is all about using computing power to parse through huge data sets.
Here are nine free, brilliant resources to do just that.
1- Coursera’s Specialization in Data Mining (level: beginner)
Coursera brings the best from the University of Illinois at Urbana-Champaign, ranked in the top 5 for computer science schools in America. It’s a useful introduction to data mining–the application of data science and computing power to find patterns in large collections of data.
2- A UCLA professor’s overview of data mining (level: beginner)
This blogpost delves deep into the specifics of data mining. It provides an overview and a set of definitions that will help bring you up to scratch.
3-Introduction to R (level: beginner)
The coding language R is the workhorse of scientific data analysis and visualization. Codeschool offers an interactive and gamified approach to learn it, similar to Codecademy. Working with R will give you insight into how to move and dance with digital data, a skill that is the foundation of data science.
4- Kaggle’s Wiki on Python (level: beginner)
Kaggle is a platform for crowdsourced data challenges. The website has a ton of resources on how to get started with data science. This particular link leads to their guide on Python, one of the most versatile programming languages for data analysis.
5- Data Science 101 (level: beginner)
This blog knows how to describe itself: “Data Science 101 is about learning to become a data scientist.” Simple, clear and to the point.
6- W3’s Tutorial on SQL (level: beginner)
W3 hosts a bunch of interactive tutorials on the basics of programming. This set of tutorials goes through SQL, a language that allows you to access data from most web databases. The tutorials will give you a glimpse into how data is structured for many websites and they will give you enough knowledge so that you would know how to play with data.
7-Horton’s Hadoop Sandbox (level: intermediate)
Have you ever wanted to play with big data? Learn the basics here and experiment with them. Hadoop helps distribute data across multiple servers, helping to process large amounts of data as seemlessly as possible.
8- Machine Learning on Coursera with Andrew Ng (level: intermediate)
Learn about data mining and the algorithms you can create to make your data analysis job so much easier from a master in the field: the founder of Coursera Andrew Ng, a Stanford professor who has recently become Baidu’s chief scientist.
9- A Programmer’s Guide to Data Mining (level: advanced)
If you can work with Python at a proficient level, this book will help you implement different algorithms that will sort, filter, and manipulate your data for you. A must-read for people looking into the practical applications of data mining.
I hoped that helped get you set on the path to data mining. What resources do you think I’m missing? Comment below. 🙂