(Re)Learning Python with 10,000 Novices

Jaidev Deshpande (~jaidev)


4

Votes

Description:

In this talk, I'll share insights and experiences from one of the largest Data Science MOOCs in the world.

For the last three years I've been involved with the IIT Madras BS Program in Data Science and Applications in various capacities - as a student mentor, a teaching assistant, a discussion forum moderator and also a consultant. In this program, students are required to pass an introductory Python course in order to proceed beyond the first year. However, for the vast majority of students, the introductory Python course is extremely difficult. Most students take multiple attempts to pass this course. It is an introductory course, but not an easy one by any means.

For professionals like myself, who have practised and even taught Python for over a decade, these results are very surprising. It is well established that Python is one of the easiest languages to learn. There's no shortage of good educational content around the Python ecosystem. Python is also practically indispensable for data science. So students should lack neither the motivation nor the means to learn Python well. On the other hand, there are many more courses (like data structures and algorithms, applied ML, OOP, etc) which are conventionally more difficult than introductory Python, but students do better in these courses (in terms of passing percentage).

Then why would it be so difficult?


Part of the answer lies in the sheer diversity of the students. We’ve got people of all ages from 18 to 81 years old, who can come from any socio-economic, and any or no professional background. There are people like myself, experienced programmers and data scientists who are here just for fun - without the pressure of having to worry about getting jobs. On the other hand there are people who’ve never seen a computer. There are seniors and retired professionals (our oldest student is in their 80s) who are familiar with computers and programming, but not quite in the same way that would be suitable for data science. There are also people who are here primarily to upskill and get jobs.

In short, there is enough diversity for people to re-evaluate their ideas and opinions about what comprises good programming education - and also to perhaps check their privilege.

The other part of the answer lies in the pedagogy - how Python is learnt and taught. The discussion fora used by the students are a very rich source of data on how students (and instructors, too) talk and converse about programming problems and approaches to these problems. In this data, we found some surprising insights on:

  • Programming practice and comprehension
  • Analytical thinking and coding ability (and correlation between them, if any)
  • The role of mentorship and tailored support, pair programming, etc.
  • Programming to solve a problem vs programming for an exam.

My ultimate purpose in this talk is to promote empathy, and to offer a fresh perspective on training programmers.


Talk Outline

  • (5 mins) Introduction - Role of Python in a Data Science MOOC
  • (5 mins) The scale of the problem - How a diverse audience reacts to their first programming course (5 minutes)
  • (10 mins) Methods and Practices - What we learnt about effectively teaching a Python course (10 minutes)
  • (5 mins) Communication & Discourse - Effectively moderating discussion fora and nudging students and instructors towards healthier discourse.
  • Q&A

Prerequisites:

A history of either:

  • having struggled with learning a programming language, or
  • having been so good at programming that any less-than-perfect performance looks inexplicable.

Content URLs:

TBA

Speaker Info:

Jaidev is a full stack data scientist who specializes in building ML/AI products and the tooling around them. He has a decade of experience in scientific computing, media, healthcare and the public sector. He currently works as Associate Director of Technology at Gramener, a Straive Company. He teaches ML and data visualization courses on various e-learning platforms. You are likely to run into him at FOSS events. At PyCon India, he's almost a permanent fixture.

Section: Python in Education and Research
Type: Talk
Target Audience: Beginner
Last Updated: