How I Would Learn To Code (If I Could Start Over)

How I Would Learn To Code (If I Could Start Over)

Learning to Code: How to Get Started

In this video, the speaker shares their experience of learning how to code and provides tips on how to get started with coding. The speaker emphasizes the importance of setting goals and expectations, understanding what coding really is, learning the fundamentals, and deep diving into a single programming language.

Setting Goals and Expectations

  • Set clear goals for why you want to learn how to code.
  • Be realistic about your expectations and understand that mastering software development takes time and effort.

Understanding What Coding Really Is

  • Coding is just a means to an end; it is a tool used by developers to develop software.
  • To truly understand coding, you need to understand the larger process of building out software.

Learning the Fundamentals

  • Start by learning basic computer science principles through resources like CS50.
  • CS50 covers everything from binary notation to full-stack web applications with HTML, CSS, and JavaScript.

Deep Diving into a Single Programming Language

  • Once you have been introduced to different programming languages, choose one (such as Python, Java or JavaScript).
  • Learn one language well before moving on to others since they are all very similar in nature.

Choosing a Programming Language

In this section, the speaker discusses how to choose a programming language and recommends some resources for learning.

Choosing a Language

  • Java syntax is more verbose than Python syntax.
  • JavaScript is the primary programming language of the front end of the internet and can be easier to learn because you can interact with output in a web browser.
  • HTML and CSS are markup languages used for describing content and style of web pages.

Learning Resources

  • FreeCodeCamp and Codecademy offer free high-quality courses that can be supplemented with YouTube videos.
  • Programming Expert is a paid course that is recommended for learning Python.
  • Udemy and Coursera also offer courses, but it's important to watch free content first to get an idea of quality.

Choosing a Code Editor

In this section, the speaker discusses choosing a code editor and getting familiar with its features.

Choosing an Editor

  • Visual Studio Code is currently the most popular editor.
  • Getting used to editing code on your local computer in a code editor from the start will make everything easier.

Learn, Practice, Repeat

In this section, the speaker emphasizes practicing coding as you learn by creating simple projects and applying knowledge outside of tutorials.

Practicing Coding

  • Creating simple projects helps apply knowledge outside of tutorials.
  • Googling things while coding is okay, but don't just copy-paste solutions. Make sure you understand any code that you copy by re-implementing it yourself after some time has passed.

Non-Coding Software Development Skills

In this section, the speaker discusses non-coding software development skills that are important for most developer jobs.

Terminal and Git

  • Get used to using a terminal to navigate directories and edit files.
  • Learn Git, which is how software engineers keep track of their work.

Developing Basic Knowledge

  • Develop a basic knowledge of non-coding skills like project management, communication, and problem-solving.

Learning Path for Aspiring Software Engineers

In this section, the speaker discusses the learning path for aspiring software engineers.

Areas to Explore

  • The speaker suggests exploring different areas such as game development, mobile development, front-end frameworks, and machine learning based on personal interest and goals.

Advanced Coding

  • The speaker recommends learning data structures such as arrays, sets, maps, stacks, queues, trees, and graphs.
  • Additionally, the speaker suggests learning algorithms including sorting algorithms like merge sort and searching algorithms like binary search.
  • Knowledge of graph traversal algorithms such as BFS and DFS is also recommended.
  • The speaker advises learning C or C++ to gain a better understanding of computer memory management.

Technical Interviews

  • The speaker emphasizes preparing for technical interviews by watching their video on the topic.
Video description

Learning to code is hard. I spent years going through countless tutorials, yet retaining almost no information. In this video, I share how I would learn to code, if I could start over from scratch. Resources Mentioned in the video: Harvard's CS50: https://pll.harvard.edu/course/cs50-introduction-computer-science Codecademy: https://www.codecademy.com Free Code Camp: https://www.freecodecamp.org/ ProgrammingExpert: https://www.programmingexpert.io - Use code "conner" for a small discount. I don't get paid for this, it just gives you a discount :) Udemy: https://www.udemy.com/ Coursera: https://www.coursera.org/ VS Code: https://code.visualstudio.com/ Other Resources Not Mentioned: Learn C: https://www.learn-c.org/ Learn C++: https://www.learn-cpp.org/ Prepping for your frontend interviews? Use code "conner" for a discount on my course FrontendExpert: https://www.frontendexpert.io/conner LinkedIn: https://www.linkedin.com/in/connerardman/ TikTok: https://tiktok.com/@connerardman Video/Coding Gear: https://www.amazon.com/shop/connerardman Timestamps: 0:00 Timestamps: 0:00 The Endless Tutorial Cycle 0:28 Goals And Expectations 1:25 What Even Is Coding 2:42 Computer Science Fundamentals 3:40 Coding Deep Dive 6:56 Effective Practice 7:55 Non-Coding Coding Skills 9:24 "Advanced" Coding 10:45 Preparing For Interviews