Skip to main content
7 answers
7
Asked 1642 views

Any tips for people going to study computer science?

I want to make sure I learn good study habits and don't fail. I want to keep my head up and follow through my dreams without getting lost. # #computer-science #studying-tips #college

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

7

7 answers


0
Updated
Share a link to this answer
Share a link to this answer

Julian’s Answer

Hey Jose,

Deciding to study computer science was one of the best decisions I've ever made!


1 - Learn how to learn

More important than any one skill or coding language is figuring out how to find the information you need. Throughout my time in college and in my real job, I've had to dive into YouTube videos, Stack Overflow questions or long blog posts explaining how to do things. This industry is so big that nobody knows everything, but knowing how to get the information you need is how you pass tests, prepare for interviews, and get your work done.


If you're reading this answer, that probably means you were able to search and find this website which means you're already on the right path! Nice! You'd be surprised how difficult this process is for many people.


2 - Do Hackathons and Network

For those unfamiliar, Hackathons are weekend long computer science competitions where people try and build experiments and cool ideas.


I didn't grow up in a city where I knew a lot of Software Engineers, and when I went to college, my school did not receive recognition from the big companies. Hackathons became my career fair! Hundreds of competitions are happen every year, and sponsor">all the big companies show up to sponsor with their recruiters. People with all levels of experience are welcome – some people are coding experts, some people are designers, some people just show up to try something new! Show up to these with resumes, chat with the recruiters, drink some caffeine, and if you work hard and have a good enough idea, you might even walk away with some prizes! Hackathons also give you small time windows to be focused and produce something demo-able.


This was how I met the Amazon recruiter and how I landed an Amazon internship!


3 - Don't worry if you don't finish. Have fun and experiment

One of the things that worked for me was a willingness to pick up and put down different project. I almost never finished anything, but in the process of trying things I learned several new technologies and solved lots of interesting problems. Sometimes the need to check every last box, or complete a specific problem that may be worded confusingly or just too difficult for you can be a demoralizing enough that you walk away from it. There is so much to learn, that being willing to keep trying different problems and challenges is extremely valuable.


Also, sometimes you learn the most by just trying ideas. Want to make an iPhone app? Download Xcode and start messing around. I had a really fun project a few years ago when I tried to work with Raspberry Pi, and didn't know anything about it but I learned a lot by making mistakes. Remember, most code is reversible and fixable – It's cheap and easy to make mistakes. I find projects like these the most enjoyable.


Good luck!


Links for udacity classes in next steps:

Udacity's Intro to Computer Science Class

Udacity's Web Developement

Julian recommends the following next steps:

If you're trying to figure out what coding class you should take first, I highly recommend Udacity's Intro to Computer Science Class. This class was much better than my university's Intro to Computer Science class and it's totally free! It breaks down the information into easy to digest pieces, and provides challenges that increase difficulty gradually.
The second class I took was Udacity's Web Developement. Between these two, you'll actually start to have enough skills to make something useful and learn more. These two classes were the only skills I took to my first hackathon
Check out Major League Hacking and find hackathons near you!
0
0
Updated
Share a link to this answer
Share a link to this answer

Tristan’s Answer

Hey There Jose,

There's a lot of great answers above, but if I may give my two cents...

1) In terms of keeping your head up, and not letting your dreams fail; you won't. There's often a feeling that certain technical aspects or technologies can provide to be quite the challenge. However, I like to abstract the strife that comes from any of these things and state that the biggest challenge of a Computer Scientist is maintaining confidence. Engineering is the field of solving problems that don't have answers, and thusly you're going to feel often that you; Don't know enough, aren't smart enough, don't have the skills etc. This couldn't be further from the truth.

What you really do as an Engineer is be bold in the face of these challenges, despite their occasionally overwhelming scope. Yes, it can be quite daunting at times, but by developing your skillset, gathering your resources, and maintaining your confidence, you can solve any problem in the world.

Be bold, my friend. You will succeed, I know it.

2) How do you build good study habits? How do you build the right skills? These are totally valid questions, and if only it were so simple as providing a checklist for you. However, what I can tell you are a few things that were HUGE for me in school, and I think will be helpful for you too. Understand the resources you have available, and use them to your fullest extent. People, professor office hours, online resources, asking strangers questions, all of the above. Do not be shy, the most successful people in the world are the ones that rely on the people around them. The other thing I would say is learn to manage your time. There is more than enough time to dedicate to all your classes, friends, hobbies, etc. The hard part is learning how to balance them effectively. Good study habits will come as a by product from time management.

3) Some of my colleagues have responded to your question suggesting to take an aptitude test. While these can be useful tools, don't put all your worth in the results. When I was applying to college, my aptitude test said I wasn't ready for anything engineering related, or even college itself. I'm extremely pleased that I did not take those results to heart, as I carried on to succeed and do extremely well through college and immediately after.

Again I say, be bold, ask for help, and don't let any small losses bring you down. I'll see you at the finish line! And feel free to ask me any questions.

~Tristan
0
0
Updated
Share a link to this answer
Share a link to this answer

Dhairya’s Answer

Hi Jose,


Great question and good job being proactive. Computer science classes can be challenging and will require good organization and preparation. Here's a few things I found helpful while taking classes both in undergrad and in my masters degree in software engineering.


Get familiar with the programming language before the class starts.

  • You may find that you'll need to learn a new language programming language for the class. If that's the case, a lot of your early challenges will be around getting your local environment set up, syntax issues, and code compilation/execution.
  • So take the time either before the class starts or early in semester to do online tutorials and get familiar with writing code in that language. You'll be ahead of the curve and actually able to focus on the substance of the class.

Start Early and ask for help when you get stuck.

  • I used to often underestimate the time and work it would take to finish CS assignment. It will always seem easier in your head and then when you start coding, you'll come against unforeseen issues. The best way to deal with this is start as soon as possible. If an assignment is due in two weeks, spend at least an hour a day and work on it. This way if issues come up you can get help and be on track to finish the assignment.
  • It can be scary to ask for help. But most classes will have teaching assistants and Professor will also have office hours. Don't be afraid to ask for help when you get stuck. They are there to help you.

Form a study group

  • Often its helpful to code with others. A study group will keep you accountable and is great way to learn. In the real world, you will end up work with colleagues to solve a problem and need to communicate well with them to solve a problem. Study groups are a great way to get prepared for that.

If you get stuck, don't get discouraged. Keep trying until it makes sense.

  • For many student computer science is a complete new world. Learning to code is like learning a new language and algorithm analysis is like relearning how to think about the world. If its hard, that's a good sign. You are learning a new way to understand the world and solve problems. Keep at it, ask for help and it will eventually make sense.

Pursue side projects

  • The best way to learn in CS is by doing. Be curious and take the time learn new things. If you're curious about AI, take a udacity or edx class and start coding. Want to learn how to make a website, find a tutorial and do it. Don't wait to be taught. In the real world you'll often have to research and learn new skills on the fly. This will help you grow confident in your ability to learn new things and become a more well rounded engineer and scientist.

Good luck and feel free to ask more specific questions about CS here!

0
0
Updated
Share a link to this answer
Share a link to this answer

Ken’s Answer

This answer will be for both of your questions.


Congratulations on being interested in finding the right career to follow.. It takes a special person to enter into a specific career field and meet the demands which that career area presents. The first step is to get to know yourself to see if you share the personality traits which make one successful in that area. The next step is doing networking to meet and talk to and possibly shadow people doing what you might think that you want to do to see if this is something that you really want to do, as a career area could look much different on the inside than it looks from the outside.  When I was doing college recruiting, I encountered too many students, who skipped these important steps, and ended up in a career/job for which they were ill suited.

Ken recommends the following next steps:

The first step is to take an interest and aptitude test and have it interpreted by your school counselor to see if you share the personality traits necessary to enter the field. You might want to do this again upon entry into college, as the interpretation might differ slightly due to the course offering of the school. However, do not wait until entering college, as the information from the test will help to determine the courses that you take in high school. Too many students, due to poor planning, end up paying for courses in college which they could have taken for free in high school.
Next, when you have the results of the testing, talk to the person at your high school and college who tracks and works with graduates to arrange to talk to, visit, and possibly shadow people doing what you think that you might want to do, so that you can get know what they are doing and how they got there. Here are some tips: ## http://www.wikihow.com/Network ## ## https://www.themuse.com/advice/nonawkward-ways-to-start-and-end-networking-conversations ## ## https://www.themuse.com/advice/4-questions-to-ask-your-network-besides-can-you-get-me-a-job?ref=carousel-slide-1 ##
Locate and attend meetings of professional associations to which people who are doing what you think that you want to do belong, so that you can get their advice. These associations may offer or know of intern, coop, shadowing, and scholarship opportunities. These associations are the means whereby the professionals keep abreast of their career area following college and advance in their career. You can locate them by asking your school academic advisor, favorite teachers, and the reference librarian at your local library. Here are some tips: ## https://www.careeronestop.org/BusinessCenter/Toolkit/find-professional-associations.aspx?&frd=true ## ## https://www.themuse.com/advice/9-tips-for-navigating-your-first-networking-event ##
• It is very important to express your appreciation to those who help you along the way to be able to continue to receive helpful information and to create important networking contacts along the way. Here are some good tips: ## https://www.themuse.com/advice/the-informational-interview-thank-you-note-smart-people-know-to-send?ref=recently-published-2 ## ## https://www.themuse.com/advice/3-tips-for-writing-a-thank-you-note-thatll-make-you-look-like-the-best-candidate-alive?bsft_eid=7e230cba-a92f-4ec7-8ca3-2f50c8fc9c3c&bsft_pid=d08b95c2-bc8f-4eae-8618-d0826841a284&utm_medium=email&utm_campaign=daily_20171020&utm_source=blueshift&utm_content=daily_20171020&bsft_clkid=edfe52ae-9e40-4d90-8e6a-e0bb76116570&bsft_uid=54658fa1-0090-41fd-b88c-20a86c513a6c&bsft_mid=214115cb-cca2-4aec-aa86-92a31d371185&bsft_pp=2 ##
0
0
Updated
Share a link to this answer
Share a link to this answer

Ana’s Answer

From personal experience, the best things you can do to prepare yourself and what you should do during the CS program is 1) review/study whatever you learn that day, this helps to ensure you understand the material and find out if you don't. 2) Ask questions, do not be shy to ask the professor to explain if you don't understand 3) Practice, practice, practice.


Lastly, if you need help understanding something, most professors are eager to help and explain in more details. Use their office hours, and you will be surprise how much you will learn.



0
0
Updated
Share a link to this answer
Share a link to this answer

Sachin’s Answer

Assuming there's a reasonable interest in the field which is why you picked up Computer Science, Learning the core fundamentals can get a bit daunting since theres just an ocean of knowledge and a lot of concepts that you will learn. I would suggest thinking of a cool project you might wanna work on, pick up courses that help you meet those requirements, that way you mix a fun project with your classes and it helps you understand the concepts better. The trick is to make it relatable to churn the most understanding out of any course, if you can't find anything relatable, find a project to apply your concepts, how ever small that project may be! Good luck!

0
0
Updated
Share a link to this answer
Share a link to this answer

Mauricio’s Answer

There are already some great answers here but I just wanted to add one more thing, especially as you are approaching your junior/senior years. I can't emphasize enough how important it is to get an internship as soon as you can, no matter what the pay is. In my junior year a friend of mine approached me with an internship position at a company he was working at. At the time I had some basic programming experience with Java/C, enough to get by with the programming projects at school. In that one summer where I worked there, I learned PHP, MySQL, JavaScript/JQuery, git, HTML and CSS. It was literally a ton of work experience crammed into 3 months, and I can honestly say I learned way more in that internship than my previous 2 years at school. When I came back from my summer internship I was able to breeze through some classes I took dealing with data management!

0