introduce teenagers to the fun of programming
play

introduce teenagers to the fun of programming Syrine Krichene - PowerPoint PPT Presentation

How we used Python to introduce teenagers to the fun of programming Syrine Krichene Software Engineer @ Criteo Anne-Marie Tousch Research Scientist @Criteo @amy8492 Problem CRITEO R&D EMPLOYEES WORLDWIDE Women 10% Men 90% 2


  1. How we used Python to introduce teenagers to the fun of programming Syrine Krichene Software Engineer @ Criteo Anne-Marie Tousch Research Scientist @Criteo @amy8492

  2. Problem CRITEO R&D EMPLOYEES WORLDWIDE Women 10% Men 90% 2 •

  3. Stereotypes vs. reality • Women under-representation is a fairly recent phenomenon • Many women programmers throughout history • We want the young people to embark! 3 •

  4. A day to discover computer science jobs • Meet women engineers • Visit our Criteo Paris office • Have fun & get some swag • Actually write some code 4 •

  5. Preparing the coding part • Discover computer science • Motivate career choice in computer science 5 •

  6. The time constraint 1h30 6 •

  7. No bugs • Setup and check all the computers • Prepare code 8 •

  8. Mentoring • Pair programming • Unblocker • Questions 9 •

  9. Have fun & Be creative • Music, games, images and video, robots • Immediate feedback 11 •

  10. Discover a real programming language • Reads like english • Multi-purpose • Rich ecosystem • Used by professionals 12 •

  11. Discover computer science topics • Robots • Games • Video & pictures processing • Data processing • Artifical intelligence • … 13 •

  12. Apply what you already know • High school Maths • High school Physics • English! 14 •

  13. Progress • It feels good to learn • Step-by-step discoveries 15 •

  14. Color-switch alike game

  15. 17 •

  16. Have fun & Be creative • Have fun -> Play Games -> Win the Game -> Be the best at your game ! • Be creative: -> change the game's set up -> change the rules -> change the graphics ... 18 •

  17. Discover a real programming language • Simple functions for loops if conditions 0 1 2 Hi 0 Hi 0 for i in range(3): 0 0 0 1 1 1 2 2 2 for i in range(3): for i in range(3): for i in range(3): 0 1 2 Hi 1 for i in range(3): Hi 1 Hi 1 print(“Hi ”, i) print(“Hi ”, i) print(“Hi ”, i) print(“Hi ”, i) print(“Hi ”, i) Hi 2 Hi 2 Hi 2 Hi 2 19 •

  18. Discover a real programming language • Simple functions for loops if conditions • Using libraries: Kivy Learn to look for information on the web! read the documentation 20 •

  19. Discover computer science topics • Create games: Action on clicks Animation 21 •

  20. Discover computer science topics • Create games: Action on clicks Animation Graphics 22 •

  21. Discover computer science topics • Create games: Action on clicks Animation Graphics Frame displays Widget interactions (master and slave) 23 •

  22. Discover computer science topics • Create games: Action on clicks Animation Graphics Frame displays Widget interactions (master and slave) Progress Game hacking 24 •

  23. Apply what you already know • Physics Use positions to check collisions Increase the speed • Math​ Use variables to automate changes​ • Logic Realistic animation​ Scoring rules • Geometry and drawings Create the widgets graphics 25 •

  24. Progress • Workshop + presentation • Increase difficulty • Discover different parts of the game • Let's hack and play the game ! 26 •

  25. Cra razy filters ers

  26. Get creative • Teens love Snapshat & Instagram • Even basic image processing is fun • Use the webcam for immediate feedback 28 •

  27. Python main.py • Powered by Kivy & Numpy • Boosted with OpenCV • GUI to ease testing • Commented in french transforms.py 29 •

  28. Image processing • Digital images • Use RGB color system to create custom colorizations 30 •

  29. From simple to complex • Draw rectangles • Draw flags • Combine effects • Use OpenCV … … AI inside !!! Demo time! 31 •

  30. Maths to the rescue • The image coordinate system • How do you draw a star? 32 •

  31. Students « avoir passé une journé née chez Criteo o m'a apporté bien plus que je ne l’imaginais. » « j'ai parti ticul ulièrement t aimé cette joie qui nous a été commun uniqué uée, jointe à l'envie de créer et de programmer en découvrant t de nouvelles choses. » 34 •

  32. Teachers • Exercises are not easy! 35 •

  33. Take-aways • Close mentoring • Competition helps creativity • Don’t hide code difficulty 36 •

  34. We’re doing it again soon! • Contact CGénial if you want to participate • Checkout our code on https://github.com/criteo/je-code-crazy-filters 37 •

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend