Hey toastedpitabread,
Thanks again for following up with my question. And thank you for letting me know how to format code lines in the forums. 
To answer your question as to how I would conceptually approach answering this problem, I would make a program that would take an Array, reverses that Array, and then checks if the two Arrays are equal. Now coding that is a whole different story as I am learning how to code those conceptualizations. I do understand that the original code I provided does not account for Arrays of 0-1 characters, as the code stands, the output print will state that those Arrays are palindromic, which of course those type of Arrays are not. But, for the purpose of this exercise I will make a comment that this problem works for Arrays for 2 or more characters.
Here is how I would make this program based on my conceptualized answer:
//Works for Arrays for 2 or more characters.
var text = ["o","t","t","o"]
//We have not learned how to .reverse() yet in Codecademy, but it would be simple
//enough to look up as I understand how these functions can work though other
//lessons that used ".count". This function would work with Arrays or Strings,
//but I stayed with Arrays to keep this as close to the lesson topic.
var reversedText = Array(text.reversed())
if text == reversedText {
print("\(text) is a Palindrome!")
}
else {
print("\(text) is a Palindrome!")
}
Now back to my original question, I am confused as to how the code below (the one Codecademy is asking us to complete) is indeed “reversing” the original, or doing something of the sort:
var text = ["h", "e", "l", "l", "o"]
var reversed = [String]()
var counter = text.count - 1
while counter >= 0 {
reversed.append(text[counter])
counter -= 1
}
if text == reversed {
print("\(text) is a palindrome!")
}
else {
print("\(text) is not a palindrome.")
}
As I look at this var:
var counter = text.count -1
Is this var saying that “counter= text counting backwards or -1, so, starting at the “o” in hello?” If so, how does that make sense? If I print(counter) after that var I get 4, which makes sense as text (5) - 1 = 4.
The while loop body also baffles me:
reversed.append(text[counter])
counter -= 1
To me this “reads”: add (hello[4]) to the var reversed. Codecademy just ends that section of the project step with, " Now we have reversed
, the exact flip of text
, we now want our program to check whether or not we have a palindrome." But HOW and WHY?
I’m so confused.