
Secret Decoder: Creating Caesar Cipher Programs
Inquiry Framework
Question Framework
Driving Question
The overarching question that guides the entire project.How can we design and implement a Python program using functions to encrypt and decrypt messages with a Caesar cipher while understanding its practical applications and limitations in today's digital world?Essential Questions
Supporting questions that break down major concepts.- How does the Caesar cipher work as a method of encryption and decryption?
- What are the key components needed to create a function in Python?
- How can we use Python functions to encode and decode messages efficiently?
- Why is data encryption important in today's digital world?
- What are the limitations of using a simple Caesar cipher for encryption?
Standards & Learning Goals
Learning Goals
By the end of this project, students will be able to:- Students will understand the basic principles of a Caesar cipher and how it encrypts and decrypts messages.
- Students will be able to define and implement functions in Python, including using parameters and return values to handle data.
- Students will design and write a Python program that can encrypt and decrypt messages using a Caesar cipher.
- Students will analyze the advantages and limitations of using a Caesar cipher for encrypting messages in the modern digital context.
Computer Science Standards
Entry Events
Events that will be used to introduce the project to studentsThe Great Cipher Competition
Host a 'Great Cipher Competition' where students compete in teams to encrypt and decrypt messages the fastest using a Caesar cipher. This competition format sparks interest in optimizing their Python programs and understanding function-based programming thoroughly.Portfolio Activities
Portfolio Activities
These activities progressively build towards your learning goals, with each submission contributing to the student's final portfolio.Cipher Basics Bootcamp
In this activity, students learn the foundational concepts of the Caesar cipher and explore its historical relevance as a method for encryption and decryption. They'll understand how shifting letters creates a basic form of cryptography.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA written explanation of how a Caesar cipher works with a manually created encoded message.Alignment
How this activity aligns with the learning objectives & standardsCS.7.CYPH.2 - Explain how the Caesar cipher encrypts and decrypts messages.Python Function Fundamentals
This activity introduces students to the fundamental concepts of functions in Python. Students will learn how to define a function, use parameters, and return values through simple examples.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA set of simple Python functions demonstrating the use of function definition, parameters, and return values.Alignment
How this activity aligns with the learning objectives & standardsCS.7.F.1 - Understand and apply the fundamental concepts of functions in programming.Encryptor Function Builder
Students design a Python function specifically for encrypting messages using a Caesar cipher. This activity focuses on implementing the algorithm in Python, using their knowledge of functions and parameters.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA Python function that encrypts messages using a Caesar cipher.Alignment
How this activity aligns with the learning objectives & standardsCS.7.F.1, CS.7.IMP.3 - Apply core function concepts and implement algorithms to solve problems.Decryptor Function Challenge
Building upon the previous activity, students now create a Python function to decrypt messages, understanding the inverse operation of the Caesar cipher.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA Python function that decrypts messages encrypted by a Caesar cipher.Alignment
How this activity aligns with the learning objectives & standardsCS.7.F.1, CS.7.CYPH.2 - Implement decryption algorithms and understand the Caesar cipher's mechanics.Cipher Critique & Optimization
In this reflective activity, students analyze the efficiency and limitations of their Caesar cipher programs and explore improvements or alternatives.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA presentation on the optimization of their Caesar cipher program, including a critique on its usage today.Alignment
How this activity aligns with the learning objectives & standardsCS.7.CYPH.2, CS.7.IMP.3 - Discuss computational limitations and optimize algorithms.Rubric & Reflection
Portfolio Rubric
Grading criteria for assessing the overall project portfolioCaesar Cipher Python Project Rubric
Understanding of Caesar Cipher
Assesses the student's comprehension of how the Caesar cipher encrypts and decrypts messages, as well as its historical significance.Explanation of Caesar Cipher
Evaluates the clarity and accuracy of the student's explanation of the Caesar cipher, including the process of encryption and decryption.
Exemplary
4 PointsProvides a detailed, historically informed explanation of the Caesar cipher with clear descriptions of encryption and decryption processes.
Proficient
3 PointsOffers a thorough explanation of the Caesar cipher with accurate descriptions of encryption and decryption processes.
Developing
2 PointsProvides a basic explanation of the Caesar cipher with some inaccuracies in describing encryption and decryption.
Beginning
1 PointsGives an incomplete or inaccurate explanation of the Caesar cipher and fails to clearly describe its processes.
Written Encoded Message
Assesses the accuracy and creativity of the student's manually created encoded message using the Caesar cipher.
Exemplary
4 PointsCreates an accurately encoded message using an advanced understanding of the Caesar cipher.
Proficient
3 PointsProduces a correctly encoded message demonstrating comprehension of the Caesar cipher's mechanics.
Developing
2 PointsCreates a partially accurate encoded message showing some understanding of the Caesar cipher.
Beginning
1 PointsProduces an inaccurately encoded message with minimal understanding of the encoding process.
Python Function Development
Evaluates the student's ability to define, implement, and use functions in Python to encrypt and decrypt messages.Function Definition and Usage
Assesses the correct definition of functions, including parameters and return values, in Python.
Exemplary
4 PointsDefines functions with precision, using appropriate parameters and return values, demonstrating an innovative approach to tackling problems.
Proficient
3 PointsAppropriately defines functions, using correct parameters and return values, to solve problems effectively.
Developing
2 PointsDefines functions with some inaccuracies, attempting to use parameters and return values in solving problems.
Beginning
1 PointsStruggles to define functions correctly, with minimal use of parameters and return values.
Encryption/Decryption Algorithm Implementation
Evaluates the correct implementation of the Caesar cipher encryption and decryption algorithms in Python.
Exemplary
4 PointsImplements highly efficient encryption and decryption algorithms with logical structuring and error-free execution.
Proficient
3 PointsImplements functioning encryption and decryption algorithms that execute correctly with few errors.
Developing
2 PointsImplements basic encryption and decryption algorithms with several errors in execution.
Beginning
1 PointsFails to implement workable encryption and decryption algorithms, resulting in numerous execution errors.
Critical Analysis and Optimization
Assesses the student's ability to critique and optimize their Python program and analyze broader cryptographic concepts.Program Optimization and Efficiency
Evaluates the student's ability to enhance their program's efficiency and adapt it to handle edge cases.
Exemplary
4 PointsDemonstrates advanced optimization techniques, significantly improving program efficiency and robustness to edge cases.
Proficient
3 PointsApplies optimization techniques to improve program efficiency and address some edge cases.
Developing
2 PointsAttempts basic optimization with limited success in improving efficiency or addressing edge cases.
Beginning
1 PointsMakes minimal or ineffective attempts to optimize program efficiency or address edge cases.
Cryptographic Analysis and Presentation
Assesses the quality of the student's critique and understanding of the Caesar cipher in modern contexts.
Exemplary
4 PointsPresents comprehensive critique and insightful analysis of Caesar cipher's efficacy and limitations in modern cryptography.
Proficient
3 PointsProvides thorough critique and analysis of the Caesar cipher's strengths and weaknesses.
Developing
2 PointsGives basic critique with limited analysis of the Caesar cipher's role in contemporary cryptography.
Beginning
1 PointsPresents superficial critique with minimal analysis of the Caesar cipher's modern relevance.