Last month, I delivered the one-day workshop Practical AI for the Working Software Engineer at the Artificial Intelligence Live conference in Orlando. As the title suggests, the workshop was aimed at developers, bu I didn't assume any particular programming language background. In addition to the lecture slides, the workshop was delivered as a series of Jupyter notebooks. I ran them using Azure Notebooks (which meant the participants had nothing to install and very little to set up), but you can run them in any Jupyter environment you like, as long as it has access to R and Python. You can download the notebooks and slides from this Github repository (and feedback is welcome there, too).

The workshop was divided into five sections, each with its associated Notebook:

- The AI behind Seeing AI. Use the web interfaces to Cognitive Services to learn about the AI services behind the "Seeing AI" app
- Computer Vision API with R. Use an R script to interact with the Computer Vision API and generate captions for random Wikimedia images.
- Custom Vision with R. An R function to classify an image as a "Hot Dog" or "Not Hot Dog", using the Custom Vision service.
- MNIST with scikit-learn. Use sckikit-learn to build a digit recognizer for the MNIST data using a regression model.
- MNIST with Tensorflow. Use Tensorflow (from Python) to build a digit recognizer for the MNIST data using a convolutional neural network.

The workshop was a practical version of a talk I also gave at AI Live, "Getting Started with Deep Learning", and I've embedded those slides below.

Azure Notebooks: Practical AI for the Working Software Engineer

If you'd like to learn the fundamentals of Artificial Intelligence applications, a new course is now available free on EdX. Introduction to Artificial Intelligence (AI), presented by Microsoft, will teach you the fundamental Machine Learning techniques that form the basis of AI applications, and how to implement applications like text and speech interpretation, computer vision, and interactive chatbots.

The course is self-paced, but completing it by the end of this year gives you the benefit of feedback from course staff and other students in the discussion forums. No prior programming knowledge is assumed, but as some of the examples are presented in Python some experience there would be advantageous. You'll also need a Microsoft Azure account to use cloud-based APIs and services during the course (but it will explain how to set up a free Azure trial account if you don't already have one).

You can find more information about the course in this post in the Cortana Intelligence and Machine Learning Blog, or sign up for the course at EdX using the link below.

Rafael Irizarry from the Harvard T.H. Chan School of Public Health has presented a number of courses on R and Biostatistics on EdX, and he recently also provided an index of all of the course modules as YouTube videos with supplemental materials. The EdX courses are linked below, which you can take for free, or simply follow the series of YouTube videos and materials provided in the index.

**Data Analysis for the Life Sciences Series**

- Statistics and R
- Introduction to Linear Models and Matrix Algebra
- Statistical Interference and Modeling for High-throughput Experiments
- High-Dimensional Data Analysis

A companion book and associated R Markdown documents are also available for download.

**Genomics Data Analysis Series**

- Introduction to Bioconductor: Annotation and Analysis of Genomes and Genomic Assays
- High-performance computing for reproducible genomics with Bioconductor
- Case Studies in Functional Genomics

For links to all of the course components, including videos and supplementary materials, follow the link below.

rafalab: HarvardX Biomedical Data Science Open Online Training

The Consumer Data Research Centre, the UK-based organization that works with consumer-related organisations to open up their data resources, recently published a new course online: An Introduction to Spatial Data Analysis and Visualization in R. Created by James Cheshire (whose blog Spatial.ly regularly features interesting R-based data visualizations) and Guy Lansley, both of University College London Department of Geography, this practical series is designed to provide an accessible introduction to techniques for handling, analysing and visualising spatial data in R.

In addition to a basic introduction to R, the course covers specialized topics around handling spatial and geographic data in R, including:

- Making maps in R
- Mapping point data in R
- Using R to create, explore and interact with data maps (like the one shown below)
- Performing statistical analysis on spatial data: interpolation and kriging, spatial autocorrelation, geographically weighted regression and more.

The course, tutorials and associated data are freely available (a free registration to the CDRC website is required, however). You can access the course materials at the link below.

CDRC: An Introduction to Spatial Data Analysis and Visualisation in R

If you're already familiar with R, but struggling with out-of-memory or performance problems when attempting to analyze large data sets, you might want to check out this new EdX course, Analyzing Big Data with Microsoft R Server, presented by my colleague Seth Mottaghinejad. In the course, you'll learn how to build models using the `RevoScaleR`

package, and deploy those models to production environments like Spark and SQL Server. The course is self-paced with videos, tutorials and tests, and is free to audit.

(By the way, if you don't already know R, you might want to check out the courses Introduction to R for Data Science and Programming in R for Data Science first.)

The RevoScaleR package isn't available on CRAN: it's included with Microsoft R Server and Microsoft R Client. You can download and use Microsoft R Client for free, which provides an installation of R with the `RevoScaleR`

library built in and loaded when you start the session. An R IDE is also recommended: you can use R Tools for Visual Studio or RStudio.

The course is open now, and you can get started at EdX at the link below.

EdX: Analyzing Big Data with Microsoft R Server

If you'd like to learn how to run R within Azure Machine Learning and SQL Server, you may be interested in these upcoming 4-day Practical Data Science courses, presented by Rafal Lukawiecki from Project Botticelli.

In this classroom-based course, you will learn machine learning, data mining, some statistics*,* data preparation, and how to interpret the results. You will also learn how to formulate business questions in terms of data science hypotheses and experiments*,* and how to prepare inputs to answer those questions. Rafal will share his decade of hands-on experience while teaching you about Azure Machine Learning (Azure ML) which is the foundation of Cortana Analytics Suite, and its highly-visual, on-premise companion, the SQL Server Analysis Services Data Mining engine, supplemented with the free Microsoft R Open and Microsoft R Server software. By the end of this course you will be able to plan and run data science projects.

For more information on the courses and local details, follow the links to the host city below:

If you want to get started doing data science with R in the cloud, a good place to start is Stephen Elston's free O'Reilly report, Data Science in the Cloud with Azure ML and R. But if you learn better with a show-and-tell approach, he now also has an O'Reilly Video Training course, Data Science with Microsoft Azure and R. The first part of the course is free, and includes an overview of Azure ML Studio (the browser-based drag-and-drop data science workflow tool), using the built-in data import, manipulation, and modeling modules in Azure ML, and using the Execute R Script node to run custom R code. Stephen takes you through the step-by-step process of writing and testing the R code in R studio, then running it as part of the workflow with ML Studio.

The remainder of the course must be purchased to view (current price is USD$119.99), and covers advanced R topics including the dplyr and ggplot2 packages, statistical modeling (including regression, time series and random forests), and writing functions in R. There's also a chapter on publishing Azure ML models as Web services. To get started with the free part of the course, follow the link below.

O'Reilly Video Training: Data Science with Microsoft Azure and R

by Joseph Rickert

Early October: somewhere the leaves are turning brilliant colors, temperatures are cooling down and that back to school feeling is in the air. And for more people than ever before, it is going to seem to be a good time to commit to really learning R. I have some suggestions for R courses below, but first: What does it mean to learn R anyway? My take is that the answer depends on a person's circumstances and motivation.

I find the following graphic to be helpful in sorting things out.

The X axis is time on Malcolm Gladwell's "Outliers" scale. His idea is that it takes 10,000 hours of real effort to master anything, R, Python or Rock and Roll Guitar. The Y axis lists increasingly difficult R tasks, and the arrows within the plot area are labels increasingly proficient types of R users.

The point I want to make here is that a significant amount of very productive R work happens in the area around the red ellipse. So, while their is no avoiding "10,000" hours of hard work to become an R Jedi knight, a curious and motivated person can master enough R to accomplish his/her programming goals with a more modest commitment. There are three main reasons for this:

- R's functional programming style is very well suited for statistical modeling, data visualization and data science tasks
- The 7,000
^{+}packages available in the R ecosystem provide tens of thousands of functions that make it possible to accomplish quite a bit without having to write much code - Numerous, high quality books and online material devoted to teaching statistical theory and data science with R

If you have some background in some area of statistics or data science a viable strategy for learning R is to identify a resource that works for you and just jump into the middle of things, picking up R as you go along.

The lists below link to courses that can either start you on a formal programming path, or help you become a productive R user in a particular application area. Some of the courses are "live events" that you take with a cohort of students, others are set up for self study.

The courses devoted to teaching R as a programming language are

- The Data Scientist’s toolbox
- R Programming
- Introduction to R Programming
- Introduction to R
- R Programing - Introduction 1
- Introduction a la programacion estadistica con R
- O’Reilly Code School

The first two courses above are from Coursera's Data Science Specialization sequence. Taught by Roger Peng, Jeff Leek and Brian Caffo they are probably the gold standard for MOOC R courses. I am a little late with this post. The Data Scientists's toolbox started this past Monday but there is still time to catch up. The third course, Introduction to R Programming, is a relatively new edX course from Microsoft's online offerings that is getting great reviews. The fourth course on the list a solid introduction to R from DataCamp. R Programming - Introduction 1 is a beginner's introduction to R taught by Paul Murrell or Tal Galili. Next listed, is a Spanish language introduction to R from Coursera and O'Reilly's interactive Code School course.

These next three lists contain courses from DataCamp and statistics.com and online resources from R Studio that introduce more advanced features of R by buildng on basic R programming skills. Note that the final course on the DataCamp list introduces Big Data features of Revolution R Enterprise which is available in the Azure Marketplace.

- Intermediate R
- Data Visualization in R with ggvis
- Data Manipulation with dplyr
- Data Analysis in R, the data.table Way
- Reporting with R Markdown
- Big data Analysis with Revolution R Enterprise

This next section lists courses from the major MOOCs, and non-MOOCs DataCamp and statistics.com that use R to teach various quantitative disciplines

**Coursera Courses**

- Data Analysis and Statistical Inference
- Developing Data Products
- Exploratory Data Analysis
- Getting and Cleaning Data
- Introduction to Computational Finance and Financial Econometrics
- Measuring Causal Effects in the Social Sciences
- Regression Models
- Reproducible Research
- Statistical Inference
- Statistics One

**edX Courses**

- Data Analysis for Life Sciences 1: Statistics and R
- Data Analysis for life Sciences 2: Introduction to Linear Models and Matrix Algebra
- Data Analysis for life Sciences 6: High-performance Computing for Reproducible Genomics
- Explore Statistics with R
- Sabermetrics 101: Introduction to Baseball Analytics

**Udacity Course**

DataCamp

statistics.com

Finally, here are a couple of google apps and Swirl, a new platform for teaching and learning R that may be useful for learning on the go.

It's time to "go back to school" and make some headway against those 10,000 hours.

Microsoft is sponsoring another free MOOC starting on September 24: **Data Science and Machine Learning Essentials**. This course provides a five-week introduction to machine learning and data science concepts, including the open-source programming tools for data science: R and Python. (Read more about the course in this post on TechNet.) This course is organized into 5 weekly modules, each concluding with a quiz (and if you wish, can purchase a verified certificate from edX to show off your passing grade).

The course is presented by Cynthia Rudin (Professor of Statistics at MIT) and Steve Elston (author of Data Science in the Cloud with Azure ML and R), who will also participate in the course forum, and host office hours to answer questions that come up during the course.

If you're new to R, you might want to get prepared by reviewing the materials from the previous Microsoft-sponsored edX course, Introduction to R. The new course on Data Science Essentials begins online on September 24, and you can register for free at the link below.

by Ari Lamstein, Software Engineer and Data Analyst

Creating an email course for my R packages has significantly increased the number of people who use the packages. It has also reduced the learning curve for the packages and brought me into greater contact with my users. In this post I will share the 5 steps I took to create my course *Learn to Map Census Data in R*.

My hope is that this will encourage other package authors to create similar courses, which will in turn improve the accessibility of R to the public.

Before explaining the steps, though, I’d like to share how the course came to be. When I first started blogging in March I took John Somnez’s free email course on blogging. I found the format to be both novel and effective. The lessons were small, well spaced and contained manageable homework assignments. Also, following up with John was as easy as hitting “reply” on the email. So when I started getting requests for an online version of the tutorial I ran in May, I decided to create my own email course.

Your course needs an online “home” where you can announce it, people can signup, and so on. WordPress has become the most popular option for this. While you can host your site for free at wordpress.com, it will limit the amount of customization you can do. I pay $3.49/month to host my site with bluehost. Bluehost allows me to customize the site in any way I see fit.

After creating your blog, be sure to add it to R-bloggers. This will make your posts immediately visible to the R world.

WordPress comes with functionality that allows anyone to subscribe to your blog. This allows them to be emailed when you publish new posts. Email courses, however, are more complicated than this. You want people to receive a series of pre-written emails that are spaced over several days.

To achieve this I use the email automation feature in MailChimp. It costs $10/month. Automation (sometimes called “autoresponders”) is now a fairly standard feature among email providers. Other companies in the space are AWeber and Drip.

How you structure your course is up to you. When creating an automation MailChimp defaults to five emails. I decided to stick with that, which meant that the first email would be an introduction and the last email would be a conclusion. This left three emails to be the main content of the course. What were the three most important things I wanted people to learn? My answer was: “Create maps of census data for states, counties and ZIP codes.”

My next question was how to structure the lessons. In each email I walk thru one example and then assign a closely-related homework assignment. Because I want to communicate with my students, and because one-to-one email doesn’t scale, I asked people to tweet me their solutions using the hashtag #CensusCourse. This format seems to have worked well.

Now that you have a course you need people to sign up for it. Signup forms (or “Opt In Forms”) are the forms that make this happen. The signup form needs to be clearly visible and easy to understand while while not being spammy. There are countless WordPress plugins for this. I personally like Optin Cat, which is free

Once people can sign up for your course you need to announce it to the R community. I recommend writing a blog post that explains the goal and lessons of the course in some detail. You can see the post I wrote introducing my course here.

Note that if your blog is a part of R-bloggers (see Step 1) then a large number of people will automatically know about your course. I also recommend tweeting about your course with the hashtag #rstats.

These are the 5 steps I took to create my R email course *Learn to Map Census Data in R*. While some industries have embraced email courses as a way to introduce people to a product, it has not yet caught on for R packages. That being said, my experience using it has been very favorable. More importantly, my users seem to have really enjoyed it. I hope that after reading this post more package authors give email courses a try, and that it leads to greater engagement in the R community.

*Ari Lamstein is a Software Engineer and Data Analyst in San Francisco. He blogs at *AriLamstein.com. *You can sign up for his free email course *Learn to Map Census Data *here*.