The "Intro to Programming" i.e. Java 101 was my first experience with programming in general, and nearly made me drop out of the CS program altogether. Something about the high-level learning and lack of understanding what was going on behind the scenes made it very difficult to grasp. It wasn't until I took a course in C the following semester that I finally began to grasp the actions behind the code I was writing. Although the code was much more difficult to write, I found the laborious process of writing C made it much easier to grasp the underlying functionality.
There's benefit in not having to understand the underlying intricacies of the code that you're writing, but there is something about that knowledge that makes it just so much more engaging.