Return to Index
Inheritance : 07/05/2022
Data Modeling 1 : 07/05/2022
Static : 07/01/2022
Encapsulation : 07/01/2022
Constructors : 06/30/2022
Objects, Continued : 06/30/2022
Introduction to Objects : 06/29/2022
Compilation and Type Inference : 06/29/2022
Practice with Collections : 06/28/2022
Maps and Sets : 06/28/2022
Lists and Type Parameters : 06/27/2022
Imports and Libraries : 06/27/2022
Multidimensional Arrays : 06/24/2022
Practice with Strings : 06/24/2022
null : 06/23/2022
Algorithms and Strings : 06/23/2022
Strings : 06/22/2022
Functions and Algorithms : 06/22/2022
Practice with Functions : 06/21/2022
More About Functions : 06/21/2022
Errors and Debugging : 06/20/2022
Functions : 06/20/2022
Practice with Loops and Algorithms : 06/16/2022
Algorithms I : 06/16/2022
Loops : 06/15/2022
Arrays : 06/15/2022
Compound Conditionals : 06/14/2022
Conditional Expressions and Statements : 06/14/2022
Operations on Variables : 06/13/2022
Variables and Types : 06/13/2022
Welcome to CS 124 : 06/13/2022
Practice with Strings
Java
Created By: Geoffrey Challen
/ Updated: 2022-05-26
Welcome back!
Our next lesson is entirely focused on one problem: encryption.
We're going to modify the normal lesson flow.
We'll start with the homework problem at the top.
If you'd like to just go at on your own, go for it!
And, if you'd like a bit of help, we'll break it down piece-by-piece below.
Let's get to it!
Show how to complete the homework problem above. Feel free to cover multiple approaches!
Rot-13 Part 0: Understanding the Problem
Let's break down this problem into smaller pieces, and spend a few moments just orienting ourselves and figuring out what to do.
We won't write test cases yet, and instead save them for the smaller pieces that we're about to create.
Provide an overview of our algorithm and what we need to do.
Discuss remapping each character.
This explanation should be language-agnostic!
Interactive Walkthrough
Click on an icon below to start!
Rot-13 Part 1: Character Mapping
Now that we have a sense of what the different pieces are, let's look at one of the core challenges: remapping each character.
We'll also write some simple test cases for our helper method.
Implement and test character remapping.
Interactive Walkthrough
Click on an icon below to start!
Rot-13 Part 2: Breaking Down the String
At this point we've identified how to remap individual characters.
Next we need to review how to break the input String
into individual characters.
Provide an overview of our algorithm and what we need to do.
Discuss remapping each character.
Interactive Walkthrough
Click on an icon below to start!
Rot-13 Part 3: Putting it All Together
Now that we have our building blocks, let's integrate everything together!
Discuss integrating multiple methods together.
Probably not ideal, but it's what we'll do this time.
Interactive Walkthrough
Click on an icon below to start!
More Practice
If you are enjoying String
s, rotation, and modular arithmetic, and haven't had enough yet—here is a practice problem that you might enjoy!
Show how to complete the homework problem above. Feel free to cover multiple approaches!