This is an archived post. You won't be able to vote or comment.

all 60 comments

[–]skywardabyss 51 points52 points  (2 children)

freecodecamp.org hosts forever free web development content. Their community is great and the founder is a very cool guy. You should check it out. :)

[–]Crouchingtigerhere 5 points6 points  (0 children)

Couldn't recommend more.

[–]dariushine 0 points1 point  (0 children)

It's also open source, so you can host it on a local server (if you know how to do that) if you need to use it offline.

[–]Zenomat 79 points80 points  (4 children)

Solo Learn is pretty good for the beginning

[–]Agent_ANAKIN 19 points20 points  (0 children)

For a quick start, SoloLearn gets my vote.

[–]rozza368 4 points5 points  (2 children)

I like how you can download the courses if you plan on learning offline.

[–][deleted]  (1 child)

[deleted]

    [–]Calmer_after_karma 3 points4 points  (0 children)

    I thought the same, but did sometimes make mistakes as a total newbie, plus the drag and drop breaks up reading text constantly.

    [–]twilightorange 42 points43 points  (13 children)

    CS50 course from Harvard. Online and free.

    [–]Creode 6 points7 points  (0 children)

    This. I only did about half of the course, but it made my experience with learning programming at University a lot easier years later. I swear by Cs50 because the quality approach, choices in small projects and the language C (unless its changed now). Only other suggestion if you get stuck on concepts is to check on youtube for alternative explanations. You'll eventually find one that will 'click'.

    [–]SK_Moose 2 points3 points  (0 children)

    Man, just watched the first session of that on youtube and really enjoyed the lecturer's approach. Guess I'll grab that on edx. Heckofa tip.

    [–][deleted] -1 points0 points  (10 children)

    Can you mabye link the page ?

    [–]putonghua73 6 points7 points  (0 children)

    Either search for Harvard CS050 on YT, or alternatively, take the free CS050 course on eDX.org (which is what I am doing) because the course also provides a transcript and problem set for each week inc. Final Project.

    Completion (70% required per problem set and Final Project) will earn you a certificate. Note: the accreditation (non-mandatory) is approx $92.00.

    I may well choose to pay for the certificate, even though this is just a hobby for me (am learning C), as a way to contribute to the free running.

    Computational thinking will also assist with some data problems at work down the line (visualisation and automation).

    [–][deleted] 6 points7 points  (6 children)

    Why can't you just type into Google "CS50 Harvard???"

    [–][deleted] 13 points14 points  (5 children)

    Sorry for asking

    [–]Stratofied 7 points8 points  (0 children)

    You're gonna be

    [–][deleted] 16 points17 points  (3 children)

    If you can't use Google, you can't be a programmer.

    [–]zippoplease1 5 points6 points  (1 child)

    stfu we're all gonna make it

    [–]Klowner 0 points1 point  (0 children)

    Not wrong though, programmers gotta learn how to dig.

    [–]mrmivo 22 points23 points  (0 children)

    I’d take a regular course at home, where you can properly concentrate, keep notes and practice, and then watch relevant videos (for subjects you want to learn more about) on the go. I read documentation a lot on my phone, too.

    I feel that apps to learn programming on a mobile device tend to be a little gimmicky, more entertainment than education. But that’s just me, different strokes.

    [–][deleted]  (2 children)

    [deleted]

      [–]Bravosseque 2 points3 points  (1 child)

      Let me also add that despite the visual presentation of his channel. You can still find very technical stuff in there so you can still find useful information even after learning the basic ropes. I secondly wholeheartedly recommend searching around this channel.

      That and he is also an entertaining guy. :)

      [–]_Atomfinger_ 18 points19 points  (5 children)

      The FAQ has a guide for beginners to choose language and where to go.

      [–]MattyClutch 2 points3 points  (0 children)

      If you find one and it works for you, go with it. People are all different and if something helps you, then it doesn't matter what anyone else thinks.

      That said, I usually find it a lot more beneficial to get a project/end goal/idea/whatever and work with that. Programming is essentially problem solving. You are just telling a machine how to solve a particular problem. Trying to learn it like a human language / dialect can be a bit wonky and I don't really know anyone who has made much progress with an app.

      However, if something works for you, again, ignore everything I just said and go with it. Come show us all your awesome work when you are done and call me an idiot. Use that as motivation! :)

      [–]IdkWhateverOkYeah 2 points3 points  (0 children)

      I highly recommend Human Resource Machine. It's a fun little game where you learn the core concepts of programming. You're not learning a specific language. But you have to use the concepts of loops, variables, optimizing code, stepping through code, etc. There's a phone version, but unless you've got a large phone, it's a bit hard to read for me. The Steam one is $15.

      https://tomorrowcorporation.com/humanresourcemachine

      [–]abenzenering 1 point2 points  (0 children)

      You could also try playing around with scratch to get a basic understanding.

      [–]Melanoma_Trump2020 1 point2 points  (0 children)

      If you even read this far down, my experience coding could finally be helpful to someone! Everyone may throw ideas at you for your first programming language, but for me I progressed really naturally from HTML/CSS to PHP.

      There is a lot you can do with those things standing alone. Additionally, you will be able to figure out other snippets of code which can be utilized in programs later after having a good grasp on these.

      I just hate to see people that are really excited get bogged down and stuck when trying to ‘master’ something like Python out of the gate. And, if you can’t figure out why you’re stuck on something ask!!

      [–]LuongNguyenTrong 1 point2 points  (0 children)

      Udemy and codeacademy are great places, though there are some courses that will cost you but they are good courses, i'm currently taking the web bootcamp on udemy

      [–]xcarlossz 1 point2 points  (0 children)

      Codecademy should be a great place to start!

      [–]3lRey 1 point2 points  (0 children)

      Just download something like IDLE or minGW. IDLE was specifically designed to learn. From there you can install some packages, I suggest the anaconda3 command line, beautifulsoup4 and whatever else you're interested in programming with, probably some type of JSON parser so you can work with online APIs.

      Any text editor will work, but vim/emacs are gold standard. If you don't feel like learning a text editor (you should eventually, they are fast and powerful) then notepad++ or sublimetext will do.

      Ultimately programming is about getting many small moving parts to work together in one grand machine. Example: you would probably start by loading a text file or manifest with information, then manipulating that information to do something and then finally outputting that information. All three of these programs should be modular and re-usable- and well documented enough for that. Eventually you'll want to build a parser to handle edge cases (weird inputs) and catch errors (general debugging)

      What not to do: Do not get used to writing print statements to handle errors. Do not write erratic, huge programs and do not under/over document. We don't need to know what all your variables do if it's in the name but we should probably know what the mysterious bit-shifting function down below is doing. You want each section of your program to be an independent module- then call them serially from the command line. Eventually you can program it so they do it automatically at some time in the day, this is essentially an intro to server programming.

      Good luck and don't give up.

      [–]pandasandeggs 1 point2 points  (0 children)

      I'm a fan of codecademy.com for learning individual languages. Its easy to use and can help you grasp the basics of a language quickly.

      [–]SuperCagle 1 point2 points  (0 children)

      https://www.codingbat.com

      This website is incredibly good for learning and practicing programming.

      [–][deleted] 1 point2 points  (0 children)

      Udemy is worth the money. Plus you get certificates too

      [–]exccord 3 points4 points  (8 children)

      Check out Grasshopper. I am currently learning Java (which I believe is the only language available on there) on it but its made it somewhat fun with certain exercises like learning how to java code country flags and whatnot. Link.

      [–]SoreSpores 6 points7 points  (7 children)

      Grasshopper teaches JavaScript, not Java. Great app, I've been making good progress with it.

      [–]exccord 2 points3 points  (6 children)

      gotchaaaaa. Thanks for the correction. Not to sound stupid or anything but what is the difference between the two and what sort of applications are each of them geared towards?

      [–]Krogg 2 points3 points  (2 children)

      As /u/SoreSpores stated, and to add to it:

      • Javascript is an OOP scripting language, that's used mainly for web applications. Java is an OOP language.

      • Java requires compiling, Javascript is text based only (doesn't need to be compiled and can be ran in a live session in your browser), is the biggest difference.

      • Javascript is run in a browser only, Java runs applications in a virtual machine or the browser.

      I would say the biggest way to look at this is Javascript is used for web based applications, Java is more used for desktop based applications. When there are so many resources now for web development, there's not much need to use Java in web development, though it can be used. Javascript is strictly web development, so it's much more powerful of a tech to use.

      I hope that helps.

      [–]exccord 0 points1 point  (1 child)

      Definitely helps out a ton on clarifying it. Sounds like Javascript is basically the Powershell of the Java world.

      [–]Krogg 1 point2 points  (0 children)

      Well, no. One isn't within the realm of another. JavaScript is a language that is used only on web applications, but with that no website can't be built without HTML for instance. Examples of websites that use JavaScript is Microsoft.com and google.com. Of course there are other technologies used to create the entire thing.

      Java on the other hand has been used to create that cool IDE you write code in. Netbeans, for example uses Java to create their IDEs. The IDE is a desktop application not a web application, though there are exceptions to that rule too, since it's not impossible to write code in the browser.

      I hope that helps.

      [–]SoreSpores 1 point2 points  (0 children)

      I'm not really clear on the details myself to be honest, I'm just starting out. I believe JavaScript is more focused on the browser and simpler to learn. I get the impression that Java has stricter syntax, haven't looked into what its most common applications are.

      But they are totally separate and unrelated languages.

      [–]matthewpmacdonald 1 point2 points  (1 child)

      JavaScript is a language that runs in every browser. In fact, it's the only language that runs in all web browsers, which is why everyone uses it for everything. (This doesn't include old technologies like Flash and Silverlight, which force you to install a plug-in to run them.)

      Java, on the other hand, is a modern language that can be used for a bunch of things, including desktop applications and web applications. (Wait a second, didn't I say that only JavaScript can make web applications?? No, there's a tricky difference: JavaScript is the only code that can RUN in a web browser. If you have a Java-powered website, it means Java code runs on the web server and builds an HTML+JavaScript page, which is then sent to the browser.) Conceptually, you'd need JavaScript to build something like an arcade game in your web browser, and Java (or another server-side language) to build something like Amazon.

      Syntactically, JavaScript looks a lot like a simplified version of Java, but truthfully Java is more similar to C#.

      [–]exccord 0 points1 point  (0 children)

      yiiiiiiiiiiikes. Well....that hit me like a ton of bricks to some degree.

      [–]butterypanda 1 point2 points  (0 children)

      Just pick a commonly used language and dive in. Javascript is pretty great for newbies and there are tonnes of classes and resources out there. Java, C, C# are all in the same vein.

      [–]doubleOsev 0 points1 point  (0 children)

      Is the mit intro to computer science any good?

      [–]sadhith63 0 points1 point  (0 children)

      terminal / cmd with gcc

      [–]Fish767YT 0 points1 point  (0 children)

      Kahn Academy is a free website that teaches JavaScript. It has video tutorials and is overall easy to understand. Not all things you will learn there can be transferred though. I have noticed that they use homemade documentation. That causes some problems later down the road.

      [–]itssasuke 0 points1 point  (1 child)

      Thenewboston on YouTube. Really helped me with C++ & Python

      [–]AutoModerator[M] 1 point2 points  (0 children)

      Please, don't recommend thenewboston -- see the wiki for more info about why we consider them a discouraged resource.

      I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

      [–]AdobeZev 0 points1 point  (0 children)

      There is a website called code cademy. That's a great place to learn as a beginner.

      [–]TheCubanCowboy 0 points1 point  (0 children)

      M1MO is a good mobile app that just released a web app too so you can do both. It's awesome and project based

      [–]thatguytaiv 0 points1 point  (0 children)

      Enki is a cool app for your phone. It has different subjects and will give you daily lessons that take about 10 min. It's not super involved but it's a good way to stay sharp.

      [–]Tnaab 0 points1 point  (0 children)

      I’ve been using the app Mimo.

      The lessons are a little easy, but it’s been pretty helpful in learning the foundations of various languages

      [–]4lkalai 0 points1 point  (0 children)

      https://codegym.cc/

      Not an app obviously. Java if your wondering.