0% found this document useful (0 votes)
14 views10 pages

(English (Auto-Generated) ) How I Would Learn To Code (If I Could Start Over) (DownSub - Com)

The document provides advice on how to effectively learn to code from scratch. It recommends starting with Python to learn basic coding concepts like variables, functions, and data structures. Then build a basic website using a Python framework like Django or Flask for the backend, JavaScript and React for the frontend, and MongoDB for the database. This allows learning practical skills while preparing for core computer science concepts. It stresses finding a simple, useful personal project to stay motivated, such as solving a problem in one's own life. After gaining experience, it recommends learning C and C++ to master core programming principles.

Uploaded by

Coderwal Ji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views10 pages

(English (Auto-Generated) ) How I Would Learn To Code (If I Could Start Over) (DownSub - Com)

The document provides advice on how to effectively learn to code from scratch. It recommends starting with Python to learn basic coding concepts like variables, functions, and data structures. Then build a basic website using a Python framework like Django or Flask for the backend, JavaScript and React for the frontend, and MongoDB for the database. This allows learning practical skills while preparing for core computer science concepts. It stresses finding a simple, useful personal project to stay motivated, such as solving a problem in one's own life. After gaining experience, it recommends learning C and C++ to master core programming principles.

Uploaded by

Coderwal Ji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

this is how i would learn to code if i

could start over for context i work at

microsoft but before that i did six

internships across three countries so

yeah i've done a line or two in my life

wait not like that what the to tell you

what i would change i first need to tell

you what i did i started coding in grade

11. well sorta we started with this

language called scratch it's basic game

development made for children nobody

would be stupid enough to let's say do

an entire google coding interview in

this language and maybe even do shots

every time the code fails so let's just

skip that and get to the important stuff

i went to waterloo and in order i

learned first racket then c c plus plus

html css tcl python java javascript c

sharp some of these were in class some

are on their own here's the motivation

behind each racket for recursion c for

memory management c plus plus for object

oriented design html and css for web

development although these are not real

programming languages or markup

languages tcl i did an internship and

it's useless python i learned

this alone and over time but mostly just

for side projects java and javascript


for back-end and front-end web

development and finally c-sharp which i

do for my full-time job now but it's

essentially microsoft's version of java

so let's not talk about it c and c-plus

plus are by far the most useful

languages to learn after i learned those

i realized most other programming

languages are essentially just

derivatives of those each new

programming language essentially takes

those and makes some specific tasks

easier basically all these languages

share the same ancestor and c and c

so clearly you should start by learning

these two languages right no these

languages are pretty intensive if you

want to do anything like useful or

impactful it either requires one a lot

of code or two use of a bunch of

libraries that you've never heard of

before and honestly are probably not

worth learning which brings me to my

point you need to do something useful

but not too useful now hear me out if

you're learning c it's going to be

relatively easy to start solving some

basic math problem and you'll print the

solution on the screen but all of your


code is contained to this little

terminal if you want to make a graphical

game or connect to a website or do

anything quote-unquote useful it'll

actually be really hard like even for me

right now i i would have to do a lot of

googling to even figure out how to do

those things essentially if you start

with c anything useful is going to be

too hard and this will be really

demotivating now let's look at the

opposite end of the spectrum many

students want to get into coding and the

first thing they want to do is learn

machine learning here's the thing

machine learning is super useful in the

real world but it's all advanced math so

if you start with it you're going to be

learning one computer science basics two

python for example and three advanced

math topics all at the same time and

unless you are literally a genie

you're gonna come out of that not really

knowing any of the three the sweet spot

is somewhere in the middle you need to

do something that's useful but not too

useful now we're talking about doing

useful things let's clear up the

distinction between coding and

programming coding is just writing code


to solve computer science problems let's

call them math problems to show the

distinction this is what you need as a

prerequisite to learn how to program

programming is the ultimate goal

programming is the act of using coding

to make programs that solve real

problems you need to learn the

fundamentals of coding to know how to

program remember when i talked about

people starting at machine learning this

is trying to program before you know how

to code and people only solving math

problems in c is knowing how to code and

never using that to program there are

tons of tools use cases frameworks that

surround each coding language but in the

beginning you kind of need to isolate

the coding language itself learn the

basics of that and then you can take it

and learn how to program with it the

easiest thing to start with is probably

python but honestly i wouldn't be upset

if you picked a javascript and i'll

explain later python mostly looks like

plain english even if you don't know how

to code you can sort of read it it's

super easy to get started in you can

immediately start learning the basics


like variables functions move quickly

into data structures and algorithms

you'll really want to know the basics

about types like arrays and the basics

of control flow like functions loops and

even a little bit about classes don't

get carried away you don't need to learn

advanced things like inheritance for

example if you're feeling a little

feisty you might want to learn

exceptions hash maps maybe sprinkle in a

little recursion now there are plenty of

intro to python courses in the world so

i'm not going to bore you with the

details i'm sure you can find that on

your own but now that you have a coding

language down let's talk about

programming so the first thing i would

do is take what i've learned and build a

website now there are three important

aspects to a website there's the back

end which kind of manages user data

there's the front end which is what runs

on the user's browser and then there's

the database which essentially just

stores data now we'll start with

back-end you're going to want to pick a

pretty high-level language either one

python or two javascript the first

program i would build would be a basic


website now what type of website what

does that website do well i'll explain

that in a minute but for now let's just

make a project in that language now when

making a backend you're going to learn

concepts like http methods get post for

example depending on the project you

might be interacting with a database

once you start to feel comfortable and

have your basic back end working then

let's try our hand at the front end now

on the front end you're going to be

using things like javascript html css

this is the reason i say javascript is

actually a pretty good starting language

because you can use it for the backend

and the front end now i said each

programming language has a bunch of

tools and frameworks that make it easier

to use basically there's no reason for

you to write code that somebody else has

already written the frameworks i would

use for these languages would be python

i would try either django or flask

javascript on the backend i would use

express.js which just think of it as

simplifiednodejs and on the frontend i

would use react and if you need a

database i would try mongodb now


anecdotally i can tell you for python

i've seen more jobs listed for django

than for flask and i've seen more

express js jobs over django on the front

end i think react is pretty solid after

that time you should learn c and c plus

as it'll teach you everything you need

to know to learn any other programming

language i love this method because you

start learning the practical and

marketable stuff immediately but then

you start preparing yourself for the

long term necessities this keeps your

motivation higher and it really just

makes you marketable quicker now what

website should i build think back to

useful but not too useful this doesn't

need to be very complicated in fact it

really shouldn't be complicated at all

there's going to be a lot of new ideas

and concepts thrown at you if you try to

build the next tinder or the next

instagram you're gonna end up with no

product no learnings and no motivation

now before i give some concrete examples

and i will let's talk about what makes

project good in an abstract sense it's

always best to create things that you

actually find useful i'll give you an

example of one of my first side projects


so i created this thing called spotify

to youtube mp3 in university i had a

trial of spotify and when it ran out i

was too cheap to buy spotify i didn't

have any money but i had 400 plus songs

in my playlist i didn't want to lose all

that so i created a python program that

uses the spotify api to get those songs

and then youtube's api to download the

mp3 version now i had all the same music

but for free this project was one of the

few that i actually finished and it's

one of the few employers loved asking

about why well one because it's unique

but two because i actually used it i

built it for myself other projects i

would start and then i would lose

motivation and i would never finish

think a little about some problem that

you have in your life that would be nice

to know like maybe it's uh just knowing

when your favorite beer is on sale or

maybe it's an online clipboard so you

don't have to keep messaging yourself

random on facebook messenger all

the time it doesn't have to be relevant

for everyone it really just has to be

relevant for you now if you don't have

an idea yet don't panic i have a


solution for that you're allowed to

follow a tutorial on youtube or udemy or

any of those sites

but you're not allowed to build the same

website as them for example if you're

following a tutorial on how to build a

weather website instead try building

something like a currency converter

that's a real example that i did what's

great about that is most of the code and

the concepts are going to be the exact

same but it restricts you from being

able to copy and paste the solution

therefore you can follow the tutorial

but you can't copy it now moving back to

c c plus plus for a second the best and

most popular languages and frameworks

are always going to change they're

changing as we speak right now don't

underestimate those fundamentals you've

learned in c and c plus because

ultimately if you know those well most

other languages are just going to be

some subset of those languages also know

you're going to experience the

dunning-kruger effect this curve shows

when somebody's learning a new skill at

the beginning they tend to be

overconfident in their abilities when

they start to learn more they see they


actually have so much to learn they

quickly lose all their confidence and it

takes them a while to build it back up

bear in mind you're going to go through

this process you're supposed to feel

like you're not good enough you're

supposed to feel like you're not smart

enough for this but trust me if i can do

it then you can do it one important

resource is hackathons it's weird to be

at a hackathon in the first place but

it's cool to see all this hackathons are

scary because you'll go not knowing much

but people will expose you to things you

didn't know you didn't know they'll help

you build and complete an entire project

in 48 hours they're also just really fun

even if the food is actually terrible

every single time now don't forget this

comes after you learn the basics of

coding don't try to program before you

know how to code and don't waste all of

your time coding and not programming

subscribe smash the like button and go

break some eggs

You might also like