Advice from Spring 2014 Students
Prior programming experience, knowing C++
"CSCI 1100 was definitely helpful coming into this! But other than that, I had no computer experience and I learned a lot!"
"I was not familiar with C++ beforehand and did fine, though taking CS1 first rather than skipping it and going directly to Data Structures was a good choice."
"You don't need any prior experience with C++ programming (I certainly didn't have any). But at the same time, if you don't have any, don't expect to cruise through this class."
"Experience in Java is helpful, as the syntax between Java and C++ is very similar."
"Familiarize yourself with C++ before the class."
"There are many online tutorials that can help teach you the basics of C++. Even just learning the syntax and the process of compiling will go a long way."
Who should take this course
"I would say that anyone who has taken Computer Science I and enjoyed it should take this course."
"I would definitely recommend that EVERYBODY I know take this course. I don't think I've ever learned more from a class and I am a senior graduating with two majors so that's not for lack of taking courses. No prerequisites are necessary in my opinion, just spare time and some self-driven motivation."
"Make sure you have a keen interest in computer science before taking this course."
"Don't take it if it's not a requirement for your major or you're not interested in programming."
"If you're interested in stuff this advanced, you're probably already a CS major."
"Be prepared to spend 10-12 hours a week on homework. If you know what you're doing, it will take significantly less time than that."
"Take the course. As an engineer the workload is pretty typical. Everyone complains about it, but that is mostly because they aren't used to RPI workload yet."
"This course is a big step up from CSCI 1100."
"Don't be involved with too many social activities."
"Don't take Intro to Bio at the same time. They don't mix."
"I strongly suggest taking 16 credits or less when taking Data Structures."
"Allocate a ton of time for homework. You really don't need anything prior to taking this class, but the less experience you have, the more time you should allow for working on homework."
"Do not underestimate the amount of time assignments will take. Start reading the as soon as they are posted. Do not assume you will not run into issues even when you think you are almost done."
"Make sure that you put the necessary amount of time into the class and do not be afraid to ask for help from any of the different resources. The concepts take time to understand and the homeworks take a lot of time to do, so allot your weekly time wisely."
"Do the work and put in the time and you'll be fine."
"Find a study group."
"Make friends in the class, make friends with people who have taken the class before. You cannot do this class by yourself."
"Be committed to learning."
"Create good study habits."
"Be consistent with your programming practice. I was successful through continual hard work in the course along with a desire to learn and a refusal to fail."
"One of the most important keys to success in this course is your own determination. Even if you did not get an A in CS1, you have to believe that you are capable of doing well in this course."
"Look at the first homework, and if you think you could do it using C++ or any other language, you're probably good to go."
"Do not be discouraged by the first test/hw."
"Keep physically and mentally healthy."
"You have to go to all the lectures if you want to understand -- do not miss any!"
"No laptops in class."
"Take notes and participate in class to finish the in-class exercises."
"Go to lectures and try your best to pay attention. Also answer questions and write down every example... you don't know when those will come in handy."
"Start the lab checkpoints before lab, that way you can get full credit for the labs"
"Take full advantage of labs to get your questions answered."
Homework advice, starting early
"Start the homework early, at least by Sunday."
"My advice would be to not procrastinate homework."
"Start the homeworks the weekend they are assigned so you are at least thinking about them the entire week."
"Start the HW on Thursday. YES, I am talking about the second you submit the previous HW."
"Always start it at least four days in advance, and do not be afraid to go to office hours if you're stuck."
"Start the homework a week before it is due. Don't panic."
"I would start it on Monday and still have trouble getting it done ahead of time."
"Start the homeworks on Saturday. Call it Data-rday, get a group of friends together, get snacks, celebrate it, and then come in with questions on Monday for the TAs because Office Hours on any day besides Monday are horrendous."
"Don't push your homework to the last day it is due."
"I would recommend doing the programming assignments over a longer period of time, not in one or two nights, so you have adequate opportunity to ask questions if need be."
Homework advice, late days
"Late days should only be used in emergencies or on particularly difficult homework."
"Don't anticipate using a late day."
"Don't use your late days early in the semester."
"Don't blow all your late days on the first few assignments."
General homework advice
"You will learn alot if you do all the homeworks."
"Writing pseudocode or breaking down an assignment into little notes can help."
"Don't be discouraged if the solution to the assignment does not come instantly. These assignments are designed to make you think hard about a problem."
"Drawing a visual of the data structure helps immensely."
"Watch for corner cases."
"If you feel homework is too easy, then work on improving the time efficiency of algorithm."
"Be prepared for late nights and frustratingly hard work."
"Think happy thoughts and stay positive when debugging. Don't let those mountains of errors get the best of you!"
"Go to ALAC, tutors are much nicer than TAs/Mentors, more patience and more helpful."
"I would also advise them to never be afraid of going to ALAC or to TA Office Hours for help."
"You will not know everything. Ask for help."
"Go to office hours."
"If you go to office hours, go early and often. They were almost always overcrowded."
"I know it is cold out, and windy, and it is late and it is far away...but go to ALAC. Go to office hours. It will save you so much strife. And go early, go on Monday and you will have a happy Thursday."
"The biggest advice I would give is to attend as many office hours as you can. Even if you understand the assignment, office hours is a great place to get your homework done, and if you do end up getting stuck, you can immediately resolve your problem as opposed to spending hours debugging."
"Go to TA office hours, ALAC tutoring, and never give up. Use online resources to figure out syntax and don't be afraid to ask questions in lab."
"Have patience with the office hours help queue."
"Go to office hours if you have problems, the TA's are great."
"Do more small problems, handwritten, than you are given. That way you'll be faster in solving and writing out test problems."
"Be a very fast and neat writer."
"You'll have a very hard time on the test if you don't get a good amount of practice writing code on paper."
"Write down the lecture exercises, they're great for reference on the page of notes allowed for tests."
What resources did you find most helpful in learning the course material? (130 total responses)
online resources, e.g., stackoverflow.com, cplusplus.com, and google (53)
TAs / TA office hours (50)
lectures and/or lecture notes (29)
students from prior term (17)
current data structures students (16)
instructor office hours (4)
practicing coding (2)
back tests (2)
posted homework solutions (1)
private tutor (1)