17
WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP

WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP

Code G level 2 - web dev.indd 1 15/2/19 10:26 am

Page 2: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Web Development in PythonA specialist bootcamp

Audience: Women early in their careers who are enthusiastic about coding in Python

Context: Python is used by tech firms across the Valley and worldwide. This course focuses on how to create modern back-end websites using the Flask web framework, an elegant, thriving tool used by companies like Pinterest and Twilio to power billions of requests per month.

This bootcamp will help you get started with web development and teach you modern best practices for creating maintainable codebases in teams.

Prerequisites: prior experience with Python (at least 3-6 months)

Duration: 5 days

Format: Each topic is a mixture of hands-on exercises, expert instruc-tion, demos, and group projects.

Group size: up to 15 people

Instructor: see bios below

Overview Format

Code G level 2 - web dev.indd 2 15/2/19 10:26 am

Page 3: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Skills & Activities

Days 1–3: You will learn about the essentials of web development in Python, including templating, handling requests and sessions, databas-es, and creating RESTful web APIs.

Days 4–5: You will learn best practices for writing maintainable code in teams and principles, tips and tricks for deploying code to production in a seamless, scalable way.

Overall: You will gain very useful and marketable skills in a popular and powerful web technology stack. This will help you create a new web-based company or start contributing immediately to an existing web development team.

Exercises: There will be practical exercises throughout the bootcamp. During the exercises, the trainer will offer help and suggestions. After-wards, the solutions will be discussed and provided as source code.

Games and prizes: Come prepared for some fun competitions!

Group projects: There will be time in the afternoons on days 2–5 for group projects. This is a chance to put what you have learned into prac-tice, with the trainer’s help.

Personal help: If you have particular goals or requests, please send us these before the bootcamp or have them ready to discuss.

Skills Activities

Code G level 2 - web dev.indd 3 15/2/19 10:26 am

Page 4: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Topic outlineDay 1: Review of Python essentials

Day 1 will give you an intensive refresher in Python essentials, focusing on topics that are important for web development, including retrieving data from web APIs:

• Setting up your Python development environment (IDE, Jupyter)

• Packages and modules; reproducible environments with pipenv

• Refresher on Python concepts and essential data types

• Files, strings, bytes, and encodings

• Worked example: consuming web APIs

• Raising and handling exceptions

• Refresher on Python classes: custom data types

Code G level 2 - web dev.indd 4 15/2/19 10:26 am

Page 5: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Topic outlineDay 2: Web development with Flask

Day 2 teaches you the basics of how to create websites using Flask, an ele-gant, thriving Python web framework used by companies like Pinterest and Twilio to power billions of requests per month:

• Introduction to web development with Flask

• Handling GET and POST requests and parameters

• HTTP responses and status codes; MIME types

• Templating

• Sessions

• Debugging

• Group projects

Code G level 2 - web dev.indd 5 15/2/19 10:26 am

Page 6: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Day 3: Database handling and RESTful APIs

Day 3 teaches you how to interface Python websites with SQL databases and how to create web APIs:

• Introduction to handling databases with Flask and SQLAlchemy

• Database migrations

• Introduction to CRUD apps and RESTful APIs

• Creating web APIs and OpenAPI docs with Flask Connexion

• Group projects

Topic outline

Code G level 2 - web dev.indd 6 15/2/19 10:26 am

Page 7: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Day 4: Best practices

Day 4 teaches you about some “best practices” of development using Python, including tips and tricks for writing maintainable code in teams:

• Python style guide and docstring guidelines; Black

• Linting tools: pylint

• Introduction to unit testing of web apps; test-driven development

• Logging

• Continuous integration pipelines

• Git intro and best practices: branching strategies; tagging; semantic versioning

• Tips and tricks for writing elegant Python

• Group projects

Topic outline

Code G level 2 - web dev.indd 7 15/2/19 10:26 am

Page 8: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Day 5: Deployment

Day 5 shows you how to deploy websites to production in a scalable, secure way.

• Scalability: efficiency profiling, scaling patterns, load testing

• Task queues

• Deployment options; WSGI

• Cloud deployment on AWS Lambda

• Security essentials: HTTPS, permissions; common gotchas; automated security vulnerability scanning with Bandit

• Where to from here; further resources

• Group projects

Topic outline

Code G level 2 - web dev.indd 8 15/2/19 10:26 am

Page 9: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

You will receive a printed workbook, cheat sheets, and a USB stick containing kitchen-sink Python installers for multiple platforms, solutions to the programming exercises, several written tutorials, and reference documentation on Python and the third-party packages covered in the bootcamp.

Code G level 2 - web dev.indd 9 15/2/19 10:26 am

Page 10: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Instructor

Janis is a software developer who has been using Python since 2005. He has worked on several high-end Python projects across a variety of software industry sub-sectors, including: mathematical optimization engines for logistics, a game theory solver, a variety of backend web apps with Django and Flask, and as a scalability consultant improving Python performance.

Janis loves open source and is the author of several open source Python projects on GitHub. He is involved in education in several ways: in an in-house capacity as a Python consultant, as a regular blogger, as a volunteer for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events.

Janis is a co-founder of the Custom Programming Solutions consulting group and joined Python Charmers as a trainer in 2018.

Janis Lesinskis

Code G level 2 - web dev.indd 10 15/2/19 10:26 am

Page 11: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Instructor

Ed has consulted to or trained over 2500 people from dozens of organizations in data analytics using Python, including Atlassian, Barclays, Cisco, CSIRO, Dolby, Harvard University, IMC, Singtel Optus, Oracle, Shell, Telstra, Toyota, Verizon, and Westpac. He is well-known in the Python community as a former release manager of SciPy and the author of the widely used future package. He regularly presents at conferences in Python and data analytics around the world.

Ed holds a PhD in machine learning from Imperial College London. He also holds BA and MA (Hons) degrees in mathematics and computer science from Trinity College, University of Cambridge. He has 20+ years of experience in programming, teaching, and public speaking.

Dr Edward Schofield

Code G level 2 - web dev.indd 11 15/2/19 10:26 am

Page 12: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Instructor bio

Henry has over 15 years of experience in application development with Python, particularly in the natural resource management field. Henry’s core technical expertise relates to the development and analysis of large scale spatial datasets and communicating this understanding to people including subject matter experts and the general public. Henry has given Python training courses to staff of dozens of organizations in Australia, including AGL, Commonwealth Bank, CSIRO, National Australia Bank, Shell, and Telstra. He has worked in both government (at GA, DSE Victoria, and the EPA) and in the private sector as Senior Spatial Consultant with Sinclair Knight Merz (SKM) and we-do-IT. He holds a Bachelors in Computational Science.

Henry Walshaw

Code G level 2 - web dev.indd 12 15/2/19 10:26 am

Page 13: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Laptop: Please bring a laptop with 8 GB of memory with Windows (Vista or newer), macOS 10.10+, or Linux.

Python: Please pre-install the Anaconda Python distribution (Python 3.7 version) for your user account (e.g. in C:\Users\username\anaconda). This does not require administrator rights.

Exercises: There will be practical programming exercises throughout the bootcamp. These will be challenging and fun, and the solutions will be discussed after each exercise and provided as source code on the USB sticks. During the exercises, the facilitator(s) will offer individual help and suggestions.

Timing: The bootcamp will run from 9:00 to roughly 17:00 each day, with breaks of 45 minutes for lunch and 20 minutes each for morning and afternoon tea.

Preparation: Please read the official Python 3.7 tutorial on python.org, chapters 1–8.

Personal help: Your trainer will be available after the course each day for you to ask any one-on-one questions you like — whether about the course material and exercises, careers, or how to solve specific problems you face in your work.

Other information

Code G level 2 - web dev.indd 13 15/2/19 10:26 am

Page 14: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

About Girls in Tech

Girls in Tech (GIT) is a global non-profit focused on the engagement, education and empowerment of girls and women who are passionate about technology. Adriana Gascoigne founded GIT in 2007 to create a support framework to help women advance their careers in STEM fields.

Today, GIT aims to accelerate the growth of innovative women entering the high-tech industry and building startups. We achieve this through the creation of proprietary, innovative programming and strategic global partnerships.

With headquarters in San Francisco and more than 100,000 members located around the globe, GIT relies on volunteer efforts to lead each of the 60 local chapters. Programming and events vary by chapter based on local interests and needs. GIT is not just for professional women. We exist for anyone with an interest in technology, startups and providing women with a platform for growth. But we operate with the spirit of the girl within all of us—fearless, lively and determined.

Contact:Email: [email protected]: www.girlsintech.org

Code G level 2 - web dev.indd 14 15/2/19 10:26 am

Page 15: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

About Python Charmers

Python Charmers is a leading global provider of Python training, based in Australia and Singapore. Python Charmers specializes in teaching programming to scientists, engineers, data scientists, quants, and computer scientists in the Python language.

Python Charmers has given over 275 training courses and bootcamps since 2010 to over 3000 delighted people from organizations such as Atlassian, BAE, Barclays, BNP Paribas, Cisco, Deloitte, Dolby, GDF Engie, Singtel Optus, PWC, Shell, Sportsbet, Thales, Toyota, Verizon, Westpac, and Woolworths.

Python Charmers’ trainers boast years of Python experience and deep roots in the open source community, as both speakers at events and contributors to well-known open source projects, including NumPy, SciPy, Scikit-Learn, Pandas, and Python-Future.

Contact:Email: [email protected]: www.pythoncharmers.com

Code G level 2 - web dev.indd 15 15/2/19 10:26 am

Page 16: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Price: Free

Booking: To apply for a place on the bootcamp, please visit:

• https://girlsintech.org/programs/code-g/

Testimonials: Testimonials from past participants of similar bootcamps and training courses are available at

• https://pythoncharmers.com/testimonials

Code G level 2 - web dev.indd 16 15/2/19 10:26 am

Page 17: WEB DEVELOPMENT IN PYTHON: A 5-DAY SPECIALIST BOOTCAMP · for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events

Code G level 2 - web dev.indd 17 15/2/19 10:26 am