PDF download Download Article PDF download Download Article

If you want to learn programming, you might be wondering where to start. What's the best programming language to learn as a beginner, and how do you go about actually learning it? Don't worry—we've put together some tips to help you learn programming on your own, including how to choose a programming language and find the resources you need to master it.

Method 1
Method 1 of 3:

Deciding on a Programming Language to Learn

PDF download Download Article
  1. Think about what you want to do with your programming knowledge. This can help you determine what to learn and how much you need to learn. Are you interested in web design? Do you want to create video games? Do you want to develop smartphone apps? Do you want a career in the tech industry? Do you enjoy problem-solving? Are you more interested in front-end programming or back-end programming?
    • Front-end programmers work on things like graphical user interfaces (GUIs) and things that users interact with. Popular languages for front-end programmers include HTML, CSS, and Javascript.
    • Back-end programmers work on things like databases, scripting, and program architecture, and things that go on behind the scenes. Popular programming languages for back-end users include Ruby, Python, PHP, and tools like MySQL and Oracle.
  2. Do you want to develop software for computers? Are you more interested in smartphone and tablet apps. If so what operating system are you most interested in? Developing software for macOS might require you to learn different languages that you might not need to know developing apps for Windows. Likewise, developing iPhone and iPad apps may require different skills than developing Android apps.
    Advertisement
  3. While there are many different programming languages, there are a few basic concepts that they all have in common. Some basic programming concepts are as follows:
    • Variable: Variables are pieces of information that are stored so they can be recalled later. The variable is usually given a symbolic name. One example of a variable is if a program asks the user to input their name. The name they enter can be stored under an object symbol called "name". The programmer can then use the "name" symbol to recall the name the user input and refer to the user by their name. A variable or object that consists of characters is called a "String". [1]
    • Control Structure: Control Structure tells the program which part of the program needs to be run and in what order. One common type of control structure is often referred to as an If/Then/Else statement. This tells the program that if a condition is true, then go run section the next section of the program. For all else, return to a different section. For example, if a program asks the user to create a password, the password is stored as a string. The password screen asks the user to input their password. An IF/Then/Else statement is used to tell the program that if the password entered is equal to the saved password, then execute the rest of the program. For all else, display "Your password is incorrect". [2]
    • Data Structure: Data structure is just a way of storing and organizing data so that it can be used efficiently. One example of a data structure is the contacts on your phone. Instead of storing your contacts each as separate variables, your programming can create one variable called a "List" which stores all your contacts.
    • Syntax: Syntax is the correct way code is entered in a particular language. Each programming language has a different syntax. The syntax could be how to store variables, when to use different symbols (i.e parenthesis (), or brackets []), proper use of indentation, and more. If the syntax is not entered properly, the program will not be able to read the code and you will most likely get an error message.
    • Tools: Tools are things that help make programming easier. These can be software features that check your code and make sure it's correct. It can also be a pre-made program features that you can implement into your own program so you don't have to build it yourself.
  4. After you decide what you want to do with your programming knowledge, starting doing some research to figure out which programming languages are used in your field of interest. [3] [4]
    • Python : Python is a good language for beginners to start with. It's general-purpose language that allows you to do just about anything, and it's easy to use.
    • Ruby: Ruby is another good language for beginners to start with. Like Python, it is also a general-purpose, object-oriented language that is easy to learn.
    • Java: Java is a popular language that has been around for years and continues to grow. It is the primary language used to develop apps for Android phones. It can also be used to develop computer programs. For example, Minecraft was originally built in Java.
    • C : C was originally designed for writing system software. It's embedded in just about every microprocessor today. There's not a whole lot too it, but if you can learn C, you'll have a solid foundation that allows you to learn just about any other programming language.
    • C++ : C++ is one of the most widely used multipurpose languages. It is one more difficult languages to learn, but it's worth it. C++ gives you wider control over the applications you develop and gives you greater control over the computer's hardware. It's considered one of the best languages for developing large-scale applications.
    • C#: C# (pronounced C sharp) is a little newer than C++ and has some added features. It's a little easier to learn than C++, and it's used in a lot of Windows applications.
    • Swift: Swift is a multipurpose language developed by Apple. It is primarily used to develop apps for Apple products like iPhone, iPad, macOS, Apple TV, and more. [5]
    • HTML /CSS . HTML and CSS are used in web design. HTML is used to create web pages that can be rendered by your web browser. You can use HTML to add objects to a web page and design the look of a web page. CSS is used to create a standard look or style across multiple web pages. For example, if you want to create a similar look and style across multiple web pages for a website, you can apply the same HTML style codes to each web page, or you can create a single CSS file that applies the same look to all web pages.
    • Javascript: Javascript (not to be confused with Java) is another language used in web design. Javascript is used to create interactive features for a website. It is essential for designing any web application.
    • PHP and MySQL: PHP and MySQL are back-end languages that manage databases on a server. Anytime a program, website, or apps store user information and require users to log in, that information is stored on a database. MySQL and PHP are languages that are used to create and manage databases.
  5. Advertisement
Method 2
Method 2 of 3:

Getting Resources Needed To Program

PDF download Download Article
  1. You can find plenty of basic tutorials online that are completely free. These may be coding websites, YouTube tutorials, or interactive web tutorials. You should also look for a textbook about the language you want to learn. Just make sure it's written for your skill level. [6] Some online resource include the following:
    • Codeacademy.com is one of the biggest online coding tutorial sites. You can take basic courses using a free account. A pro account gets you additional material, step-by-step guidance, and peer support.
    • EdX is a free online course governed by MIT and Harvard offering free courses in a variety of programming languages.
    • w3schools.com is a free online resource that mostly focuses on web design. It offers free lessons and examples in HTML, CSS, Javascript, PHP, Python, Java, C++, C#, and more.
    • Darek Banas' YouTube Channel offers tons of tutorials on a variety of programming languages and concepts.
    • Programming Knowledge is another YouTube channel that offers tons of free video tutorials on a variety of programming languages and concepts.
    • Codeingame is a great website that helps you sharpen your coding skills by playing games with different programming languages. It includes a wide variety of languages, including, C++, C#, Javascript, Java, Python, Koltin, PHP, Swift, and more.
    • Scratch is an online educational tool developed by MIT to teach children how to develop video games and coding. It uses a visual programming language that allows you to program using blocks. This is a good way to learn how to visualize programming concepts and learn how to think like a programmer.
    • Code.org has lots of tutorials for all ages and grade levels to teach both children and adults how to program.
  2. Not all programs require you to install software in order to start programming. For example, if you want to start programming in HTML, CSS, and Javascript, you only need a text editor like Notepad or TextEdit and a web browser. However, other languages require you to download and install special software to run programs programmed in these languages
    • Ruby: Download the latest version of Ruby [ https://www.ruby-lang.org/en/downloads/ here}.
    • Python: Many computer already come with Python installed, but you may need to install the latest version before you start programming in Python.
    • Java: You will need to install Java Software Development Kit . In order to start programming in Java.
    • PHP and MySQL: PHP and MySQL run on a server instead of computer. However, to develop and test PHP and MySQL locally on your computer, you will need to download and install server software such as Apache, as well as PHP itself. There are several software packages, including WAMP , and [ [1] ] that have everything you need in one program.
  3. Integrated Development Environments (IDE) are programs that contain comprehensive development tools that contain a code editor, build tools, debugger, and sometimes a compiler. Many IDEs support multiple languages. Some IDEs include the following:
    • Eclipse .
    • Netbeans.
    • Visual Studio Code
    • Android Studio (for Android apps).
    • Xcode (for Mac, iPhone, and iPad apps).
  4. There are two main types of programming languages, compiled languages, and interpreted languages. A compiled language converts your code into a machine language the computer can understand. Compiled languages include C and C++. Interpreted languages use an interpreter execute the instructions in the code without converting them to machine code. Interpreted languages include Python and Javascript. Some integrated development environments have a compiler or interpreter included. In some cases, you'll need to download a separate compiler or interpreter.
    • Codechef.com has an online ide, compiler, and interpreter that works for a variety of languages
    • GCC is an open-source (free) compiler for C and C++.
    • Python interpreters can be downloaded directly from the official Python website.
    • OpenJDK is an open-source free development kit for Java that includes a compiler.
  5. If you are planning on making a career out of programming, you will probably want to look into a formal education in computer science. Look for knowledgable instructors that have experience in the field that can help you sharpen your skills. If you're not planning on getting a formal education, look for meet-up groups where you can meet other people trying to learn the language you want to learn. You can also check online communities and web forums. [7]
  6. Advertisement


Method 3
Method 3 of 3:

Starting To Program

PDF download Download Article
  1. After you've done a few exercises and learned some of the basics, starting thinking about what you can build with the skills you have. It doesn't have to be anything grand. It can be a simple adding program, or a multiple-choice question and answer applications. Create a few simple programs. While you're at it, keep learning so you can build bigger and better programs. [8]
  2. Your program should have a goal that can be defined within a sentence or two. A program should have a specific task it accomplishes or helps the user accomplish. Some examples of program goals include the following:
    • Allow the user to organize a list of names and contact information.
    • Display a text-based story that allows the user to choose their own path.
    • Give the player a choice of attacks to choose from while the enemies generate their own random attacks.
    • Calcuate the orbit of a planet around a star.
  3. After you decide a goal for your program, then you must decide on the rules your program must follow in order to complete its goal For example:
    • Contacts must be saved so they can be recalled at a later time.
    • The story must account for previous choices the player made.
    • The strength of the player's attacks is determined by their current stats.
    • The program should accurately calculate the orbit of the mass of any object the user inputs.
  4. After you decide on a goal and rules for your program, decide what tools you will use to develop your program, as well as what operating system the program will be developed for. You should also decide if you will be working by yourself or as a team. You may also want to decide if you'll be programming the entire program yourself, or if you'll be using any outside code or tools. Think about how this code or tools are implemented.
  5. Once you have an idea of what your program will do, decide on what order things are going to happen in. What happens when you first launch the program? How does the program inform the user how to use the program? What is the first thing the user should do with the program? How does the program respond? What does the user do next? How is this communicated to the user? What happens when the program completes its goal or objective?
  6. Make a list of the program's main objectives. Then break those larger objectives down into smaller objectives that are easier to tackle. If those smaller tasks are still too hard to solve, break them down even further into smaller tasks.
  7. When you start programming, use out-of-function comments to outline the main functions or objectives of your program. You won't be able to compile or interpret these comments, but they will help you organize your code.
  8. After you have an outline of the program functions and objectives, you can start writing code that implements each function. Keep function should be fairly simple. If a function seems too complex, break it down into smaller functions and implement those functions.
  9. Throughout the programming process, you'll need to test your program often to make sure your code works properly. You'll need to test each function you try to implement. Try different using different user inputs to make sure the program works in a variety of situations. Think about how a standard user might use the program, or have someone else test the program and watch how they use it. [9]
  10. As you start programming, you'll likely run into problems you didn't expect. Try your best to find solutions to these problems The following are a few things you can do to troubleshoot problems you turn into.
    • If you are reading code from instructions, reread the instructions and make sure you understand them.
    • Ensure your code is organized, indented properly and is using the correct syntax.
    • Check the spelling and make sure it is correct. [10]
    • Use Print statements to check variable values.
    • If you're not sure if a section of code is being run, use a Print Statement to see if it gets to that section.
    • Check the error messages and Google them.
    • Break your code into sections and run the individual sections to isolate where a problem is.
    • Trying searching for working code on the internet that does what you want to do.
    • See if there's a tool that does what you want.
    • Enter code by hand instead of copying and pasting.
    • Take a break and come back to the code.
    • Ask for help. [11]
  11. Anytime you implement a new function or make changes to your code, test it to make sure it's working properly. Once you've implemented all the functions of your code and it's all working properly, your program is complete.
  12. Advertisement


Expert Q&A

Search
Add New Question
  • Question
    Can you teach yourself to program?
    Stephen Cognetta, MBA
    Computer Engineer
    Stephen Cognetta is the co-founder and CEO of Exponent, a learning platform that helps people prepare for and ace their tech interviews. Stephen specializes in coaching for product management, software engineering, product marketing, management, technical project management, and data science interviews. Stephen holds a BS in Computer Engineering from Princeton University, where he graduated Summa Cum Laude, and an MBA from Stanford University. Prior to founding Exponent, Stephen worked as a Product Manager for Google and co-founded HackMentalHealth.
    Computer Engineer
    Expert Answer
    You can, but it's going to be a long process. In my experience, a combination of mentorship, programming classes, and self-education is going to be the most effective. There are a ton of different resources out there if you want to get started on your own, though!
  • Question
    How can I break into the field of programming?
    Stephen Cognetta, MBA
    Computer Engineer
    Stephen Cognetta is the co-founder and CEO of Exponent, a learning platform that helps people prepare for and ace their tech interviews. Stephen specializes in coaching for product management, software engineering, product marketing, management, technical project management, and data science interviews. Stephen holds a BS in Computer Engineering from Princeton University, where he graduated Summa Cum Laude, and an MBA from Stanford University. Prior to founding Exponent, Stephen worked as a Product Manager for Google and co-founded HackMentalHealth.
    Computer Engineer
    Expert Answer
    You don't need to start out as a programmer. One thing you can do is apply for a job with a software developer or programming firm at a position that doesn't have anything to do with programming. Once your foot is in the door, it will be a lot easier to work your way up to a programming gig.
  • Question
    Will I have fun as a programmer?
    Stephen Cognetta, MBA
    Computer Engineer
    Stephen Cognetta is the co-founder and CEO of Exponent, a learning platform that helps people prepare for and ace their tech interviews. Stephen specializes in coaching for product management, software engineering, product marketing, management, technical project management, and data science interviews. Stephen holds a BS in Computer Engineering from Princeton University, where he graduated Summa Cum Laude, and an MBA from Stanford University. Prior to founding Exponent, Stephen worked as a Product Manager for Google and co-founded HackMentalHealth.
    Computer Engineer
    Expert Answer
    It totally depends on what your interests are. Do you like puzzles? Do you enjoy problem solving? Are you a fan of computers? Your answers are going to be totally unique to you.
See more answers
Ask a Question
      Advertisement

      Video

      Tips

      • Don't be afraid to ask for help. Find a good, active forum with plenty of users knowledgeable with the language you've chosen, and ask any questions you need. A real-life friend with experience can help explain difficult concepts and deal with annoying bugs.
      • If you start to get discouraged, take a break. You might find that you've "got it" when you come back. Around 15 - 30 minutes from the computer is the best.
      • If you can find a book for your language inexpensive, buy it. It's always good to have a paper reference, but pointless to only have a book since there is an abundance of help on the web.
      Show More Tips
      Submit a Tip
      All tip submissions are carefully reviewed before being published
      Name
      Please provide your name and last initial
      Thanks for submitting a tip for review!
      Advertisement

      About This Article

      Article Summary X

      1. Think about what you want to do with programming skills and what platforms you are interested in.
      2. Decide on a programming language to learn.
      3. Start reading a textbook on your chosen language.
      4. Check out online videos, interactive tutorials, or coding games.
      5. Focus on the broader concepts within computer programming that transcend all languages.
      6. Create a simple computer program or app.
      7. Find solutions to any problems you run into.
      8. Move on to more advanced projects.
      9. Try to find a mentor.

      Did this summary help you?
      Thanks to all authors for creating a page that has been read 172,643 times.

      Is this article up to date?

      Advertisement