Skip to content

Latest commit

 

History

History

summer-of-code

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

1 Million Women To Tech (1MWTT)

Summer of Code

Important

Official communications are only through the @1millionwomentotech Memberportals:

To get access please watch the Onboarding Video and choose one of the Membership options. ->

Onboarding Video

Your first step when coming across #1millionwomentotech is to learn more about the Mission and each #SummerOfCode option. Please enjoy the Onboarding Webinar on YouTube where the whole project, movement, as well as the Course contents and Hackathons are explained along with the Membership details: https://www.youtube.com/watch?v=9b91ZfNvYeU

Join DIY (free - donation based):

Do-It-Yourself (DIY) is free, includes class replays and code. Donations requested, but are completely optional, if you can help with the mission to reach 1 million women by 2020, via Facebook or PayPal nonprofit charitable giving.

Details and signup here: https://memberportal.1millionwomentotech.com/diy

Join GOLD or VIP

Fund Yourself Fund Others (paid) has two levels "GOLD" and "VIP".

Both include everything in the DIY section PLUS GOLD includes:

  • Premium Content
  • Support
  • Certificate

VIP includes everything above in the DIY and the GOLD PLUS has personal Fast Forward Career Accelerator and Mastermind programs.

Details and signup here: https://memberportal.1millionwomentotech.com/fund-yourself-fund-others

Table of Contents

Hackathons

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.

Name Type Dates Theme Project Ideas
Week 1 Themed July 14 - 20 Introduction to Python Civilization III - 1mwtt in Python
Week 2 Themed July 21 - 27 Python the Hard Way Boggle Solver - 1mwtt in Python
Week 3 Themed July 28 - August 3 Natural Language Processing with Python Keyword Strategy for 1mwtt - use web crawling, topic modeling, and common sense Corpus Thomisticus - Digital Humanities Data Visualization Art for University of Oxford
Week 4 Themed August 4 - 10 Artificial Intelligence with Python & Tensorflow Sanskrit Authorship Attribution - Digital Humanities for University of Oxford
Week 5 Themed August 11 - 17 Introductory JavaScript Civilization III - 1mwtt in JS
Week 6 Themed August 18 - 24 Advanced JavaScript Boggle Solver - 1mwtt in JS
Week 7 Themed August 25 - 31 Mobile Prototyping (UI/UX) in InvisionApp Summer Of Code App
Week 8 Themed September 1 - 7 Mobile App Development with React.JS Summer of Code App ctd.
Week 9 Themed September 8 - 14 Blockchain Your Wallet -
Week 10 Themed September 15 - 21 Virtual Reality Multiple Screens -
Week 11 Themed September 22 - 28 Augmented Reality toolkitten's face - 1mwtt
Week 12 Themed September 29 - October 5 TBD (best suited for senior developers with a broad skill set)
Month 1 Open Ended July 14 - August 10 Python
Month 2 Open Ended August 11 - Septeber 7 JavaScript toolkitten - 1mwtt faq chatbot
Month 3 Oprn Ended September 8 - October 5 Blockchain, AR, VR 1mwtt coin - 1mwtt collective incentive to learn and mentor
All Summer Open Ended July 14 - Oct 14 Any topic karma - 1mwtt Omnichannel Gamification for Nonprofit Engagement

Registration

We expected 300 and got 19,951 pre-registrations plus 1,556 on the waitlist.

Registration Limit

To determine our maximum capacity we want to allow 10 women to every Mentor who commits to a specific week.

Courses

Syllabus

Week 1

Mentors please indicate your availability for Week 1 July 14 - 20 Intro to Python here

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

https://www.amazon.co.uk/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647

Week 6

August 20 - 24 Advanced JavaScript

Using the Advanced JavaScript open courseware from NYW.

Week 7

August 27 - 31 Self-care Week

Naming credits :)

Virginia Balseiro Self-care week Marta Bodojra​ Rest and empower week! Rox Arten​ Self Grounding and Empowerment Gillian Newton​ "Week of Sanity" "Week of Empowerment", "Re-factor Your Code" Krystal​ Re-Code Week? Catch-up week (Ketchup week) Paula Bernal Inner Coding Week Bituin Callanta​ Recalibration Week

The first benefit of a self-care week is that you have time for yourself and your coding.

There will be NO classes during this week, however, you are welcome to continue on material from previous weeks or to study ahead.

The second benefit is that the deadlines of the Week 6 hackathon and the Month 2 hackathon to reflect the addition of a week's time.

The third benefit is that Week 8 will be the mobile app prototyping week and you will have until Week 13 to giving you 5 weeks instead of just 1 week polish your mobile app, and work on your JavaScript skills before we dive into React.js. This is perhaps the greatest benefit.

Week 8

September 3 - 7 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

Solidity intro course

IBM

Udemy mixed

Week 10

September 17 - 21 Virtual Reality Using Unity:

  • Day 1: Getting the tools and building our first VR app We are going to set up our computer to develop VR apps based on google cardboard. The google VR SDK is also compatible with iPhone/iPad development, but you will need to install the tools on MacOS to be able to do so Create some basic 3D model to include in our VR experience
  • Day 2: Unity scripting - essential concepts for VR development Learn the basics of the unity Monobehaviour class and how can we create scripts to animate our gameobjects Learn how to include dinamic calculations in our app
  • Day 3: UI design and interaction - moving our player around the scene Create scripts to perform interactions with UI elements based on the user's gaze Learning advance concepts in Unity Scripting and the Google VR SDK
  • Day 4 : Advanced animation controller: Create advanced animation effect and set up communication between the objects to trigger after a specific action has occured

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 TBD (best suited for senior developers with a broad skill set)

  • [VOLUNTEER NEEDED] An introduction to collaboration using Github.
  • [VOLUNTEER NEEDED] Community engagement course.

Week 13

October 8 - 12 Mobile App Development with React.JS

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

Schedule

Opening: Saturday 14th of July, 2018. During the 5th Annual Oxford Inspires Conference we will kick off the Summer of Code at 9:00am via Live Streaming from the Nelson Mandela Theatre inside the Saïd Business School, University of Oxford, Oxford, OX1 1HP.

We hope the keep the weekly cadence always the same, so we can learn week-on-week and repeat what worked, and improve on what hasn't.

All times are British Standard Time (BST)

Project Pitches

Saturdays by 12pm noon Project Pitches uploaded to YouTube, forum and GitHub.

  • YouTube: max 1 min video pre-recorded and uploaded to YouTube with hashtags #1millionwomentotech #SummerOfCode
  • Forum: clear ask and offer
  • GitHub: PR sent to @1millionwomentotech/toolkitten/summer-of-code/ to appropriate Hackathon

[Volunteer Needed] Add Project Pitch template with upload instructions: the leader’s name and affiliation, Discord username, a problem statement, the solution, and the skills/help needed.

Live Lectures

Mondays through Thursdays:

  • 10:00 - 11:00am Morning Live Course via Webinar
  • 11:00 - 12:00pm noon Live Q&A via Webinar

Code Freeze

Fridays:

  • 09:00am code freeze, all coding homework, projects, hackathon submissions must be complete
  • 09:00am - 12:00pm noon Judges deliberation
  • 12:00pm announcement of winners

Useful links: