Giter Site home page Giter Site logo

self_learning_guide's Introduction

Getting started with self learning

This guide was created to serve as an example of what the self learning process looks like. More specifically, it will discuss learning new programming languages, libraries/frameworks, and getting started with personal projects.

Programming Languages

Let's face it, at one point or another (as a developer at least) you're going to be expected to have to learn a new programming language on your own. Lucky for you, dear reader, it is not a wildly difficult thing to do. There are several approaches one can take when picking up a new programming language (keep in mind this isn't every method, just some good starting points).

Official documentation

Using the official documentation for a programming language is typically a good place to get started. Most modern programming languages have a beginner guide on their website to help get started with the language.

For example, let's say we want to learn Python:

  1. Go to the official Python website
  2. Download Python if needed
  3. Looking at the navigation bar, to do Documentation -> Beginner's Guide
  4. Bam, a fairly detailed guide to help you get started

Findining a beginner's guide on YouTube

So these official guides can be, well, difficult to follow sometimes. Maybe they're hard to understand, or the website is just ugly. Luckily, there exist some very good guides written by other people.

Again, let's use Python as an example:

  1. Search Google for python beginner's tutorial
  2. Wow, lots of options!

There are some pros and cons to this approach.

You have a lot more options here, meaning you can find something that works better for you and is better tailored to your learning style.

Down side is there are a lot of options, and it might involve going through a few tutorials to find one you like.

YouTube tutorials

Similar to written guides that can be found through Google, many good video tutorials also exist on YouTube. You might see these when you do a Google search, or you can search on YouTube for good beginner tutorials.

Libraries/Frameworks

Having to spend time learning new libraries/frameworks is a fairly common occurrence for software developers these days. Luckily, picking these up on your own is (usually) easier then having to learn a new programming language.

The same principles for learning a new language apply here:

  1. Official documentation is a good place to start
  2. Searching Google for beginner guides is also a good choice
  3. If videos are your thing, find a tutorial on YouTube

Personal Projects

Starting a personal project is a bit more complex topic. An attempt will be made to try and generalize how to start a new project, but keep in mind this can vary from project to project.

Figure out what you want to make

It can be tempting to just think "I want to make something cool with Python", but usually that's not enough to get started. Try to think of something cool you would want to make, like maybe a Discord bot or a portfolio website.

Brainstorming ideas

Here are two approaches you could take to come up with some ideas:

  1. Think of a commonly occuring issue, or times you wish you had a program to do something, and make it yourself
  2. Google project ideas

The first method is more of a "go do it yourself method", where you can create new solutions for your own problems.

Googling project ideas is another good option, for when you want to make something for learning purposes but you just don't know what to make.

Creating the basics

Now that you have an idea of what you want to do, you can get started. You might already know where to get started, in which case go do your thing. However, there is no shame in not quite knowing where to get started.

If you're struggling to find a starting point, use Google! For example, let's say we wanted to make a Discord bot and use Python for our language. Searching python discord bot tutorial on Google will yield some helpful starting points.

Use Google to your advantage

If you get stuck somewhere while working, use Google to try and solve your issues. Googling things like how to do x in python or error messages are great ways to try and work out your problems on your own.

I know some people feel weird about using Google to find answers to their questions, but know that even the best software developers do this.

Show off your project to your friends

This isn't a requirement, but you should be proud of what you've made, so show it off to your friends!

Wrapping up

If there were one major thing that should be taken away, it should be that Google is a useful tool. Many developers use it for many different purposes, like fixing bugs and learning new technologies. I would encourage you to utilize search engines in your development flow if you do not already.

If you are a KSU CS student reading this, feel free to reach out to us via the CS or hacKSU Discord with questions/suggestions.

Happy coding!

self_learning_guide's People

Contributors

collinw9898 avatar

Watchers

James Cloos avatar Camden Fullmer avatar David Steinberg avatar Robin Bonatesta avatar JT Raber avatar Nick Crawford avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.