NSA Python study group

London, UK

πŸ“š Study room (under development)

🎟 FREE tickets (almost sold out)

πŸ“„ Download course materials (18Mb)

πŸ’¬ Join or visit our discord server

πŸ‘ Code of conduct

Learn Python from the NSA

A recently released FOIA request made to the NSA brought their internal Python training course to light...

If you'd like to learn Python direct from NSA materials, join us on March 28th in London for our first NSA Python study group session!

  • What: Study group to learn python from the internal NSA training course
  • Suitable for: Absolute beginners; intermediate or advanced Python developers also interested in the NSA's Python training materials
  • Age restriction: 18 or above
  • Tickets: FREE tickets
  • When: Saturday March 28th, 11.00 to 16.00
  • Where: ONLINE (previously, Newspeak House in Shoreditch, London)

🌟 Python beginners with or without a background in other programming languages are very welcome! More experienced developers, come along, share your skills, and explore the course material with us.

🌟 The course is designed for self-study or classroom work. We will work together on the course material, and support each other.

🌟 We will make inroads on the first few modules and assess the course material together as we go...

πŸ’¬ We'll be communicating on our Discord server during and after the first session.

This event has switched to ONLINE only. We are currently updating our materials to reflect this.

We are seeking a sponsor to cover the cost of hospitality at future meet ups.

Please reach out to: team@policerewired.org


NSA structure

The course from the NSA is very accessible, and broken down into 2 parts...

Basics of Python (week 1)

  • 10 modules, each expected to take ~45 minutes.
  • In an intensive course these would comprise the first week.

Further topics (week 2)

  • 10 advanced modules, coverage chosen by the class as needed.

Our structure

We'll be taking things at a more leisurely pace...

Our first meet is to form a study group, explore the first few modules, and establish together how suitable the course material is for our structure.

  • We will meet periodically after that, approximately every 2-4 weeks on a weekend day.
  • At each meet, we will tackle 2 or 3 modules from late morning to mid-afternoon, taking short breaks to relax and to eat lunch.

Course materials

On 7 Feb 2020, Chris Swenson released the scanned, OCR'd output from an FOIA request he made to the NSA - asking for their Python training materials. It's a 400-page 180Mb PDF.

Shortly afterwards, Sherif Eldeeb released a reduced, 18 Mb version.

  • We have mirrored the original release here: comp3321.pdf (180Mb)
  • We have mirrored the reduced version here: comp3321_red.pdf (18Mb) - with comments

Our mirrors, hosted on Google Drive, permit commenting on the document - and we will be making use of the reduced version to share information, tips, and commentary on the material.

We have provided shortcuts to the start of the first 11 modules, under Basics of Python in the study room.

Code of conduct

Everybody should be able to feel safe and enjoy our events, free from harassment.

Please take the time to read our code of conduct. It's the same code of conduct we used at Hack the Police, and designed to ensure a positive, fun event for all.

You will need


In order to be able to participate in the study group, please remember to bring:

  • A laptop that you are able to install Anaconda Python on.
  • A power cable for your laptop.
  • Anything that you're most comfortable with making notes.


Read about this initiative in Learn Python from the NSA on dev.to - a community of software developers helping each other out.

πŸ“š Study room (under development)

πŸ“„ Download course materials (18Mb)

πŸ’¬ Join or visit our discord server

πŸ‘ Code of conduct

The study room

The study room is space where we can live stream, and also work together in groups.

It also contains a library with deep links into the first 10 modules of the material.

It's currently under development - so please bear with us as we try to get this right...

We'll see you there on Saturday the 28th!