How can I help my students to think algorithmically?
Rather than giving them processes to model algorithmically, have them start coming up with algorithms for everyday activities. Here is the formal assignment I have students complete: CS50 AP - Everyday Algorithms.

They begin with a simple pseudocode example:

1   look out the window
2   if it is raining outside
3      put on your rain boots
4      put on your raincoat
5   go outside


After they get comfortable with pseudocode, students write their own simple algorithm:


  Okay, now you’ve learned a lot about algorithms and pseudocode.
  Perhaps we should try writing a few—three, to be precise. First, write
  up algorithms (both in sentence form and in pseudocode) for how to:
  
  
  brush one’s teeth
  eat an orange
  
  
  Next, think of something that you do every day or nearly every day.
  Write an algorithm in sentence form and in pseudocode for how to do
  the thing you’re thinking of.


Students will take more ownership and may understand it new ways if they are coming up with the processes to model based on something important to them. While your example certainly works well, what about students for whom getting a paycheck is unfamiliar territory? You want to use a student's prior knowledge to your advantage, so the focus is solely on the algorithm, not the algorithm and some other idea.

Another essential element I found to getting students to think algorithmically is to model it in all things I do at the start of the year. Everything is a process as follows: input -&gt; algorithm -&gt; output. Let's say I want to take attendance or assign seats. I think out loud with an algorithmic process. My input is an uncounted group of students, and my desired output is a counted group as a means of attendance. Here's the algorithm I use, which I borrow from CS50's first lecture at Yale:

1 stand up and assign yourself the number 1
2 pair off with someone standing, add your numbers together, and adopt the sum as your new number
3 one of the pair should sit down; the other goes back to step 2


The value of this exercise is it gets student moving. Differentiation is essential for teaching students to think in a new way. Get them moving and talking to each other. Make it relevant to their everyday experience.