4 answers
Asked
1300 views
what are some of the skills I should learn before starting computer programming?
I am a junior looking to start computer programming and would like know some skill I should learn before starting #computer #computer-science #programming
Login to comment
4 answers
Updated
Tony’s Answer
I used to teach "Computer Science 101" at Pima Community College. Here are some skills to have BEFORE learning computer programming:
a) Typing -- yes, I took typing my freshman year in high school. I am surprised how many programmers don't know how to type. I type 180 words per minute, and it allows me to code quickly and with few typos.
b) Logic - sometimes this is offered as a Philosophy class. It will teach you concepts like IF/THEN, AND/OR, NOT, XOR and so on. These are used extensively in computer programming.
c) Binary/Hexadecimal arithmetic -- we normally use base TEN. Binary is Base TWO, and Hexadecimal is base SIXTEEN. You should be able to add, subtract, and multiple in both binary and hexadecimal.
d) Cooking -- Computer programs are basically just recipes for the computer to cook something. I would teach my class how to read recipes, understand the reason for preciseness, how to handle step-by-step instructions, and knowing when you can run one set of steps while you are waiting for something else to finish. Then I would teach them to write a recipe, and that computer programming is just the next extension of this.
Typing class
Binary and Hexadecimal math
Logic class
Cooking class
a) Typing -- yes, I took typing my freshman year in high school. I am surprised how many programmers don't know how to type. I type 180 words per minute, and it allows me to code quickly and with few typos.
b) Logic - sometimes this is offered as a Philosophy class. It will teach you concepts like IF/THEN, AND/OR, NOT, XOR and so on. These are used extensively in computer programming.
c) Binary/Hexadecimal arithmetic -- we normally use base TEN. Binary is Base TWO, and Hexadecimal is base SIXTEEN. You should be able to add, subtract, and multiple in both binary and hexadecimal.
d) Cooking -- Computer programs are basically just recipes for the computer to cook something. I would teach my class how to read recipes, understand the reason for preciseness, how to handle step-by-step instructions, and knowing when you can run one set of steps while you are waiting for something else to finish. Then I would teach them to write a recipe, and that computer programming is just the next extension of this.
Tony recommends the following next steps:
Updated
John’s Answer
There are several subject areas that complement software development. Math, algorithms, data structures, etc. are all important when learning how to code.
Also, having general computer knowledge is going to be important. Before you even start writing any code setting up your environment on whatever you are planning to use (pc/mac) to start coding is going to be a prerequisite. Installing the language you want to code (Java, Python, Node.js, etc.), installing software and supporting packages (software editors, git, maven, npm), setting environment variables and config files (java, maven) being comfortable with command line (git, ssh), and other skills are going to be useful. For anyone that has never coded before, setting up your laptop/mac to be ready to write code that compiles and runs is a going to be an accomplishment.
Once you are ready to code there a lot of resources available outside of the classroom. As a beginner I would suggest a modern programing language like Java, Python, or Node.js. Once you gain the basics and have a good foundation try coding challenges.
Learn to code sites (there are more out there):
https://www.khanacademy.org/computing/computer-programming
https://www.codecademy.com/catalog
For practice there are a lot of sites out there that give a problem that you need to code the solution for. As a bonus several companies use sites like this as part of the technical interview process.
Coding Challenges (one of several out there):
https://www.hackerrank.com/
Also, having general computer knowledge is going to be important. Before you even start writing any code setting up your environment on whatever you are planning to use (pc/mac) to start coding is going to be a prerequisite. Installing the language you want to code (Java, Python, Node.js, etc.), installing software and supporting packages (software editors, git, maven, npm), setting environment variables and config files (java, maven) being comfortable with command line (git, ssh), and other skills are going to be useful. For anyone that has never coded before, setting up your laptop/mac to be ready to write code that compiles and runs is a going to be an accomplishment.
Once you are ready to code there a lot of resources available outside of the classroom. As a beginner I would suggest a modern programing language like Java, Python, or Node.js. Once you gain the basics and have a good foundation try coding challenges.
Learn to code sites (there are more out there):
https://www.khanacademy.org/computing/computer-programming
https://www.codecademy.com/catalog
For practice there are a lot of sites out there that give a problem that you need to code the solution for. As a bonus several companies use sites like this as part of the technical interview process.
Coding Challenges (one of several out there):
https://www.hackerrank.com/
Updated
Mickael’s Answer
Hi Tyler,
That really depends how deep you want to go with programming. Logic is important but could be learn on the fly. The obvious skill you need when programming is a programming language. Rebecca's suggestion of python is a nice one for beginners.
Then really it depends how far you want to go: learning about operating systems is a good way to understand how your program interacts with the operating system. Understanding computer architecture is great to understand how any software interacts with the hardware and actually runs.
Learning data structures will help making scalable programs.
Maths can help in few of the algorithm courses.
That really depends how deep you want to go with programming. Logic is important but could be learn on the fly. The obvious skill you need when programming is a programming language. Rebecca's suggestion of python is a nice one for beginners.
Then really it depends how far you want to go: learning about operating systems is a good way to understand how your program interacts with the operating system. Understanding computer architecture is great to understand how any software interacts with the hardware and actually runs.
Learning data structures will help making scalable programs.
Maths can help in few of the algorithm courses.
Updated
Rebecca’s Answer
I am glad that you are interested in programming. To start programming, you can choose a easy programming languages first, e.g. Scratch, Python, etc. You can find start finding some material online on the language structure, syntax, etc.
Then, you can start doing some very simple programming, e.g. try to control a robot, a robot car, etc. It is interesting.
When you get familiar with one language, you can also start learning another one. Once you can pick up one programming language, it is easy to pick up another one.
Practise makes perfect! Usually, the most difficult is to start the first one. Let's choose one programming language and learn the fundamentals and start your first coding.
Hope this helps! Good Luck!
Then, you can start doing some very simple programming, e.g. try to control a robot, a robot car, etc. It is interesting.
When you get familiar with one language, you can also start learning another one. Once you can pick up one programming language, it is easy to pick up another one.
Practise makes perfect! Usually, the most difficult is to start the first one. Let's choose one programming language and learn the fundamentals and start your first coding.
Hope this helps! Good Luck!