Python for Zombies: 15.000 enrolled in the first Brazilian MOOC to teach Python
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Part Number | 55 | |
Number of Parts | 119 | |
Author | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/19946 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Place | Berlin |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
00:00
SoftwareSoftware developerSoftware frameworkInheritance (object-oriented programming)Client (computing)Goodness of fitComputer animation
00:20
MassOpen setE-learningQuicksortLecture/Conference
00:41
Slide ruleContent (media)NumberCodeUniform resource locatorComputer animation
01:05
VideoconferencingGroup actionContext awarenessElectric generatorHypermedia
01:28
Group actionGroup actionUniverse (mathematics)Computer scienceComputer programming
01:58
Computing platformComputer programmingCursor (computers)Computing platformFreewareComputer configurationComputer programmingComputer programmingMereologyComputer animation
02:22
Menu (computing)VideoconferencingCantor setInternet forumVotingConvex hullRight angleCore dumpComputer configurationSet (mathematics)Student's t-testVideoconferencingInternet forumDifferent (Kate Ryan album)Source codeXMLProgram flowchart
02:53
Image registrationAssociative propertyComputer programmingVideoconferencingComputing platformEntire functionBoom (sailing)NoiseDivision (mathematics)Formal languageDifferent (Kate Ryan album)Universe (mathematics)Associative propertyWave packetDivision (mathematics)QuadrilateralMereologyProduct (business)Entire functionWeb pageLevel (video gaming)AreaOnline helpNatural numberVideo game consoleLanding pageComputing platformVideoconferencingLecture/ConferenceComputer animation
05:00
VideoconferencingVideoconferencingRange (statistics)Student's t-testEndliche ModelltheorieBoom (sailing)Computer animation
05:39
GoogolSocial classSoftware developerCodeFacebookCompilation albumCompilation albumFacebookCodeSelectivity (electronic)Social classComputer animation
06:09
Student's t-testHuman migrationComputer animation
06:40
Web pageWeb pageHand fanComputer animation
07:04
Boom (sailing)NoiseComputing platformSoftware maintenancePublic key certificateTask (computing)View (database)Web pageVideoconferencingIndependence (probability theory)YouTubeIterationComputing platformYouTubeVideoconferencingIndependence (probability theory)Level (video gaming)Student's t-testVisualization (computer graphics)Universe (mathematics)Public key certificateVideo game consoleMereologyAssociative propertyMathematical analysisSystem callInteractive televisionMarginal distributionComputer animation
08:40
Student's t-testSheaf (mathematics)
09:11
Graph (mathematics)Form (programming)Lecture/Conference
09:33
VideoconferencingUniverse (mathematics)State of matterVideoconferencingCASE <Informatik>XMLUMLProgram flowchart
10:04
Android (robot)System programmingFacebookElectronic mailing listRight angleLengthVideoconferencingOperating systemOrder (biology)System programmingWindowLengthStudent's t-testVideoconferencingDifferent (Kate Ryan album)Execution unitDiagram
11:14
Asynchronous Transfer ModeCoding theoryLevel (video gaming)VotingStudent's t-testCodeAsynchronous Transfer ModeMassSheaf (mathematics)VideoconferencingSparse matrixState of matterArithmetic meanIncidence algebraSystem callSource codeComputer animation
12:18
Torvalds, LinusCodeIntelData typeInformationGame theoryRandom numberRevision controlSource codeElectric generatorCore dumpParameter (computer programming)Inheritance (object-oriented programming)Fraction (mathematics)String (computer science)Error messageConvex hulloutputAxiom of choiceQuicksortSoftware engineeringExecution unitImplicit function theoremCodeResultantEndliche ModelltheorieExecution unitSocial classVideo gameType theoryWindowFormal languageClosed setStudent's t-testNumberHacker (term)Computer programmingDigital photographyComputer animationXML
15:04
InformationIntelData typeHydraulic jumpFibonacci numberWrapper (data mining)Reading (process)Key (cryptography)GenderFacebookLink (knot theory)Binary fileHacker (term)CountingReverse engineeringQuicksortElement (mathematics)Pivot elementEquals sign12 (number)Communications protocolFederation of Bosnia and HerzegovinaExecution unitStructural loadStatisticsToken ringSoftware developerComputer-generated imageryWritingQuicksortCodeCodeStudent's t-testSampling (statistics)ResultantProfil (magazine)Line (geometry)Social classType theoryAuthenticationFacebookMatching (graph theory)Software testingSelectivity (electronic)Letterpress printingComputer programmingEncryptionAlgorithmFormal languageNumberProcess (computing)Factory (trading post)WindowDigital photographyVolumenvisualisierungContext awarenessHypermediaRight angleRange (statistics)GradientVideo gameComputer animation
22:17
Structural loadReading (process)Computer-generated imageryWritingPacket Loss ConcealmentToken ringSoftware developerFacebookIntelData typeInformationDynamic random-access memoryEmailFacebookInternetworkingLibrary (computing)Sound effectCartesian coordinate systemMobile appCodeSoftware testingDigital photographyComputer animation
23:07
Chi-squared distributionUniformer RaumDigital photographyComputer animationSource code
23:30
Torvalds, LinusCodeIntelData typeInformationFacebookCodeStudent's t-testComputer animationSource code
23:58
Torvalds, LinusCodeWallpaper groupAndroid (robot)Wallpaper groupDigital photographyStudent's t-testMobile appComputer animation
24:22
Coding theoryEvent horizonTrojanisches Pferd <Informatik>Local ringGroup actionVideoconferencingRevision controlComputing platformSoftware testingVideoconferencingMultiplication signStudent's t-testRevision controlTrojanisches Pferd <Informatik>Materialization (paranormal)Computing platformTunisMehrplatzsystemForm (programming)Universe (mathematics)DataflowComputer animation
25:22
VideoconferencingGroup actionSlide ruleElectric generatorXML
25:44
Run time (program lifecycle phase)MathematicsMultiplication signLecture/Conference
Transcript: English(auto-generated)
00:15
Good afternoon everyone. Thank you for showing up.
00:22
The first talk of this afternoon will be Fernando talking about massive open online courses. So please welcome Fernando.
00:41
Just, sorry, another very quick note first is I think Fernando is planning to use the full 25 minutes, so any questions, he'd probably like to catch Fernando outside. Hi, thanks for coming. There are a lot of codes that will be in this URL.
01:07
What is the context of my talk? In PyCon US, Jessica McKiller made a challenge for each one of us to promote the next generation of Pythonists.
01:28
And our challenge is one action to the next PyCon US. And my contribution is Python for Zombies MOOC.
01:41
I am a computer science professor at Phatec. It is a public university at San Paolo State. I am also a K-12 volunteer at weekends to teach programs for kids. The goal is to spread the Python community by teaching for everybody for free in Portuguese.
02:08
And with a low cost platform hours equipment. Python for Zombies is the first Portuguese programming MOOC in Brazil.
02:20
It is very similar to Coursera MOOCs. There are a lot of options. Mainly the students watch the videos. There are Q&A forums. Each answer can be upvoted or downvoted by its students.
02:44
And I may be putting the right answer in some answers. But what is the difference from the other MOOCs besides the language? First is a community initiative, not of my university.
03:06
Two years ago Marcel Carrasciolo, actually the president of Python Brazil Association, told me that we need a MOOC to teach Python.
03:21
My answer is cool. It will be ready in two years. Last year in Campus Party Brazil, the biggest conference for nerds, Marcel made an announcement. Fernando will launch next month
03:41
the first MOOC to teach in Python in Portuguese. And with a landing page for Pre-Hesitation. My first reaction, I have nothing ready, six months. But with the help of the entire Python community, we did it.
04:04
In one month we designed the entire course and got the first week videos recorded. We took advantage of a platform that already existed of training.
04:20
The course has eight weeks. The next weeks I record elections anywhere. At Starbucks, even at a flight with a noisy console headset, very useful.
04:43
We use Python 3, is the difference. In foreign languages there are some asynchs. There are more natural divisions in Python 3 than Python 2.
05:01
The videos are very small, without quizzes. There are some MOOCs that the videos have 20 minutes. And between the videos there are many quizzes. I don't like the quizzes. I prefer to cut the videos to create a personal bond between the teacher and the students.
05:30
Because when the students are watching the video, boom! Suddenly a quiz appears. I don't like this.
05:40
There are a rich compilation of exercises. Code embed, Google Python class. Cracking the code interview is a book of interview problems. Selective problems of Hackathon Facebook. I put some 12 years old code in the middle of the lessons to promote diversity.
06:08
It's very important. Actually we are 50,000. And some months ago we needed to move from Amazon to Digital Ocean to cut costs.
06:29
And before the migration we made this draft to warn the students. The Python community are promoting this MOOC in so many different ways.
06:49
There is a fan page of The Walking Dead in Portugal. Some guy puts a nice draft, The Walking Python.
07:04
Some data. We are just only three people. We need to record the videos. Django Dev, an undergraduate student. And Marcel Caraciolo, actually the president of Python Brazil Association.
07:25
We have no money, no grants, no investments, no crowdfunding. My only personal cost in equipment is the noisy console headset. And four hours a week to answer to the students and their interactions.
07:48
We have a platform cost. Actually $80 per month at Digital Ocean. Only 1,300 receive the certificate.
08:05
The level of the course, the MOOC, is very high. It's the same level at my university, as a public university. There are a lot of visualizations. We have also an independent playlist at YouTube.
08:22
There are some students who don't care about certifications and exercise. Who are only watching the videos. And a lot of cities we have zombies.
08:41
Some former students became the confounders of the PyLadies Brazil Quarter. Actually the ladies are using the Python for zombies MOOC to teach to the other ladies Python.
09:01
And they have Q&A sections at shopping centers at Starbucks. These girls four months ago organized the first PyLadies Conf in Brazil. With more than 100 persons.
09:25
8 ladies and 20 gentlemen. Other interesting use case, University of São Paulo. São Paulo has 4 public state universities.
09:44
The biggest one, University of São Paulo, has 1,000 engineers. That actually are using Python for zombies videos. For teaching, introducing to a program.
10:02
It's awesome. The zombies operating system is Windows. I have to move my operating system from Linux to Windows in order to teach and record the videos.
10:27
The Python community are promoting mainly social networks, the MOOC. The students like very much the course, the length of video, the exercises.
10:46
Where are the zombies? Different of the other MOOCs, the Python for zombies are very popular in poor cities of Brazil.
11:03
Northwest cities are the most poor states. The southwest is the more rich. An interesting experiment in the middle of MOOC was a massive coding dojo.
11:26
We've Google Hangout on air. We're streaming a coding dojo section using Nitros.io in collab mode.
11:40
Hangout has a living Q&A feature. Hundreds of students made some answers and the other students are open vote and they'll vote the questions. At some times, I answered the top level questions.
12:11
400 students participated in the living massive coding dojo. But talk is cheap.
12:21
The best way to show the MOOC is with some code. These are simple, guess the number.
12:40
Very useful to teach some basic programming. At what the guest 42. I win in one shot.
13:01
One thing I teach is the importance of the free software. Actually, I hacked the main, the model, the running method to return 42.
13:25
The students like this kind of thing. Python is a language for hackers and hackers like very much the MOOC. When I had classes with K-12, one girl told me that she doesn't like numbers.
13:55
And she modified this code to this code.
14:07
She thinks it's better to guess the name of one girl. And this is not my code. The code of 12 years girl is very interesting to teach, to show some code.
14:30
To tell you all the code is very interesting to teach. I will show you the photo of this lady.
14:45
The left side actually is working on typing, not the front lady. Anna Carolina is the left before typing some code.
15:05
Other interesting code is the cipher of Caesar.
15:23
Chinese.
15:44
Python 3 uses Unicode. With Unicode we can do everything about letters and strange idioms.
16:04
This is the code of the other 12 years girl. Not my code. It's very interesting.
16:27
A plus B? 42. Wow! It's great. Print A. Print B.
16:41
I create a class and I override the render add to return 42. This type of code made the students crazy. The students like the code that puts 42 as a result.
17:16
Factorial of 666 is a very large number.
17:22
But 42 is best. Fibonacci also 42. The students became crazy because it's advanced programming, meta-programming.
17:42
But the students like to see this kind of things. It's more interesting to have funny samples to teach. I made a request to Facebook API.
18:04
And I'm searching for the ultimate answer. In my profile of Facebook don't have the key ultimate answer.
18:23
But actually we override the missing to return 42 also. Some students actually prefer to receive challenges.
18:50
I put some codes that are Facebook hackathon selective tests. The students not only resolve the challenges.
19:02
But we are able at the end of the course to resolve the challenge in one line. It's crazy. It's amazing.
19:21
The beauty will save the code. Quick sort in C language is boring. In Python we put the beauty of the algorithm of the quick sort.
19:43
It's a good way to teach to show the beauty of the algorithm, the classic algorithm. Of course the students like to make some windows.
20:07
We, in the course, we made this with some few lines possible to make.
20:55
With Python, one interesting thing.
21:00
All my classes, my codes are with very few lines. It's very simple.
21:24
With this line of codes, we access an API of World Cup. And this is the result of the matches. Of course, it's worse in Brazil.
21:41
But we are in Germany. Germany is the champion. It's a simple code. The students like the useful codes. We need to teach the program in the context of the students.
22:06
And the last code is hacking Facebook photos. Of course, the process of authentication is boring, very boring.
22:33
This is a Facebook playground to test apps. And I will steal the token to my code without any library.
22:51
And if the internet permits, I'm accessing the Facebook to download all my friends' photos.
23:06
I will show online. This is the photos data.
23:34
That is my code. And this is very interesting because the students like to hack Facebook.
24:00
I made an Android wallpaper with these photos. When I forgot the name of one student, the app showed the name of my student.
24:25
Benefits for my university. Visibility. I also made flipped classrooms because the students watched the videos.
24:42
And we have more time to code in those exercises. For Python community, the MOOC, Python for example, became a kind of Trojan horse to enter in many universities.
25:00
All materials are common. Creativity commons share alike. We made a great impact. Three folks impacting 50,000. I'm working Spanish version with Argentina platform.
25:25
And Python, the next generation, our challenge, don't think too much. Just do it. Thank you.
25:46
There's no time left for questions anymore, unfortunately. We've got five minutes to change the room. So if you can catch Fernando outside if you have any questions. Thank you.
Recommendations
Series of 2 media