- Extend Yourself.
- Do the Work
- Understand the system, and work it.
- Be Yourself
- Tend to Yourself
- Develop People Skills
- Don’t Get Stuck
Sage Advice from Senior Students
…from those who’ve come before to those just starting….
What follows is a collection of comments from senior computer science students. They were asked: “What advice would you give to new students just entering the program?” [i.e. “What do you wish some one had told you?”]
You are entering the Department of Computer Science. If you have a job, a girlfriend, or a social life, pick the one most important to you and say good bye to the other two! If you plan on taking more than two CPSC courses per semester, say good bye to the other one as well.
Top 10 list [Highlights]
- Start Assignments Early: they will take longer than you think.
- Make friends.
- Ask questions.
- Practice Programming. Try Stuff.
- Make sure Computer Science is really what you want to do.
- Choose options you will enjoy.
- Go to class.
- Don’t take too many CPSC courses in one semester.
- Plan your programs on paper before you start typing.
- Remember to have fun.
Some of my favorite comments:
- Wear antiperspirant & comb your hair.
- Work Hard; Play Hard
- Play Hard, Play Hard == FAIL
- Work Hard, Work Hard == BURNOUT
- Doing this for the money is stupid — it’s probably less work to join the mob.
- Be open minded – you are not the smartest person here.
- CPSC is very time consuming. Adopt good time management skills.
- You aren’t a robot. Trying to live like one will screw up your academic and personal lives eventually.
- If the prof says “figure out this problem in the next 5 minutes” TRY TO FIGURE OUT THE PROBLEM
- Be nice to people. You never know when they will be able to help (or hinder) you in the future.
- DON’T GIVE UP. It does get easier after 1st-2nd year. You learn to be a student.
- You’ll enjoy it more if you treat your work as a full-time hobby, and not just a path to a job.
- Be honest.
Other Comments: (in no particular order)
- 80 percent of the marks you get, or the fun you have, comes from 20 percent of the course material (not necessarily the same 20 percent in both cases).
- Some TA’s are morons. If you aren’t, it doesn’t matter.
- Working in groups tends to be harder, not easier.
- Work hard. Be honest. Never copy from others or you will suffer later on and in industry. Stay focused. Try to do as much programming as you can.
- Building block courses (like 231/233/355) are key to the ease or difficulty you will have with the entire balance of your program. Everything builds up from there. Don’t coast through them – try to get the best mark you can, don’t take any “shortcuts” with assignments. Your extra time now will pay off many, many times later.
- Gain real world experience as early as you can. You’d be surprised what the demand is for good 1st, 2nd, or 3rd year students. Real world experience will put you ahead of everyone else in the faculty. Also, it gives you the opportunity to find out if CPSC is really what you want to do.
- Try and get a job in your field – even just for summers.
- Keep a glossary. Terms and definitions keep coming up over and over again. Learning basic concepts like definitions makes it easier later on.
- Use a day-timer religiously. It really helps stay organized.
- Time management is very important.
- Figure out how much you can handle.
- Print out web notes, examples, etc. BEFORE class and take them with you.
- Do not sell your textbooks.
- Consider Mount Royal for your first two years.
- Be prepared to spend half of your school time in the lab.
- Be prepared to do a lot of research and learning – and projects – on your own time.
- Learn to socialize: expect lots of group work after first year. Learn to get along with your group.
- If you take advantage of CT, go prepared and go early.
- Consider the internship program.
- A PC is not a computer. If you entered CPSC because of your love of home computing, you will be disappointed. CPSC teaches you the computers of real life; business; science; etc. The vast majority of your work will NOT give you easy to click on GUIs. (Note: this was written in 2005. )
- Someone in society has to understand how the computer works at the most basic bit and byte level. That is YOU. People who think they are computer scientists because of their advanced skills with application programs aren’t computer scientists.
- Plan before you start coding.
- Read other people’s code. You can learn a lot from it.
- Get in the habit of commenting as you go. It will help you and save you time in the long run.
- If your program doesn’t work, try a different method.
- If you’ve been working on a specific problem for more than half an hour – take a break.
- Learn UNIX and it’s standard functions – the sooner the better. You will learn Windows later in business. (Note: this was written in 2005. )
- Learn to like lab culture.
- Learn or ask someone to show you how to use UNIX shortcuts like history, completion. (Note: this was written in 2005. )
- Learn classes, namespaces, templates as early as possible.
- Read the ‘.h’ files. Don’t write something if it’s already part of the C++ standard. (Note: this was written in 2005. )
- Use ‘makefiles’
- Learn where objects are created and destroyed (put ‘cout’s in the constructors and deconstructors)
- Learn where objects are created and destroyed by operators.
- Learn how to return an object.
General University Life:
- Take advantage of the facilities on campus – recreation, shows, job fairs, etc. There is lots to do besides homework. Balance in your life is important.
- Wear a condom.
- Plan your courses ahead – know what courses you need to get into the courses you want later on (e.g. Graphics requires Math)
- Learn to write.
Top 10 list [Director’s Cut]
1. Start Assignments Early: they will take longer than you think.
- Don’t leave things to the last minute.
- Programming takes 2 X longer than you expect.
- Attempt everything. Even if you don’t get done and the TA is harsh and gives you 0, at least you tried and you almost certainly learned more about what you have to do in the course. This will make the next assignment easier because you won’t be so far behind. Then start earlier next time.
- Everything you learn in one assignment is a potential tool for your next ones. You will learn a lot of different things that will each fill their own niche in your programming repertoire.
- The most important thing is to keep up with the work. Study as much as you can.
- WARNING: assignments are sometimes more difficult than they appear! Do not assume something is easy and wait till the last day.
- Allow time in your work assuming nothing works on the system. Might be because of a misunderstanding or lack of knowledge on your part, systems crashes, etc. Note that the system is typically the most stressed 24 hours before any major assignment in any class (not just yours), which is why the system is most likely to crash when you need it the most.
- Smart students realize that there are student access computer labs in many places on campus. For basic applications or even some advanced ones (if you know where to look). Don’t let a full lab or system failure of the CPSC systems necessarily stop you.
2. Make friends.
- They will probably be your best resource.
- This is one of the best parts of university.
- Pull all nighters with friends. They keep you fresh and entertained. You should only need 1 all nighter per year.
- Get to know people who program at a similar level to you to talk about stuff. It’s great to know people who know a lot more, but sometimes it just gets confusing.
- Brainstorming always helps and it’s a lot of fun.
- Try to talk to students who are farther ahead in their programs – you can usually get information on courses from them you won’t find anywhere else. Use this information to plan and schedule your classes. Use it to get head starts.
3. Ask questions.
- Ask and get help. Try to understand what goes on without just nodding and pretending you do.
- If people answer with “That’s trivial” tell them you wouldn’t ask if it was “trivial” to you.
- Make use of the TAs and the prof.
- Don’t just feel frustrated when you don’t understand. Ask classmates, TAs and your prof. Most profs (there are exceptions) are totally willing to talk after class and help.
4. Practice Programming. Try Stuff.
- The best way to learn coding is by example and trial and error.
- Don’t be afraid to make mistakes. That’s the best way to learn.
- If the prof says “try this” TRY IT!
5. Make sure Computer Science is really what you want to do.
- If you don’t like math, choose another major.
- CPSC is really hard; consider it carefully.
- Give programming a chance. If you really hate programming by midterms of 231, stick with it. Very likely things will take a while before the actual mind set needed to program sinks in.
- Try out other courses in other faculties; make sure Computer Science is really what you want to do, not just the money maker.
6. Choose options you will enjoy.
- Don’t take courses just because they are easy (that’s a waste of money). Take them because they interest you (you’ll enjoy them even if they are hard work).
- Plan your options carefully. They can make your semester a lot easier or a lot harder.
7. Go to class.
- Always: it’s 1 hour in class vs 3 hours studying later to catch up.
8. Don’t take too many CPSC courses in one semester.
- Don’t take too many total courses to start with – 4 per semester Max.
9. Plan your programs on paper before you start typing.
- Write your assignments in pseudo code on paper before you go near a computer – it will save you hours of time.
10. Remember to have fun.
- Like what you are doing. Like problem solving.
- If you are frustrated and annoyed 80% of the time, this is not for you.
- Pay more attention! Take less notes; MAX 2-sides/ class (loose-leaf paper). Write neatly! Your noteless friends will see you as GOD!