Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Sophy Wackles
Dec 17, 2000

> access main security grid
access: PERMISSION DENIED.





Quarantined at home? Looking for a way to fill the time? How about learning some valuable new skills as a computer toucher! Last year's goons learn to code month was a smashing success and all who participated are now earning six figures working from home and are loved and adored by all. I am stealing some of Analytic Engine's OP from last year but I will be happy to add any resources people have to help those who would like to learn to code for the first time, learn a new language or just improve their skills. If you would like make yourself available as a tutor for others, I can add you to the OP. Just let me know what you can tutor in and how people should contact you.

General Coding Resources, Courses and Classes
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/
https://www.khanacademy.org/
https://www.codecademy.com/
https://www.udemy.com/

Language Specific Resources:


Coding Challenges and Project Ideas
The best way to learn to code is to practice as much as you can! Think of your own project that will keep you interested or check out some of the sites below for practice problems and projects.

https://projecteuler.net/ (math and computer programming problems for practice and fun!)
http://www.codeabbey.com/ (lots of project examples you can do in any language)
https://adventofcode.com/ (annual coding challenges)
https://www.codewars.com/
https://codingbat.com/java (coding practice problems in both java and python)
https://rosettacode.org/wiki/Category:Programming_Tasks (huge amount of programming problems with solutions in many languages)
https://www.reddit.com/r/dailyprogrammer/
leetcode Practice and learn new skills with coding problems/challenges
Cracking the Coding Interview: 189 Programming Questions and Solutions

Machine Learning and Data Science
https://www.anaconda.com/ (python data science platform and package management)
http://introtodeeplearning.com/
http://neuralnetworksanddeeplearning.com/ (great free book on neural networks. Note: math heavy)
https://www.datacamp.com/ (data science coursework and tutorials)
https://www.kaggle.com/ (ML competitions with lots of examples and open source solutions)

Automation
https://automatetheboringstuff.com/

Other Stuff
https://distrowatch.com/ (solve all of life's problems)
https://code.visualstudio.com/ (cool and good editor/ide to code in)
https://notepad-plus-plus.org/ (editor with support for many languages)
https://learnxinyminutes.com/ (language descriptions and syntax comparison)
Debuggex (regular expressions)
http://play.inginf.units.it/#/ (regular expressions game!)
https://devdocs.io/ Combines multiple API documentations into a single searchable interface.

Feel free to ask questions, post about projects you are working on and stuff you are learning, help other goons and add resources for the OP. Please don't be a pedantic jerk to others ITT.

Analytic Engine posted:

:engleft: :eng101: :science:

Can you follow a recipe? Yes? Then you can program computers.
(If you can't cook then you can still program, but dating will be harder)

References

"Grokking Algorithms: An illustrated guide for programmers and other curious people" by Aditya Bhargava
This is my favorite book for introducing algorithms. The tone is welcoming, the examples are clear, and the exercises have answers in the back. You don't even need to code to learn from it.
https://www.amazon.com/Grokking-Alg...s/dp/1617292230

Katamari Democracy posted:

My biggest reccomendation for the thread is if you have no loving clue how to code and want to get your toes wet. Learn a little bit of Programming Logic


Download Flowgorythm. It is free. Flowgorithm.

They offer free lessons and if you want to go a little deeper purchase this book: Programming Logic and Design

My instructor shared with the class in college this little tidbit from the Big Bang Theory that basically sums up learning flowcharts.

https://www.youtube.com/watch?v=k0xgjUhEG3U

Sorry if its goony as gently caress but my instructor was the biggest neckbeard there was and it made the class fun to learn. If I had a recommendation on where to start I really hope this post makes it worth it to make that first step.

E- OH. Flowgorithm takes any flowchart and translates that into many forms of code being used on the internet and in industries across the world. And it is a great tool for high school students and early college students to get their hands on with. You can learn more from the website I linked above.

E3-


Thats how I learned.

Sophy Wackles fucked around with this message at 23:37 on Feb 2, 2021

Adbot
ADBOT LOVES YOU

Rod Hoofhearted
Jun 18, 2000

I am a ghost




I started this last July and kept up with it through September, then life/my job got super busy and I fell off.

I used Automate the Boring Stuff to learn Python.

https://automatetheboringstuff.com

I'm mostly a spreadsheet pusher, and sure enough I quit literally the chapter right before it starts getting into spreadsheet stuff.

I keep meaning to get back into it, and now should be the perfect time.

Analytic Engine
May 18, 2009

not the analytical engine
Thanks for starting the thread Pawn 17 and good luck to all you quartinevelopers

dead prez
Sep 22, 2019

Everytime I look around, I see
So much drama goin down
Everytime I look around, I see
So much fakeness goin down
https://www.freecodecamp.org/

starts super basic w html and css working up to js, helped my semi-technical friend with an interest get into the basics

Mozi
Apr 4, 2004

Forms change so fast
Time is moving past
Memory is smoke
Gonna get wider when I die
Nap Ghost
10 PRINT "BUTT"
20 GOTO 10

dead prez
Sep 22, 2019

Everytime I look around, I see
So much drama goin down
Everytime I look around, I see
So much fakeness goin down
e: bad idea

Isaac
Aug 3, 2006

Fun Shoe
I make $80 an hour sitting in my room now, coding is pretty good imo

sticksy
May 26, 2004
Nap Ghost
Thanks for doing this, OP.

I work in a computer touching company/industry but I am not an actual computer toucher so been meaning to get into this as there’s pretty much only upside to both my career and productivity long-term.

coolskull
Nov 11, 2007

i gotta get back to the django course i got two thirds through and figure out something cool to do with it

Isaac
Aug 3, 2006

Fun Shoe
I normally dont do tutorials I much prefer to just bumble through my own projects and google stuff when I get lost. But I did enjoy this one on deep learning. Its an MIT introduction to machine learning and I was really suprised how easy it is to pick up. I didnt know any tensorflow or data stuff before going into it (and very little python) but by the end I was able to entertain myself for weeks playing with making GAN images.

http://introtodeeplearning.com/

Sophy Wackles
Dec 17, 2000

> access main security grid
access: PERMISSION DENIED.





Isaac posted:

I normally dont do tutorials I much prefer to just bumble through my own projects and google stuff when I get lost. But I did enjoy this one on deep learning. Its an MIT introduction to machine learning and I was really suprised how easy it is to pick up. I didnt know any tensorflow or data stuff before going into it (and very little python) but by the end I was able to entertain myself for weeks playing with making GAN images.

http://introtodeeplearning.com/

Awesome, I'll add some machine learning info to the OP.

TIP
Mar 21, 2006

Your move, creep.



I started out on JavaScript and I found it a really easy way to get my toes wet in coding. You don't need to learn an IDE or even install anything, you can just write code in notepad and open it up in a web browser to run it. Or, even easier, you can use something like https://www.codepen.io to do it all in browser.

That allowed me to learn coding in my downtime at my job. I was working on the news making graphics and animations, and was able to go straight into a coding job where I made 3 times as much money. Now I run a game company.

Here's the coding project that got me my first job:
https://codepen.io/tipvfl/details/qdpWaY
(some icons are now broken, but it mostly still works almost 5 years later!)

Anyways, it's been too long since I learned for me to point to anything up to date to start learning from, but my general suggestion is that you should start out by learning vanilla JS, don't touch any frameworks until you have a really solid grasp on the basics.

Also, don't bother with CSS or HTML starting out, trying to learn three things at once will overload you. All of my first programs were text-based and controlled entirely from the console. You might be surprised how fun it is to make a text-based blackjack game.

I can recommend that once you get past the basics you should start learning programming patterns. Programming patterns are basically proven ways to tackle common programming problems, and once you understand the logic behind them you can easily adapt them to any language you learn.

Which reminds me of another nice thing about JavaScript, it uses a pretty standard C style syntax which makes it pretty easy to transition to other languages that use the same syntax like Java and C#.

Guildenstern Mother
Mar 31, 2010

Why walk when you can ride?
Realistically what level of proficiency would I need to start job hunting with this fun and exciting new skill set? This seems like a great time to get the gently caress out of the restaurant industry, but I don't want to get my hopes up/spend all my time learning if I'm years out from getting a computer toucher job.

TIP
Mar 21, 2006

Your move, creep.



Guildenstern Mother posted:

Realistically what level of proficiency would I need to start job hunting with this fun and exciting new skill set? This seems like a great time to get the gently caress out of the restaurant industry, but I don't want to get my hopes up/spend all my time learning if I'm years out from getting a computer toucher job.

There are coding camps you can go to that are usually between 9-12 weeks that often lead to jobs. I've known multiple people who managed it successfully, but I've never tried it myself.

Learning on my own I spent about 6 months working on coding in my spare time before I started job hunting, and it took me like 3 months to find a job. I probably could have started the search earlier and still been successful, I just hate searching for a job while I have a job so I waited until I got laid off.

dads friend steve
Dec 24, 2004

For anyone looking to start, python or javascript may be the best bang for your buck in terms of ramp up time. I’d avoid c and c++ because in my experience the level of proficiency expected to actually get a job in those languages is much much higher

Java and C# are also real good if your end goal is eventually getting paid to program. I have no idea if anyone actually uses Ruby any more

dads friend steve
Dec 24, 2004

Tip posted:

There are coding camps you can go to that are usually between 9-12 weeks that often lead to jobs. I've known multiple people who managed it successfully, but I've never tried it myself.

Learning on my own I spent about 6 months working on coding in my spare time before I started job hunting, and it took me like 3 months to find a job. I probably could have started the search earlier and still been successful, I just hate searching for a job while I have a job so I waited until I got laid off.

I’ve never worked with anyone who got hired from those boot camps, but I feel like 9-12 weeks of intensive training would be reasonable for an entry level hire. Mainly because you don’t expect them to be immediately productive and should anticipate a lot of on the job training anyway

Unfortunately there may be a fair number of lovely scammy ones out there, since there’s no real standards or accreditations I’m aware of.

All of which is to say, to anyone thinking about making the switch, please do it! But be careful and do some homework

Tenacious J
Nov 20, 2002

I've always wanted to learn but I don't know what to try coding. Hello World and little things like that aren't very interesting but I see them recommended all the time. Is there something actually useful I can try?

Also would it be a bad idea to start learning with Swift? I think I'd ultimately like to make an ios app once I have the chops for it.

Eat The Rich
Feb 10, 2018



This is great. I've been super bored. Ive tried in the past to learn code and in the past have learned enough python to make a command-line flash card creator (a friend actually paid me for it). Learned some Java about ten years ago too. I never really stuck with it cause I could never come up with a project that interested me. ADHD doesn't help either. Now I'm 30 and make minimum wage in a cafe.

Buttcoin purse
Apr 24, 2014

e: removed bad advice

Buttcoin purse fucked around with this message at 11:01 on Mar 20, 2020

Isaac
Aug 3, 2006

Fun Shoe
About 2 years ago after I got out of rehab and went back to my supermarket job and realised it was no way to live. I stopped working and went on welfare and spent all day every day making stuff in Unity with C# not really intending to code professionally I just loved doing it. I spent about a year doing that, then did a handful of other hobby projects. Made a bot to play online poker, made some tinder and twitter bots. Dipped my toes in a few other things like deep learning, making MIDI instruments from USB peripherals, some other projects I dont remember.

All these projects gave me the breadth of knowledge that I use now as a solo/freelance operator making a ton of money sitting in my room. You might not need to know such a wide range of stuff if working for a company with a whole department of IT people, but I wouldnt rate my skills at 12 weeks to be worth much at all. I still would consider myself way down the bottom of the scale as far as skill level, although I dont really have anything to compare myself to.


If you enjoy coding and computer poo poo then you should stop whatever else you are doing and devote your time to learning it, because it'll pay more money than any other skills you might have. If the prospect of spending thousands of hours doing computer poo poo sounds bad to you, then probably do something else.

Tetramin
Apr 1, 2006

I'ma buck you up.

Tenacious J posted:

I've always wanted to learn but I don't know what to try coding. Hello World and little things like that aren't very interesting but I see them recommended all the time. Is there something actually useful I can try?

Also would it be a bad idea to start learning with Swift? I think I'd ultimately like to make an ios app once I have the chops for it.

This is a question that everyone has. But it’s not like you are about to spin up a million dollar company or whatever. Figure out how to make a script that organizes newly downloaded music/movie/tv files to their appropriate folders, or write something that simulates activity so your boss doesn’t know you’re sleeping until 2pm. You will even learn from writing a dumb addressbook or blackjack game

Theres also a daily programming challenge Reddit that’s kinda fun too. Not sure if it’s still active

TIP
Mar 21, 2006

Your move, creep.



Buttcoin purse posted:

I've been doing it professionally for decades and never come up with much useful to do in my own time.

Maybe you could take a look for "bounties" where people have some feature they want added to an open-source application, or a bug they want fixed, or things like that, and they're willing to pay for it. If you look around you might find something that actually interests you as well as paying a small amount of money. http://www.coderbounty.com/list/ is the first Google result I found though and it looks pretty lovely. Perhaps there are better sites out there.

Or if you're not concerned about the money aspect initially, just look around for active open source projects to contribute to.

I feel like these are insane suggestions for someone trying to learn how to code. Contributing to existing codebases is way more challenging than creating your own small projects.

As far as the question it's addressing, stuff like hello world may be incredibly simple, but it's also teaching you the building blocks you need.

Do the super simple dumb projects like hello world to learn the basics, it really won't take very long. Other simple projects: randomized quiz, rock paper scissors, a calculator.

After working through those you can step up to slightly more interesting things, like a game of blackjack.

My strategy when I was learning was to pick a simple project that has a tutorial, then try to accomplish it without the tutorial. Then after completing it I'd go back and see how the tutorial version did it. If you get stuck you can always check the tutorial, but it's good to struggle a bit and learn how to Google for the specific bits you can't figure out.

Once I had a decent grasp on the basics I tried to pick projects that had at least one part I wasn't sure how to accomplish.

A fun one to work up to is making a minesweeper clone, the trickiest part of that is figuring out how to make a click in an empty area clear the whole area.

Another really satisfying thing you can do after learning the basics is write something that utilizes a public web API. There are lots of free web APIs for pulling down all kinds of data that allow you to do some really cool stuff without much effort.

Buttcoin purse
Apr 24, 2014

Tip posted:

I feel like these are insane suggestions for someone trying to learn how to code. Contributing to existing codebases is way more challenging than creating your own small projects.

Yeah, for sure, I mean that to be a reply to Eat The Rich who had made some progress but didn't know what to do. Edited out my post.

Jesustheastronaut!
Mar 9, 2014




Lipstick Apathy
I'm going to learn Python this month. It will be my first language. I am not sure what I will do with it, but it's required for CCNA now so I will have to learn it

coolskull
Nov 11, 2007

Tip posted:

There are coding camps you can go to that are usually between 9-12 weeks that often lead to jobs. I've known multiple people who managed it successfully, but I've never tried it myself.

Learning on my own I spent about 6 months working on coding in my spare time before I started job hunting, and it took me like 3 months to find a job. I probably could have started the search earlier and still been successful, I just hate searching for a job while I have a job so I waited until I got laid off.

What does applying for jobs look like in this case? Do you have some kind of site or portfolio to point to to demonstrate your skills beforehand, or are you just going into an interview and answering technical questions?

Katamari Democracy
Jan 19, 2010

Guess what! :love:
Guess what this is? :love:
A Post, Just for you! :love:
Wedge Regret
Hello again coding goons! Sorry I wasn't active in the last thread but I do offer another piece of advice that has helped me a lot.



Get yourselves one of these. This thing comes with an arduino board and you can do some really loving neat stuff all while a software tells you what to do as you are learning.

It's normally about 30 bucks and is GREAT to build with kids.

Rahu
Feb 14, 2009


let me just check my figures real quick here
Grimey Drawer
Rust is a cool and good language to learn.

https://doc.rust-lang.org/book/

TIP
Mar 21, 2006

Your move, creep.



LOVE LOVE SKELETON posted:

What does applying for jobs look like in this case? Do you have some kind of site or portfolio to point to to demonstrate your skills beforehand, or are you just going into an interview and answering technical questions?

Well, since I was previously working as an artist and animator I decided to go for UI/UX designer/coder, and interviewing for that is like the worst of all worlds. I had to do everything I had to do for artist interviews and everything coders have to do for coding interviews.

So that meant I had to build a portfolio site for all my art, create a fancy bound and printed art portfolio, along with a public GitHub with the source for my best projects, and printed out copies of my source code for interviews.

Then at the interviews I had to do coding tests, whiteboard sessions, pair coding sessions, walk people through my source code, describe how I would tackle various interface needs, and describe my overall process for all the different poo poo that I do.

After months of that I got a job offer from a lovely company I didn't want to work for who tried to low-ball me in negotiations. While I was negotiating a recruiter for another company reached out to me about interviewing for a position and I said, "I've already got an offer from another company, I won't even talk to you unless you can make me an offer significantly over $XX,000 within 24 hours."

They gave me an interview an hour later that was the easiest interview I ever had and made me a much better offer than the other company.

I later witnessed the hiring process at these companies and you'd probably be shocked at how desperate some of them are to snag anyone who appears at all smart and competent. If you mention other offers they get really scared because other companies wanting you is a validation of your worth.

Another thing to note, you probably shouldn't stay at your first job for more than a year or two. That experience makes you incredibly valuable but companies will almost never give you the 40-50% raise you can get by switching jobs at that point.

That holds true for your first couple jobs, but it's probably good to stick around for a while at your third so you don't look like you're just gonna quit every job at 12 months.

high six
Feb 6, 2010

Tenacious J posted:

I've always wanted to learn but I don't know what to try coding. Hello World and little things like that aren't very interesting but I see them recommended all the time. Is there something actually useful I can try?

Also would it be a bad idea to start learning with Swift? I think I'd ultimately like to make an ios app once I have the chops for it.

I think a lot of it is you need to understand generally how things work before making anything useful. Otherwise you'll get frustrated and give up if you don't understand the basics.

The way I did this was working with powershell to automate job tasks (I'm in the infrastructure side of IT). So, I'd have a task, i'd break down that task into small jobs, and then figure out how to automate them via Powershell which is already installed on Windows.

high six
Feb 6, 2010
Also for goons that want to learn to do this. I think while you're learning, use something like Github at the same time so you can understand the basics of version control. It's super useful AND an important job skill. I'm not even a dev but the fact I have a github with semi-regular activity gets me a lot of attention on the job market.

Eat The Rich
Feb 10, 2018



I'm actively looking for an interesting project to do. I was reading the last thread mentioned and it mentioned repl.it which is really great for not have to worry about setting up an environment, especially on a chromebook.

I also want to share my favorite post in that thread. I'm gonna go hunt down some apis to gently caress with.

dk2m posted:

ive been learning python in my spare time and it's pretty amazing how far i've gotten. i absolutely failed at java in college and that experience absolutely soured programming for me for the rest of my life.

but i heard that python is more fun so i decided to give it a shot. in the span of maybe about 10 days of putting in some real effort, here's what i've accomplished:

1) created a small app that scrapes craiglist to give me a list of a bunch of cars i'm interested in and then emails me if there's anything that hits a price threshold

2) used the spotify apis to give me some interesting insight into my playlists. this one was a bitch because i had to learn what oauth2 and all that poo poo was, but it makes total sense now after struggling for days on it

3) used scikit learns datasets to create some basic machine learning stuff for classification problems. this is going to actually come in handy for work and holy poo poo, getting it all to work was so satisfying. i've already hooked it up to some prod data that i have access to at work and it's probably gonna save me a ton of time

4) created a face-recognition app - this taught me the gently caress out of arrays and incorporating loops with serious arrays work. i ended up using it with some chat groups with my friends where we post pictures a lot of each other and i now have a folder that has pictures that everyone thought was lost to time

this is just the fun/useful poo poo, but my god python is the best thing to happen. i ended up just googling EVERYTHING, i found that i would get extremely bored if i had to sit through datacamp or codeacademy or whatever. it's just more fun having a small project or some funny poo poo you want to do and then just google away until it works

Sophy Wackles
Dec 17, 2000

> access main security grid
access: PERMISSION DENIED.





Rahu posted:

Rust is a cool and good language to learn.

https://doc.rust-lang.org/book/

I've been looking to learn Rust, just haven't found the right project yet! Added to OP.

Katamari Democracy posted:

Hello again coding goons! Sorry I wasn't active in the last thread but I do offer another piece of advice that has helped me a lot.



Get yourselves one of these. This thing comes with an arduino board and you can do some really loving neat stuff all while a software tells you what to do as you are learning.

It's normally about 30 bucks and is GREAT to build with kids.

I have one of these same kits and yeah, they are really fun to learn not only programming, but the basics of DIY electronics. If you are into this sort of thing, I also love Adafruit https://www.adafruit.com/. They sell all kinds of really neat electronics projects and they also have some great tutorials.

https://www.youtube.com/watch?v=pnf8ojsK6S4

Sophy Wackles fucked around with this message at 21:48 on Mar 22, 2020

Pretty Little Angel
Jun 26, 2006
What do you guys think about the Odin Project?

Ocean Book
Sep 27, 2010

:yum: - hi
I work in manufacturing and a useful tool we have is a web app that runs SQL queries for you from very simple inputs (drop down menus, calendar date picker) and presents the data in a coherent and easy to navigate way. I’m gonna try to do something like that.

Some posts itt are making a strong case for just learning python poo poo though.

Isaac
Aug 3, 2006

Fun Shoe

Ocean Book posted:

I work in manufacturing and a useful tool we have is a web app that runs SQL queries for you from very simple inputs (drop down menus, calendar date picker) and presents the data in a coherent and easy to navigate way. I’m gonna try to do something like that.

Some posts itt are making a strong case for just learning python poo poo though.

That sounds like a pretty excellent beginner project. Good luck goon!

Willfrey
Jul 20, 2007

Why don't the poors simply buy more money?
Fun Shoe
Perfect timing, I am laid off. Time to crank out a fresh new gaming hit on steam that will net me millions. Just gotta lean these little code deets first

Zugzwang
Jan 2, 2005

You have a kind of sick desperation in your laugh.


Ramrod XTreme

LabyaMynora posted:

I started this last July and kept up with it through September, then life/my job got super busy and I fell off.

I used Automate the Boring Stuff to learn Python.

https://automatetheboringstuff.com
+1 for this book. I like it so much that I bought the print and eBook versions even though the cool-as-gently caress author makes it available for free on his website.

Real Python has a lot of good tutorials too. Some are fairly superficial "here's one babby example of what this one function does"-type things, but many are in-depth articles containing much of what you'd want to know about a topic unless you need to get super into the weeds (you probably don't).

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Guildenstern Mother posted:

Realistically what level of proficiency would I need to start job hunting with this fun and exciting new skill set? This seems like a great time to get the gently caress out of the restaurant industry, but I don't want to get my hopes up/spend all my time learning if I'm years out from getting a computer toucher job.

If you can complete a boot camp or an MOOC or something else where you convince someone else that you know how to code, that's good enough. It won't get you every job out there, but it'll get you something. That something may not be in your current location, though, so you need to be a bit flexible.

If you're just doing stuff on your own time, it can be harder to get interviews. Having credentials of some kind--even fairly weak ones--makes a big difference to resume screeners. You might luck out and get your first job right away anyway, but it can take longer.

If you want to have a career programming you'll be spending a lot more time learning even after you get a job, but you don't need to worry about the specifics of that right away. Just keep in mind that it's out there.

mom and dad fight a lot
Sep 21, 2006

If you count them all, this sentence has exactly seventy-two characters.
I've dabbed in some entry-level college programming over the years, but have mostly forgotten everything. Is there an advantage to starting again with linux, seeing as how practically everything runs it now?

Adbot
ADBOT LOVES YOU

Analytic Engine
May 18, 2009

not the analytical engine

mom and dad fight a lot posted:

I've dabbed in some entry-level college programming over the years, but have mostly forgotten everything. Is there an advantage to starting again with linux, seeing as how practically everything runs it now?

yes and linux and mac terminal/command-line are effectively the same, so the answer is don't start with Windows

this is assuming you will be using the terminal a lot and installing lots of packages

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply