There are lots of good choices. (I teach CS1 and CS2, as well as game programming.) First, of course, learn to think like a computer scientist. Don't get too tied up in the language, because the concepts truly are universal.
Java is a pretty good language, but building a game in Java is a bit tedious. There are some interesting engines out there that make the process a bit easier. Unfortunately, it can be kind of painful to attach a game engine to your editing tool.
I like the FANG engine (sadly I can't post hyperlinks yet, so look it up on Google.) One interesting part of this project is the online editor. This means you can start right away without having to mess with eclipse settings.
I'm really not a fan of Game Maker. The GUI is fine for people who don't want to learn how to program, and it's a decent (but not great) prototyping tool. However, there are two things about it I don't like. First, it's commercial. That isn't a bad thing, but if there are free open-source alternatives that are just as good (and there are) maybe you should look into them first. The bigger problem with Game Maker is the scripting language. Eventually you're going to outgrow the GUI, and you'll want to actually start writing code. The Scripting language in GM is pretty backwards-thinking. Since you're a CS major, you are (I hope) interested in code re-use, elegance, clarity, efficiency, and modularity. The GM language will disappoint you.
I love Python and Pygame. (In fact, I wrote a book about them. See all my notes and online videos on my site if you want. You're welcome to those resources whether you have the book or not.) Python is a nice elegant language that isn't too difficult to learn (especially if you already know how to program.) Pygame is a wrapper on the popular SDL 2D engine. In fact, I've added a second wrapper to pygame to make it about as easy to work with as Flash.
Speaking of Flash, I don't think that's worth it. (I know you didn't ask) It's a good platform, but the cost and uncertainty about how it will fare on mobile devices means it may not be that great a learning tool. (I wrote a book about game dev in Flash, too, but I don't teach Flash any more.)
Here's some other great things to try. Get a copy of scratch from MIT:
It's made for kids, but don't let that put you off. It is an absolutely incredible game and animation tool. The programming uses tiles, so it's easy to get started with. You'll be utterly amazed at what you can do with it.
You might also try Alice from Carnegie Melon www.alice.org The latest (3rd) edition is actually an extension to Java, which uses Sims2 Models.
Both Scratch and Alice are free.
One more great tool to look into is Blender
It's a 3D modeling tool, but many people don't know it's also a complete game engine with a drag-and-drop programming interface. Once you've outgrown the tiles, it has Python support built in.
Best of luck to you, and let me know if you have more questions.