Collaborating Authors


Functional Programming Principles in Scala Coursera


About this course: Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera. In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks.

R Programming Hands-on Specialization for Data Science (Lv1)


R is considered as lingua franca of Data Science. Candidates with expertise in R programming language are in exceedingly high demand and paid lucratively in Data Science. IEEE has repeatedly ranked R as one of the top and most popular Programming Languages. Almost every Data Science and Machine Learning job posted globally mentions the requirement for R language proficiency. All the top ranked universities like MIT have included R in their respective Data Science courses curriculum.

Learn Data Science in 8 (Easy) Steps


There have been a lot of surveys over the past few years on the educational background of data scientists. As a result, there have also been many different results. In the O'Reilly Data Science Salary Survey of 2014, about 28% of the respondents had a Bachelor's degree, while 44% had a Master's degree and 20% had a Ph.D. Common fields that data scientists have as backgrounds are mathematics/Statistics, Computer Sciences, and Engineering. The results that are represented in the infographic are from 2016. They are very similar to the ones of the O'Reilly survey.



Recitations from Tel-Aviv University introductory course to computer science, assembled as IPython notebooks by Yoav Ram. Exploratory Computing with Python, a set of 15 Notebooks that cover exploratory computing, data analysis, and visualization. No prior programming knowledge required. Each Notebook includes a number of exercises (with answers) that should take less than 4 hours to complete. Developed by Mark Bakker for undergraduate engineering students at the Delft University of Technology.

Philip Guo - Python Tutor: The First Three Years


For the past six years, I've been developing Python Tutor (, Thousands of people use it every day to run tens of thousands of pieces of code in seven languages: Python, Java, JavaScript, TypeScript, Ruby, C, and C . This tool has also become a platform for HCI, educational technology, and computing education research. Most recently, it formed the basis for my faculty job applications that got me a job at UC San Diego. How did this project grow from nothing to its current state? I've been wanting to write a "history of Python Tutor" article for a while now but never found a good time to do so.

Automated Feedback Generation for Introductory Programming Assignments Artificial Intelligence

We present a new method for automatically providing feedback for introductory programming problems. In order to use this method, we need a reference implementation of the assignment, and an error model consisting of potential corrections to errors that students might make. Using this information, the system automatically derives minimal corrections to student's incorrect solutions, providing them with a quantifiable measure of exactly how incorrect a given solution was, as well as feedback about what they did wrong. We introduce a simple language for describing error models in terms of correction rules, and formally define a rule-directed translation strategy that reduces the problem of finding minimal corrections in an incorrect program to the problem of synthesizing a correct program from a sketch. We have evaluated our system on thousands of real student attempts obtained from 6.00 and 6.00x. Our results show that relatively simple error models can correct on average 65% of all incorrect submissions.