Cryptography and Computer Programming

Date(s) & Location(s):
June 10 - 28, 2024 in Durham, NC (In-person portion starts June 23rd)
Grades Eligible:
Rising  10th 11th 12th
Course Description:

This course introduces students to cryptographic methods used to encipher and decipher secret messages with an emphasis on using computer programming to automate the process. As the learning journey unfolds, students will advance to explore more sophisticated cryptographic techniques, understanding not only their implementation but also developing the skills to analyze and break them.

Join us in this immersive experience where the realms of programming and cryptography converge, offering a comprehensive exploration that goes beyond the basics.


Throughout this course, students will:

  • learn a variety of encryption schemes ranging from classical to modern and some techniques to read the secret messages without the key. 
  • master programming topics such as variables, functions, conditional logic, looping, and file input/output in the Python language to implement each cryptographic method. 
  • design data analysis and visualization projects.
  • become familiar with the fundamentals of programming in Python and simple cryptographic methods.