8 answers
Asked
747 views
What/where do I learn in coding/programming before I go to college?
If I am going to learn more about coding in college what should I do beforehand to prepare?
Login to comment
8 answers
Updated
Harish’s Answer
Hi Almaz, I studied computer science in college and currently work in tech/cloud consulting, so I'll tell you what I did during my college days.
There are many websites that are great places to learn coding, such as GeekForGeeks, Baeldung, Coursera, and Udemy.
There are also many places to practice coding problems, such as LeetCode and Hackerrank. People from top tech companies (FAANG .etc.) heavily use LeetCode for interview prep.
Github is one of the most popular places to upload your "repos" (programmers usually create repositories of code, which are basically codebases for projects you work on). Maybe you could create some basic projects and upload them to Github.
Around half of computer science freshman have some level of coding experience (even if just one class) before entering college, and half don't. There isn't really any gap between the two groups, though. It's good to get a head start, but don't worry if you are just starting coding right now. Every other freshman will be in the same boat as you; little to no experience in coding.
Regardless, the more you learn now, the better poised you'll be to get a job at a top tech company. The people who get into Google, Apple, Facebook .etc. all started learning as much as they could during their freshman year, and all did dozens to hundreds of LeetCode/Hackerrank problems.
These steps would be good to do for preparation; you'll be ahead of 90% of incoming freshman if you do them:
Learn the basic syntaxes of different programming languages (Java, Python, C++ for back-end. Html/React/JS may be useful as well, for front-end)
Make an account on LeetCode and HackerRank and start doing some basic problems
Make an account on Github and make a basic repo
Explore different potential jobs from a CS degree (full stack dev, cloud, machine learning, data analyst, AI, databases, business analyst) and see which ones you like
There are many websites that are great places to learn coding, such as GeekForGeeks, Baeldung, Coursera, and Udemy.
There are also many places to practice coding problems, such as LeetCode and Hackerrank. People from top tech companies (FAANG .etc.) heavily use LeetCode for interview prep.
Github is one of the most popular places to upload your "repos" (programmers usually create repositories of code, which are basically codebases for projects you work on). Maybe you could create some basic projects and upload them to Github.
Around half of computer science freshman have some level of coding experience (even if just one class) before entering college, and half don't. There isn't really any gap between the two groups, though. It's good to get a head start, but don't worry if you are just starting coding right now. Every other freshman will be in the same boat as you; little to no experience in coding.
Regardless, the more you learn now, the better poised you'll be to get a job at a top tech company. The people who get into Google, Apple, Facebook .etc. all started learning as much as they could during their freshman year, and all did dozens to hundreds of LeetCode/Hackerrank problems.
These steps would be good to do for preparation; you'll be ahead of 90% of incoming freshman if you do them:
Harish recommends the following next steps:
Thank you, H!
Almaz
Updated
Rebecca’s Answer
Thank you for your question. i am glad that you are interested in coding.
There are many different programming languages for different types of applications, e.g. Apps, Web, ERP, Operating Systems, etc.
I suggest you can consider approach below :
1. Start with simple programming language first, e.g. Scratch, Python, etc.
2. There are plenty resources online. Alternatively, you can consider to attend short courses.
3. Start doing some small projects yourself, e.g. control robot, robotic car, etc. Practise makes perfect!
4. You can learn another programming language after you have familiar with one.
Hope this helps! Good Luck!
There are many different programming languages for different types of applications, e.g. Apps, Web, ERP, Operating Systems, etc.
I suggest you can consider approach below :
1. Start with simple programming language first, e.g. Scratch, Python, etc.
2. There are plenty resources online. Alternatively, you can consider to attend short courses.
3. Start doing some small projects yourself, e.g. control robot, robotic car, etc. Practise makes perfect!
4. You can learn another programming language after you have familiar with one.
Hope this helps! Good Luck!
Updated
Jordi’s Answer
Love the previous answer! If you already know the college you are going to attend, it may also be helpful to take a look at what languages the intro CS courses are taught in. In addition to the websites listed in the previous answer, Codecademy is another good one with a lot of great free content! If you don't know what language to start with, that's fine! Take a look at the free courses you can find and see which one seems the most interesting to you. The building blocks of CS are the same across languages, and once you learn one it becomes much easier to learn more.
Even though many students may have some experience with programming prior to programming, it's definitely not a requirement. I didn't know anything about programming until my Junior year of college.
Even though many students may have some experience with programming prior to programming, it's definitely not a requirement. I didn't know anything about programming until my Junior year of college.
Thank you for giving me advice.
Almaz
Updated
William’s Answer
The approach that I used when I started was "Start small and start simple".
Pick a language that can be programmed in a simple text editor and parsed, not compiled, in order to run. Perl, Python and JavaScript (especially JavaScript) are really simple to code and get visible results quickly without the need for any compiling. (JavaScript is as simple as reloading a web page.) Resolving compilation errors for compiled languages, then resolving any run time errors can be very frustrating for the beginner as it slows down the learning.
One very common mistake with beginning programmers is the notion that "I need to learn an IDE at the same time as I learn the language." Loosely translated, an example is "I have to learn Eclipse as I also learn Java." While an IDE helps you as you become more familiar with a language, it's more of a hinderance at the onset when you are trying to simply to get a grasp of language basics.
Learning the very basic concepts like "if/else", "loops", etc. that span across languages is a really good place to focus.
Finally, don't marry yourself to a specific language unless you know of a specific long-term need. Some colleges work with local industries to turn out programmers that said local industry uses. If you live in a town where the "big company" is a AS400 shop (yes they still exist), investing deeply in learning RPG or COBOL may not be the best long term solution career-wise.
Pick a language that can be programmed in a simple text editor and parsed, not compiled, in order to run. Perl, Python and JavaScript (especially JavaScript) are really simple to code and get visible results quickly without the need for any compiling. (JavaScript is as simple as reloading a web page.) Resolving compilation errors for compiled languages, then resolving any run time errors can be very frustrating for the beginner as it slows down the learning.
One very common mistake with beginning programmers is the notion that "I need to learn an IDE at the same time as I learn the language." Loosely translated, an example is "I have to learn Eclipse as I also learn Java." While an IDE helps you as you become more familiar with a language, it's more of a hinderance at the onset when you are trying to simply to get a grasp of language basics.
Learning the very basic concepts like "if/else", "loops", etc. that span across languages is a really good place to focus.
Finally, don't marry yourself to a specific language unless you know of a specific long-term need. Some colleges work with local industries to turn out programmers that said local industry uses. If you live in a town where the "big company" is a AS400 shop (yes they still exist), investing deeply in learning RPG or COBOL may not be the best long term solution career-wise.
Thank you, William for the advice.
Almaz
Updated
Yubing’s Answer
There are many programming languages out there and so many free resources you can find through internet.
Love the answers above. One thing I want to point out is trying to figure out what you would like to do in future. If it's more about software development, probably C++, C#, Java are some good options. If you would like to get into analysis or data science, probably Python, R, or SAS/SPSS are proper choices. If you would like to do data engineer, or IT engineer, SQL or Python are some top ones to pick.
Hope this is helpful. Good luck.
Love the answers above. One thing I want to point out is trying to figure out what you would like to do in future. If it's more about software development, probably C++, C#, Java are some good options. If you would like to get into analysis or data science, probably Python, R, or SAS/SPSS are proper choices. If you would like to do data engineer, or IT engineer, SQL or Python are some top ones to pick.
Hope this is helpful. Good luck.
Updated
Kamin’s Answer
I would start off by learning the basics first - this includes basic fundamentals like (if statements, for/while loops, what a function is, what a class is) and data structures. Another thing you can do is you can google college introduction to computer science slides and try to follow those slides and perhaps do more research on particular topics/subjects you think you need more explanation on. The table of contents for a Introduction to Computer Science class should provide you with the necessary topics that you can further google and learn on your own.
Good luck!
Good luck!
Updated
Adrian’s Answer
All of the answers posted here are tremendously helpful. Also kudos to you for wanting to go to college prepared! One thing that worked for me was picking a very simple programming language (ie. VBA in excel) and familiarizing myself with key programming concepts like "for loops" and "if statements". You will be learning much more about this (and deeper concepts) in college, but it's a great introduction to these concepts . I like starting with VBA since you can visualize what is happening to the very spreadsheet on which you wrote your code.
Thanks for the help.
Almaz
Updated
Alexander’s Answer
There are a ton of resources now that teach you (or just introduce you) coding. Some sites that I have seen recommended (and checked out myself) are theodinproject, cs50 classes by Harvard, freecodecamp, and more. It depends what stack you're interested in getting into, but I often see python (check out "learn python the hard way") recommended as a beginner language. It's a lot of work and commitment to practice but is such a valuable tool that can not only help you get a great job but help with building personal projects as well!
Thank you so much, Alexander!
Almaz