Do It Yourself

Summer of Code

July 14 - October 14, 2018

$28,000 Worth of Free Coding Courses - by Women For Women


This option is

Suitable for the independent learner. 

Donation based,

open to every woman and enbie

Starts: Saturday 14th July 2018 9am BST

Ends: Sunday 14th October 2018 6pm BST


Announcement of lectures on YouTube: @1millionwomentotech

Link to syllabus on Github: @1millionwomentotech

Onboarding Webinar

Watch the onboarding webinar below for detailed information on who we are and how to get started with the DIY track!

Dianne Dain

Head of Partnerships of

UN Secretary General's Office, ICT, Technology and Innovation Labs,


Ilona Budapesti

Chief Story Teller of 1 Million Women To Tech,

President of Oxford Entrepreneurs,  

Harvard, Stanford, and Oxford educated software engineer,

serial entrepreneur, Buddhist ex-nun




This is what you need before you get started with the exercises:

  • computer
  • internet connection
  • ability to learn on your own

No coding knowledge is presumed for the beginner courses.


For the hackathons you need to know the basics of Git and GitHub:

  • fork
  • merge
  • pull requests

We have links to Git and GitHub self-study resources inside the Membership area.



Week 1

July 16 - 20 Introduction to Python

Using Learn to Program for Python.

  1. Getting Started: Installing Python on Windows, Mac
  2. Numbers
  3. Letters
  4. Variables and Assignment
  5. Mixing It Up
  6. More About Functions and Methods
  7. Flow Control
  8. Arrays and Iterators
  9. Writing Your Own Functions
  10. Classes
  11. There is nothing new in the chapter (recursion)
  12. Beyond This Tutorial

Week 2

July 23 - 27 Advanced Python

Using Python the Hard Way we will go as far as possible in a week.

  • Exercise 0: The Setup
  • Exercise 1: A Good First Program
  • Exercise 2: Comments And Pound Characters
  • Exercise 3: Numbers And Math
  • Exercise 4: Variables And Names
  • Exercise 5: More Variables And Printing
  • Exercise 6: Strings And Text
  • Exercise 7: More Printing
  • Exercise 8: Printing, Printing
  • Exercise 9: Printing, Printing, Printing
  • Exercise 10: What Was That?
  • Exercise 11: Asking Questions
  • Exercise 12: Prompting People
  • Exercise 13: Parameters, Unpacking, Variables
  • Exercise 14: Prompting And Passing
  • Exercise 15: Reading Files
  • Exercise 16: Reading And Writing Files
  • Exercise 17: More Files
  • Exercise 18: Names, Variables, Code, Functions
  • Exercise 19: Functions And Variables
  • Exercise 20: Functions And Files
  • Exercise 21: Functions Can Return Something
  • Exercise 22: What Do You Know So Far?
  • Exercise 23: Read Some Code
  • Exercise 24: More Practice
  • Exercise 25: Even More Practice
  • Exercise 26: Congratulations, Take A Test!
  • Exercise 27: Memorizing Logic
  • Exercise 28: Boolean Practice
  • Exercise 29: What If
  • Exercise 30: Else And If
  • Exercise 31: Making Decisions
  • Exercise 32: Loops And Lists
  • Exercise 33: While Loops
  • Exercise 34: Accessing Elements Of Lists
  • Exercise 35: Branches and Functions
  • Exercise 36: Designing and Debugging
  • Exercise 37: Symbol Review
  • Exercise 38: Doing Things To Lists
  • Exercise 39: Dictionaries, Oh Lovely Dictionaries
  • Exercise 40: Modules, Classes, And Objects
  • Exercise 41: Learning To Speak Object Oriented
  • Exercise 42: Is-A, Has-A, Objects, and Classes
  • Exercise 43: Gothons From Planet Percal #25
  • Exercise 44: Inheritance Vs. Composition
  • Exercise 45: You Make A Game
  • Exercise 46: A Project Skeleton
  • Exercise 47: Automated Testing
  • Exercise 48: Advanced User Input
  • Exercise 49: Making Sentences
  • Exercise 50: Your First Website
  • Exercise 51: Getting Input From A Browser
  • Exercise 52: The Start Of Your Web Game

Week 3

July 30 - August 3 Natural Language Processing with Python

Using the NLTK book probably only covering chapters 0-4 during the week.

  1. Preface
  2. Language Processing and Python
  3. Accessing Text Corpora and Lexical Resources
  4. Processing Raw Text
  5. Writing Structured Programs
  6. Categorizing and Tagging Words
  7. Learning to Classify Text
  8. Extracting Information from Text
  9. Analyzing Sentence Structure
  10. Building Feature Based Grammars
  11. Analyzing the Meaning of Sentences
  12. Managing Linguistic Data
  13. Afterword: Facing the Language Challenge

Week 4

August 6 - 10 Artificial Intelligence with Python & Tensorflow

Using Machine Learning Crash Course from Google.

Week 5

August 13 - 17 Introductory JavaScript

We will repeat Learn to Program this time for JavaScript.

  1. Getting Started: Installing Python on Windows, Mac
  2. Numbers
  3. Letters
  4. Variables and Assignment
  5. Mixing It Up
  6. More About Functions and Methods
  7. Flow Control
  8. Arrays and Iterators
  9. Writing Your Own Functions
  10. Classes
  11. There is nothing new in the chapter (recursion)
  12. Beyond This Tutorial

Additionally Chapters 1-7 from Professional JavaScript™ for Web Developers.

  1. What is JavaScript
  2. JavaScript in HTML
  3. Language Basics
  4. Variables, Scope and Memory
  5. Reference Types
  6. Object-Oriented Programming
  7. Function Expressions

Week 6

August 20 - 24 Advanced JavaScript

Using the Advanced JavaScript open courseware from NYW.

Week 7

August 27 - September 1

Self-care week 


No classes, but our chat server and community is running. Great time to catch up or just rest. :)

Week 8

September 3 - 7


August 27 - 31 Mobile Prototyping (UI/UX) in InvisionApp

Using Invision's Getting Started guides.

  1. Introduction to InvisionApp
  2. Boards
  3. Building Projects
  4. Working Together
  5. Feedback and Development

Week 9

September 10 - 14 Blockchain

Tentative: Using Oxford BlocSoc's intro to Blockchain course

Alternative is a Solidity intro course

Week 10

September 17 - 21 Virtual Reality

Using Facebook VR stack

  • 3D Posts Create immersive 3D posts and content for the Facebook News Feed.

  • Facebook 360 Create and share immersive stories, places and experiences.

  • Oculus Create compelling VR experiences and reach passionate VR audiences.

  • Quill A VR illustration and animation tool built to help empower artists and creators.

  • React 360 Use web tech to create content for audiences across mobile, web and VR.

Week 11

September 24 - 28 Augmented Reality

Visual programming in Facebook AR Studio this is Mac only. We need a Windows alternative until AR Studio comes out for Windows.

Week 12

October 1 - 5

A gentle introduction to collaboration using GitHub

Has this ever happened to you? Trying to use Git but not so clear on how to learn?


In the words of a GitHub Labs learner:

I have been trying to learn Git + GitHub to start teaching at the school. Without understanding the correct use, and potential problems that we could face when using this technology I am not so confident to do it. Yet, I have finished the Udacity course, a course with a campus expert, and again and again the problem is the nature of the examples. At some point, they lose attention to the learning curve and start using complex examples that does not make any sense at all, thus the problem is not about using GitHub but to figure out where an error or diff is present.

Therefore this week we will go through every click, every screen, from the moment of signing up for a GitHub account to setting up our Git software, to contributing regularly.


Week 13

October 8 - 12


Mobile App Development with React.JS

Using the Facebook React.JS tutorial and Learning JavaScript Design Patters


Throughout the Summer of Code there are 12 weekly hackathons, 3 monthly hackathons, and 1 all-summer hackathon. Participants may enter one or more.


The weekly hackathons follow the theme of the week's course module so Week 1 is "Introduction to Python", and the hackathon is for entry level Python hacks, and so on.


The monthly hackathon's follow the tracks so Month 1 hackathon is for Python hacks, Month 2 for JavaScript hacks, and Month 3 for all the AR, VR, and Blockchain hacks.


The all-summer hackathon is an open category so that those who have a project in mind can use the Summer of Code as an opportunity to develop their idea into a prototype or even an MVP and have a chance to showcase it.

Themed Hackathons

A themed hackathon is one in which the projects are confined to a particular problem: such as digital humanities or community engagement. Themed hackathons are able to attract subject matter experts (something that open-ended hackathons are not good at), and projects typically revolve around problems that the subject matter experts bring to the table.


Open Ended Hackathons

Each hackathon will have an open ended category to allow for those with pre-existing ideas to work on them and attract teammates to them. It is the Stakeholder's responsiblity to ensure that the project is explained, there is a clear project question, and that resources are available e.g. datasets.

Hackathon calendar

12 weekly
3 monthly
1 all summer


For up to date information please check the GitHub README at:

Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

Week 9

Week 10

Week 11

Week 12

Month 1

Month 2

Month 3

All Summer

Ways to get support

Have a problem to solve? Because this is a "Do It Yourself" DIY option you will have to solve your own problems. Most of the course content will have answers on the internet which are findable via Google.

  • Stackoverflow

    StackOverflow is an open forum for developers and you may be able to get answers there, we will monitor for the hashtag (tag) #1millionwomentotech but cannot promise support.


In case you found some typos or mistakes in our content

Please send a Pull Request (PR) on GitHub if you notice any typos, mistakes or have brilliant ideas!

How to contribute on Github

This is how you can contribute on Github

You will find resources inside the program. In summary


  1. Fork the project & clone locally.
  2. Create an upstream remote and sync your local copy before you branch.
  3. Branch for each separate piece of work.
  4. Do the work, write good commit messages, and read the CONTRIBUTING file if there is one.
  5. Push to your origin repository.
  6. Create a new PR in GitHub.
  7. Respond to any code review feedback.


Join now

Please make a donation and the join by filling out the option form below.

Sharing is caring

Let others know what coding knowledge you will acquire!

Gold and VIP


*Bonus availability guaranteed until 2,000 Gold and 24 VIP Spots are filled.

After that, they're GONE.


Fund Yourself fund others

Summer of Code

Get Support

and Support the Mission

  • Would you like to receive premium content?
  • Be the first to gain access to new features and benefits?
  • Would you like to receive feedback on your code? Get a Certificate?
  • Would you like personal, 1-on-1 Career Advice?
  • Is it easy for you to afford a few meal's worth to support the mission? 


Then we have just the right Membership options for you!


Please see these summary points, and if interested visit the Membership Benefits page where each benefit is described in more detail and where you can check out and gain access to the Membership portal immediately. 


Thank you! xoxo <3



 - $299


per month

© 1 Million Women To Tech is a Silicon Valley 501(c)3 educational nonprofit whose charitable mission is to provide free coding education to 1 million women by 2020.
All Rights Reserved.