Skip to main content
6 answers
6
Asked 1345 views

What are some good ways to study Computer Science?

#women-in-tech #technology #computer-science #computer-engineering

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

6

6 answers


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

Eric’s Answer

Best of the Village

Hi, Kayla!


I don't know what your background is, so I'll start at the very beginning and maybe some of it will be obvious and you'll skip over it.


School is a good, safe route. If you have a chance to take an AP Computer Science course in high school, then do so, and other than that, you can't go wrong with math, and good writing skills will eventually come in handy so don't neglect English (though some people, like me, do neglect English, and mostly turn out fine, at the cost of having to learn how to write technical documents clearly years later). From there, go to a college with a good Computer Science program. This is a popular topic for colleges, so it should be easy to determine which colleges that seem the most interesting also could teach you Computer Science well. A B.S. in Computer Science is a good start and will give you a lot of direction, though it is usually not sufficient for a career in CS on its own, nor is it always necessary. While in college, internships are a good way to get skills and practice in a real working environment.


There is also a fair amount of self-driven study available, if you are the kind of person who likes that.


The sooner you start learning the basics, the better, so if you don't already know how to code, I'd recommend picking it up. codeacademy.com is a well-known starting place which covers several possible languages. You could also try a number of language-specific tutorials across the Web, like the Python ones here: http://docs.python-guide.org/en/latest/intro/learning/ or the Web ones here: https://developer.mozilla.org/en-US/docs/Learn


As a side note, you'll quickly find that there are a lot of different programming languages, tools, and so on out there, all with different specialties. A fair amount of programming knowledge is general, so if you learn any one, it will be easier to learn your next one, and after you have learned a few, it will be fairly easy to pick up a new specialty. Because of this, I'd recommend starting with one that particularly interests you, because then you'll have a more enjoyable time learning it. For some categories and the languages I'd recommend:


Web development - HTML, CSS, and JavaScript

Android apps - Java or Kotlin

iOS apps - Objective-C or Swift

Server-side (for Web development or just text-based programs): Python

Weird math-y programs: Haskell

Embedded systems (microprocessors): C, or the Arduino language (for Arduino chips in particular)


Here it seems worth noting, since it's often unclear, programming is the actual act of writing instructions for a computer. Computer science is the study of ways to solve problems and approaches to use when coming up with the instructions. Computer science can be an obscure branch of math if you want to study that part of it, but most people who get an undergraduate degree in CS are really learning a little bit of CS, and a lot more programming and software engineering (which is programming plus working with other people, be they other programmers or users, and making sure your programs will keep working). For most people, the best way do what they mean when they say they want to learn computer science is to learn to program, and then as they want to write more and more complicated programs, they'll start learning specific computer science topics as well.


So, go through some tutorials until you have small working programs, then start to challenge yourself, coming up with things you'd like to see and then making them. If you're able to get any into a nice enough state you'd want to show others, and you are willing to share the source code, you can put it in Github and then can add that to a resume, showing prospective employers that you have real coding experience. I also found, with my own projects on my own resume, that it meant there were a few things I could talk really in-depth about, so when an interviewer asked about a piece of one of my projects that interested them, I had a lot to say.


Also, once you have learned the basics of one or more languages, you might want to try improving an Open Source program. Open Source Software is software where the source code is freely available to download and modify. Many large and well-known programs, like Firefox and Linux, are open source, and many other programs are based on open source cores, like Google Chrome (based on Chromium) and macOS (based on FreeBSD). Most projects make it fairly easy to find their source code, along with their issue tracker (where they list the bugs they know about and the improvements they want to make) and some kind of community mailing lists or chatrooms. If you can find a project you'd like to contribute to, find out what the guides are for new programmers, then start picking out small issues they'd like fixed and submit them as changes! This is another great way to build a resume, and get more real-life software experience, while actively making some program that other people use better, which can feel very rewarding.


Two possibilities I'm particularly aware of, depending on your position in school, are Google's CSSI and the Google Summer of Code. In CSSI, rising college freshmen with potentially no programming experience who get into the program come to a Google office for three weeks where they learn to program and make Web apps. In the Google Summer of Code, college students who apply for each summer get paid a stipend to work on an Open Source program. This one requires some more starting experience, but once you have it, it's a great way to get more if you get in.


I know this is a lot. Feel free to ask more about the parts that are actually relevant to you!

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

Manuel’s Answer

Hi Kayla!

Based on my experience, I would suggest you to start looking for some trials or demos of the most popular programming languages nowadays i.e. Python. I believe this is one of the most popular ones and easy to learn. I also suggest you to do A LOT of coding because Computer Science requires a lot of experience and practice. Besides that, you need to be really patient, because most of the times a simple semicolon makes the difference ;) trust me!

When I was in college I used to do my first programs just looking for the quickest solution, nevertheless I learned that first you have to think on all the possible scenarios (including worst cases) that will face your code. In that way, you will think in advance all the possible inputs and outputs expected and the manner your code will behave.

Python tutorial recommended: https://www.python.org/about/gettingstarted/

Hope this answer your question :)

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

Paula’s Answer

If you're interested in coding, I would suggest learning a programming language and then putting it into practice. For example - possibly ask a teacher about working on a special project that would allow you to utilize the skills you just learned. There are many options with Computer Science! I think it's a great field! I actually studied it in college and have my degree in Computer Science. I wish you all the best!

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

Allen’s Answer

Hi Kayla - I would say some of the best ways to study computer science is to start learning how to code. Python is a good language to start with. Depending what you want to do within the field of comp sci, you may also want to get involved with learning about the hardware of computers. Also try talking to people within the field, join user groups, etc.
0
0
Updated
Share a link to this answer
Share a link to this answer

Dinesh’s Answer

I think the best way to learn Computer Science is by building something that interests you. It can be anything: simple program, app or website etc. The most important thing here is that the you should have some interest/passion on the thing that you are building. Once you narrowed that down, search for programming language that is apt for the job. Search for a book which gives you strong fundamentals in the language of choice without going too much deep. This is so that you don't get stuck in the intricacies of the language itself, but learn how to use that language to make it do what you intend.

I think by building something as you learn, your knowledge will be retained better as you have already used your knowledge for a practical purpose. Undertaking multiple projects like such will really solidify your knowledge. This will give you a strong foothold in a high level programming language, which you can use to guide further. You can choose to learn a different language or dive a bit lower and understand how your program interacts with the underlying hardware. This brings you to the world of operating systems and compilers. The choice is yours!


Dinesh recommends the following next steps:

Choose a simple app or program that you want to build that really interests you
Choose a programming language for the job and start learning the fundamentals of the language: Recommended way here would be to search using google and reddit. For example, if you choose C++, search in google for best book to learn C++ reddit
Learn fundamentals of the language and start building without going too deep.
Build multiple such projects and use your projects to guide what you learn. This will solidify your understanding
Repeat this process for any new thing you learn.
0
0
Updated
Share a link to this answer
Share a link to this answer

Rachel’s Answer

You will need to focus on stress and time management. In order to manage stress you have to manage your time wisely. <span style="background-color: transparent;">You have to set a routine for yourself and stick to it for the most part. Once you get into the groove of a routine it will be much easier for you to manage your time and have enough time for everything you need to do (including relaxing). Make yourself to-do lists on a weekly basis, use Google calendar or a planner to keep track of events, deadlines, and due dates. In addition to setting a routine and sticking to it, plan out relaxing activities into your day. Or set aside a time, after everything is done for the day, that you can have "me" time. I have also personally found it essential to not only find time for myself but also make use of that time in a way that is best for me and my holistic wellness. I have found the HeadSpace app to be an essential tool in helping me relax and generally feel more relaxed throughout the day, Guided meditation, even if you have a busy schedule, will make you feel more at ease and relaxed throughout the day as a whole (not just when you have the time to relax and focus on that "me" time).</span>

<span style="background-color: transparent;">Set a routine.Use Google Calendar.Set aside Me TimeWrite weekly to-do lists and use a planner.Find a peaceful and restful activity that will help you feel relaxed.</span>

<span style="background-color: transparent;">Here is how to be successful in them:</span>


  1. <span style="background-color: transparent;">Stay on track - do assignments early, finish things a head of time, and be aware of all of your deadlines</span>
  2. <span style="background-color: transparent;">do all the the assignments and read all of the coursework required- do not cut corners</span>
  3. <span style="background-color: transparent;">use Google calendar to keep track of deadlines</span>
  4. <span style="background-color: transparent;">communicate with your professor early if something comes up</span>
  5. <span style="background-color: transparent;">do not be afraid to ask for an extension if you need one</span>
  6. <span style="background-color: transparent;">study, and study a lot! you don't have regular class sessions so you will need to put in more work at home.</span>
  7. <span style="background-color: transparent;">Do your best and genuinely try hard to give it your all.</span>

The best way to score high on the test is to Google search an online program or book that will help you study. Once you find an online lesson plan for success you can use it as a road map for studying. Otherwise, find a book to help you study and spend 45 mins a night reading through it and studying. Depending on when you test is, the first thing you will want to do is organize a studying schedule for yourself. Target studying certain sections of the test and divide them up by the weeks/months you have until you have to take it.


0