Skip to main content
32 answers
34
Asked 1815 views

How should someone with no programming or coding background and knowledge start programming and coding?

Are there certain websites for learning? What subjects should I start with? Which languages are the most beginner friendly? #programming #coding #technology #computer-science

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

34

32 answers


9
Updated
Share a link to this answer
Share a link to this answer

Joseph’s Answer

As mentioned above there are tons of online resources available for getting started. My personal favorite has been Udemy. Regardless of the platform, look for beginner courses that feature several exercises and challenges. Just following along with lectures will only get you so far and can be tedious. I’ve found challenges to be more engaging and exploratory, both of which are very important when you are first getting started.
After building a basic familiarity with a programming language. The best way to continue learning is to work on projects. Pick out an idea that interests you and stick to it. Adding to an earlier list, some potential projects are:

1. Create a website with HTML, CSS, and JavaScript. – Linli’s answer
2. Automate tasks with Python. – Linli’s answer
3. Create a simple game (ex: tic-tac-toe, hangman, etc…)
4. Use programming to solve a puzzle (ex: Sudoku)
5. Program a Raspberry Pi or Arduino with sensor or motor attachments
6. Create a predictive model with an online dataset (data science programming)
Thank you comment icon Thank you so much, Joseph, for such an instructive answer. I'll make sure to do my best :) Effie
9
4
Updated
Share a link to this answer
Share a link to this answer

Maryana’s Answer

Depends on what language you would like to learn - most people learn R/Python if they are interesting in statistical analysis/data science.

Here are some websites:

-Datacamp
-Codecademy
-Coursera
-Udemy

Thank you comment icon Thank you, Maryana! I'll definitely check those websites out :) Effie
4
2
Updated
Share a link to this answer
Share a link to this answer

Chris’s Answer

-- Learn by doing: Try a free coding class like on Code Academy, Free Code Camp, Coursera, where you build a project. Then apply it to a project you're passionate about.

-- Learn by doing: try coding a language like Javascript, in a web browser. The advantage is you can start coding with no setup, paid software or anything, just a web browser like Chrome. You code in the browser and by looking at the console, see your code actually working!

-- Visual the finish line; if you have an idea of what job you might want to do, look at job descriptions of those, and work backwards from there. What languages do they ask for? What kinds of work experience do they look for? Then you can set goals to achieve those, and work towards them.

-- In Job interviews, often you need to show projects you built. ex. at Amazon you should talk about what you did, and deploy it, and show the potential employer.

On specific languages to try, you could start with a procedural language, ex. Javascript or Python, in particular Python as it's a broad language. Then suggest moving to an object-oriented programming language like Typescript, a step above Javascript with similar syntax.
2
2
Updated
Share a link to this answer
Share a link to this answer

Linli’s Answer

Websites like Coursera and Udemy are good start. Browse the topics that interests you and start learning!
Language wise, if you have no experience in programming language, they are basically all the same for you. Just have some faith in the language you pick and keep using it.

Here are the projects I do at free time:
1. Create a website with HTML, CSS, and JavaScript.
2. Automate tasks with Python.
Thank you comment icon This is the way I would recommend starting as well. You can get many courses for free or low cost to try them out. Patrice Coles
Thank you comment icon Hello, Linli. Thank you so much for your answer ^^ Effie
2
2
Updated
Share a link to this answer
Share a link to this answer

John’s Answer

Effie different types of programming require different skills. For example, if you want to learn how to code a website, you should learn languages like HTML, CSS, Java, and JavaScript. Likewise, mobile app development requires Java (for Android) or Swift (for iOS). Choosing the right language is extremely important, which is why we have outlined some of the most popular among beginners below:

JAVA – Java is arguably the king of programming languages in the modern world. It is prevalent, versatile, and it is used for things like Android app creation and back-end web development. Java is quite a functional language for learning how to code for beginners. It is relatively simple to learn, it reads like English, and there is a lot of work out there for entry-level Java programmers. If you would like to learn Java as one of your first programming languages, I would recommend BitDegree’s interactive Java tutorial. This course will teach you the basic syntax and features of the language. It will show you the potential that you can reach when using Java, and it will also explore the creation of back-end web apps.

PYTHON – If Java is the king of programming languages, then Python is the queen. It is also super versatile, and it has a lot of different uses. A lot of academics and researchers use Python to create data analysis programs to help their studies. It is also behind the rise of new technologies like artificial intelligence and machine learning. It is easy to learn, and it is the most popular language taught in schools. That’s why it’s perfect for those who are looking for how to code for beginners. Learning Python can be easy if you put your mind to it. Start with a course like the Learning Python from Scratch tutorial or the Interactive Python tutorial. Both of these courses will give you an excellent introduction to the language and its functionality, allowing you to progress to more advanced studies at a later date.

RUBY – Ruby is a language that is becoming increasingly popular for full-stack web development. It allows for the smooth integration of both front and back-end components of a new website through the Ruby on Rails framework.If you have plans to become a web developer, I would recommend learning at least the basics of Ruby. This way, you will be familiar with the language, even if you don’t have to work with it directly. Start with the Learn Ruby on Rails course which focuses on what Ruby on Rails is and how it is used in web development.

HTML – Hypertext Markup Language (HTML) Is one of the simplest languages to learn and is where a lot of people start when learning how to code for beginners. If you want to get into front-end web development, then you have to learn HTML. Used for marking up text so that computers can understand it. HTML is very simple, and the best way to learn it is arguably to first familiarize yourself with the main components of the language through something like the Comprehensive HTML5 Tutorial or the HTML Coding for Beginners course and then to get out there and practice how to write a code for beginners.

CSS – Like HTML, CSS is essential if you plan on becoming a front-end web developer. In my opinion, it’s a good idea to learn HTML and CSS alongside each other through something like the Interactive Coding for Beginners course. This course will teach you the basics of CSS, HTML, web development, and how they all tie together. CSS is used almost exclusively alongside HTML to style and format content on webpages. It allows you to do things like change the color and size of elements, change the position of elements on a webpage, and change the entire layout of a webpage.

HACK SOMEONE ESLE'S CODE
Once you have a pretty good idea of how to code in a particular language, it’s time to delve deeper. One of the best ways to keep learning and to reinforce your knowledge of a programming language is to unpack someone else’s code. Find a program or code file somewhere – GitHub is a great place to start – and open it in your code editor. Work through the code and make sure that you understand every line and what its function is. Add comments if you need to. If you see something which you think could be done in a more efficient way or which you think you can improve, change it. Once you have finished, save your edited code and re-upload it so that other people can critique your effort.

KEEP LEARNING – In a way, programming languages are like any other language. They require regular practice if you want to become fluent in them, and you will forget things if you don’t practice using them. It is, therefore essential to make sure that you keep learning new things every day. Don’t fall into the habit of using the same coding patterns and syntax for everything. Instead, keep striving to learn new ways to do things and to improve your method. I try and make a habit of learning one thing every single day. This could be a new piece of syntax, a new way to write a line of code, or simply a better way of debugging a program. Learning how to code for beginners can be fun, exciting, and super satisfying Effie. When done right, learning how to code can provide you with valuable skills that you will be able to draw on for the rest of your life. However, learning how to code can also be challenging.

Now that we’ve looked at some of the most popular languages to help you discover how to code for beginners, it’s time to look at the best ways to learn them.

John recommends the following next steps:

Online coding courses: When done right, they will teach you some of the essential syntaxes of a language and how it is used. They are usually taught in a fun, engaging manner, and many of them allow you to write code directly in your browser as you learn.
Textbooks: Code reference books are a great resource that every single beginner should make use of. They contain all of the syntax and conventions of a language, allowing you to look things up when you’re confused or unsure about how to proceed with your code.
YouTube videos: Online videos and video tutorials are great resources that can help you get your head around complex concepts. You should use them alongside an online course or another method of learning how to code for beginners.
Download A Code Editor: They usually come complete with interactive development environments (IDEs) that will help you build clear, error-free code. Simple languages like HTML and CSS can be written straight into a simple text document if you find that easier.
Join An Online Community: There will be times when you need support. For example, let’s say that you’re learning a language, and you’ve come across a piece of syntax that you can’t get your head around. Joining an online chat board or coding forum will give you access to people who will be able to answer your questions and help you get past any problems you’re having.
Thank you comment icon Thank You Douglas. “The broadest, and maybe the most meaningful definition of volunteering: Doing more than you have to because you want to, in a cause you consider good. ” – Ivan Scheier John Frick
Thank you comment icon Thank you, John, for such an all-rounded answer. I'll definitely keep these in mind :) Effie
Thank you comment icon Your Welcome, Effie, It was my Pleasure. Nothing is impossible, the word itself says “I’m possible.” John Frick
2
1
Updated
Share a link to this answer
Share a link to this answer

Kin’s Answer

Effie, I think you could start by trying to learn the basic logic skills of the software, and I would recommend that you try the app called "Swift Playgrounds" to learn and Challenge yourself to solve all the problems. Swift Playgrounds is a revolutionary app for iPad and Mac that makes learning Swift interactive and fun. It requires no coding knowledge, so it’s perfect for students just starting out. Learning to code with Swift Playgrounds is incredibly engaging. Play your way through the basics in “Fundamentals of Swift” using real code to guide a character through a 3D world.

After that, you can try to learn how to code in Python. Many CS courses now also use this programming language to handle BIG DATA.
Thank you comment icon Thank you, Kin, for your suggestion. I am still waiting for my iPad Pro to arrive, but I'll download the app as soon as it does :) Effie
1
1
Updated
Share a link to this answer
Share a link to this answer

Douglas’s Answer

How do you learn? By doing, by classroom and lab work, by reading, by working with a group/class?
Use those same modality to learn to program.

Start with questions - how do I do that or how did they do that?

Programming at its most simple form is instructing a computer
to work with data and devices.

Learn about general programming concepts.
What is syntax ?
What is a data type?
What are data structures?
What are control structures ?
What is a variable's scope ?
How do I build a program?
How do I run a program I've built?

How do I use a debugger ? Debugging is a very important skill.

Since a huge percentage of programs deal with data using databases,
Learn basic SQL (Structured Query Language)
What is a table, what is a column ?
How do I use a program to CRUD (Create, Read, Update, Delete) data ?
How do I use SQL to CRUD (Create, Read, Update, Delete) data ?

Read a lot of code, github has a huge collection of open source
projects/code

Make mistakes, create bugs on purpose to see how a computer responds.

Lastly, ** ask ** None of us were born programming or any other skill,
we had to learn them and find people who can answer our questions.
Set aside (schedule) time to learn, 4-10 hours a week

You've taken a good first step. Good luck.
Thank you comment icon Thank you, Douglas. I appreciate your answer :) Effie
1
0
Updated
Share a link to this answer
Share a link to this answer

Pratim’s Answer

Effie, I would suggest you to start with the online free course titled 'CS50's Introduction to Computer Science' available on edX which also has good assignments to learn from. This course would really be helpful if you have no background in Computer Science and coding. There are a lot of courses available on the internet and YouTube, but all of them may not feel beginner friendly. Hence completing CS50 first would give you an idea of what programming involves.

After that, dive deeper into Data Structures, Algorithms, Object Oriented Programming, Design Patterns, Database Management as these subjects form pretty much the base of programming and are almost always asked in interviews if you want to make a career out of it. You can also participate in Competitive Coding if you are interested in problem solving.

By then you would have an which areas of Computer Science you are interested in for example Machine Learning, Web Development, Data Science, App Development, etc. There are a lot of free and paid courses available online for these as well. Search for courses and read their syllabus and outcomes before starting.

Also, keep taking up projects (self or through internship) as practical knowledge is also as important as the theory.

All the best!
0
0
Updated
Share a link to this answer
Share a link to this answer

Trevor’s Answer

There are some great online resources like already mentioned: Udemy, LinkedIn/Lynda Learning, Coursera, Codeacademy.

I've been a professional engineer for 10+ years and have met a number of smart individuals that initially got their "feet wet" by doing an online coding class or what might work better depending on your learning style an in-person "coding camp". Some organizations that hold these 12-40 week programs to kickstart your future career in programming are: https://flatironschool.com/ , https://www.nobledesktop.com/topics/coding-classes-nyc , or similar.

Do some research on the code school and maybe even ask to get referred students that graduated so you can be introduced and ask them questions about the program directly.
Thank you comment icon Hi Trevor, I appreciate you taking time to answer my question. I'll make sure do to look more into it :) Effie
0
0
Updated
Share a link to this answer
Share a link to this answer

Kathy’s Answer

Register with your local American Job Center. They have special programs for students who are doing career search as well as job opportunities that might be of interest to you. They offer support through job postings, job search workshops, and job fairs.

You can go to sites like www.careeronestop.org to find information on career exploration, training, and jobs. This site has tons of great information as you begin your search. You can look at different careers and what it takes for you to receive training, watch videos on different job types, and get questions answered.

You can also go to the U.S. Bureau of Labor Statistics at https://www.bls.gov/audience/jobseekers.htm to look at various occupations and learn about the current and future jobs outlook, advancement and training requirements, employment, salary, and a 10 year outlook for those occupations. There are also lots of other topics to explore on this page that will give you great information to help you get started.

Good luck!
Thank you comment icon Hi Kathy, this is really helpful information but doesn't directly answer the student's question. Where can someone who is looking to get started in programming look for support? Any resources you have for learning how to code would be helpful! Gurpreet Lally, Admin
0
0
Updated
Share a link to this answer
Share a link to this answer

Hanish’s Answer

There are different types of programming languages. There are strong typed and weak typed, object oriented and prototype based, etc. For someone who is starting out in programming, I would suggest a weak typed languages like python! What do I mean by types? Programming languages have data types which are variables that store data of various types like characters, integers, etc. python doesn’t have this that’s why it’s called a weak typed language which makes it easier to understand and code with.
0
0
Updated
Share a link to this answer
Share a link to this answer

Eduarda Luísa’s Answer

Hi Effie!
Hope you are doing great!

I'm currently coursing Information Systems and I had the same questions when I started my course. I had no previous experience nor knowledge in programming, but I found some pretty cool ways of learning :)

My favorite website for learning is Udemy. The have all kinds of courses in there. And they are usually cheap.
LinkedIn Learning offers some pretty interesting courses as well.

Harvard offers a course about introduction to Computer Science for free! Yes, you heard it right hahaha
Here is the link if you feel interested in taking it https://online-learning.harvard.edu/course/cs50-introduction-computer-science

Oh, and YouTube also has some classes as well :)

I started programming in Java, but I think Python is a really good one to start with!

About IDEs: I use Eclipse

Don't forget: Learning a programming language is just like any other language. You gotta keep practicing, otherwise it is very likely that you will forget it. A great place to practice what you've learned is HackerRank!

Hope you found it useful :)
0
0
Updated
Share a link to this answer
Share a link to this answer

Tek Fai’s Answer

There is an app which is good for beginners to understand how coding works. It is called "Swift Playground". It is free and you can download it in any apple device.
Thank you comment icon Hi Tek Fai, thank you for taking time to answer my question. Oh really? I'll definitely download it and give it a go. Thanks :) Effie
0
0
Updated
Share a link to this answer
Share a link to this answer

Jane’s Answer

It may be challenging to determine where to start, if you have no prior understanding of the all the different programming language and tools out in the marketplace. So I recommend you do a few things. First, look to see what jobs are available and what kind of coding skills are they looking for. You don't want to pick up a program language that is somewhat outdated. Second, review the suggested websites that Maryana and other suggested above, and get a feel for how user-friendly is the on-line training.

I would also suggest taking a deeper dive into your question. If you are looking to learn how to code, to find a job, you may want to think about more specific free on-line training, such as Salesforce Trailheads:
https://trailhead.salesforce.com/en/home

It is a lot of fun, but also helps you to understand the different roles and career paths that working in the Salesforce ecosystem, will enable you. There are many companies who also will have Salesforce Bootcamp programs globally, for an entry-level applicant, so having some Trailheads points, badges, and Trailhead projects under your belt, will help with the application process.

Your job search on-line, should list "Developer" if you want that career path - and you'll see the different types of Developer roles that are out there, and which companies are hiring. I find that a more practical approach when starting a career in technology.

Good Luck!



Thank you comment icon Thank you so much, Jane, for taking time to answer my question. I really appreciate it, and I'll make sure to check them out :) Effie
0
0
Updated
Share a link to this answer
Share a link to this answer

Julius’s Answer

Start with intention(e.g. i want to build a mobile app for note taking), then find the programming languages suited to build that application. In this example, you may take training like Java for Android OS and Objective C for Apple OS.

If you want to build the foundational knowledge in programming and/or computer science you may want to visit this site https://github.com/ForrestKnight/open-source-cs/blob/master/README.md or https://github.com/ossu/computer-science. It is all free and online.