Skip to content

Workshop materials for the workshop "Computer Science Crash Course for Python Hackers" at PyBay 2017

Notifications You must be signed in to change notification settings

Bradfield/pybay2017

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Science Crash Course for Python Hackers

Hi! 👋 Thanks for joining this pre-conference workshop for PyBay 2017.

This will be a whirlwind tour through a number of important computer science topics, designed for Python hackers without a formal CS background. If you can hack out Python code without too much trouble, but don't always know how and why it works (or how you might make it run faster) then I'm sure you'll have learn a lot today and have a great time too!

As you may know, a formal undergraduate education in computer science typically takes 4 years, whereas we will have around 6 hours 😳. Even at Bradfield (where we run accelerated computer science courses for practicing software engineers) we still take a month on each topic. So today we'll just aim to give you an overall map of the terrain, and hopefully inspire you to learn much more!

I'd also like to point out that it's always to calibrate the difficulty of exercises to a large group, particularly before knowing all your backgrounds. For that reason, we've erred on the side of having too many exercises, with enough stretch goals that even the most experienced folk still have more than enough to work through. This could make you feel like you're falling behind! Please don't worry, my expectation is that we won't be able to cover all the content or complete all of the exercises. Everything should be described well enough that you can finish things off at home.

Optimistic structure for the day

If we do manage to get through everything, the day will look roughly like this:

  • Introductions and expectations
  • Discuss binary representations of data
  • Exercise 1 - convert a bitmap file to grayscale
  • Discuss algorithm analysis and linear data structures
  • Exercise 2 - implement an efficient queue
  • Discuss hashing and hashmaps
  • Exercise 3 - implement dict
  • Discuss the layered network model
  • Exercise 4 - parse a network packet
  • Discuss compiler/interpreter architecture
  • Exercise 5 - write a simple Python bytecode interpreter

We'll take short short breaks between each exercise, and make one of those a longer break for lunch, depending on progress.

Keeping in touch

If you'd like to keep working on the exercises after today, feel free to email questions to [email protected]. To keep in touch about future workshops and courses, join our weekly-ish newsletter, Bradfield Beeps.

License

All rights reserved. Exercises and other all other material here is property of the Bradfield School of Computer Science. Feel free to share this with other learners, but please don't incorporate any of it into a class or workshop without our permission.

About

Workshop materials for the workshop "Computer Science Crash Course for Python Hackers" at PyBay 2017

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages