Keys for Success in CS180
CS180 is a Purdue CS rite of passage, but with these tips, you can get through!
Walking into CS180 for the first time I was met with a combination of exhilaration and nervousness. Never before had I taken a class with so many other people and I couldn’t wrap my head around how it would work. How do they give assignments and grade them for everyone? How does the professor answer questions if someone is confused? Do my classmates know the same level of programming? It took some time and effort, but I did get acquainted with the environment and found my groove with lectures, labs, assignments, and tests. Even as a senior looking back, CS180 ended up being one of my favorite classes at Purdue and I’d like to share some tips that helped me along the way.
Find a Study Group - Whether it’s fellow students in your lab, or other CS majors on your dorm floor, do your best to meet and get to know people in a similar situation as you. You’ll be amazed at the good times that will come: laughing about silly NullPointerExceptions or catching the midnight midterm grind reviewing the intricacies of polymorphism. Plus, it’s great to have some fun experiences to share when you need a break from studying. I especially enjoyed playing basketball at the CoRec and board games like Werewolf.
Ask Questions - There will be an online forum like Piazza or Campuswire with a plethora of questions about the current assignments and lecture topics that are very helpful! I encourage you to browse, add to, or – if you’re feeling confident – answer another student’s question! It’s also great to follow the questions students are asking in lecture, often on an app like Hotseat. The TA’s watch and answer questions so you can get clarifications without breaking the flow of the ongoing lecture.
Use the Debugger - The debugger is a tool built into most programming applications, including IntelliJ which you will use for this class. Admittedly, it looks menacing when you first learn it. There’s too many buttons and it feels like you need an instruction manual to use it right. Give it some time, however, and you’ll see how powerful it can be. When trying to track the state of your program, print statements help sometimes but the debugger’s ability to show all variable values and see how executing each line of code changes was extremely valuable to me as I resolved the peskiest of bugs.
Start Assignments Early - It’s fine if you don’t finish early, but it goes a long way to start looking at the handout for the new homework or project when it first comes out. I would often reach a mental block on assignments in which I faced an issue and nothing I did seems to make progress toward a resolution. Nine times out of ten, taking a break and looking at it with fresh eyes helped me find a fix instantly, but I could only do this if the deadline was a few days away.
Utilize the Resources Available - There is no other class that has as many resources available as CS180, because…it’s tough! If your code has even one bug, you probably won’t be passing the test cases with full credit. Not to worry, the resources – Office Hours, SI Sessions, USB Help Room, Lab Sessions – are a lifesaver. They can be intimidating at first, but if you prepare a question and come ready to explain to the TA/tutor the issue and what you have tried to fix it, they can guide you to a better understanding so you can solve it at last.
Don’t Get Caught Up on the Details - CS180 doesn’t just teach you the Java programming language, it teaches you how to learn. In reality, no skilled programmer knows all the small details off hand, but rather how to properly research and read documentation to look up the correct syntax when needed. So don’t sweat it! When learning how to code, it can be frustrating trying to keep track of the intricacies like when to use length vs length() or how to format a class constructor. You might find it more useful to view the class as a tool, teaching you to use tools like StackOverflow and built-in IDE resources to figure out the correct code, and slowly but surely the process will become natural.
Most importantly, enjoy the ride! Best of luck!