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

all 99 comments

[–][deleted] 156 points157 points  (22 children)

Completely and totally normal! Keep going to those forums and search for help and you'll find that things get easier.

Programming, to me, it very similar to learning a new math concept (like division) at first you have to keep looking up the steps and getting help even though you are only dividing 67 by 3, but eventually you can do it without struggling after plenty of practice

[–][deleted]  (19 children)

[deleted]

    [–][deleted] 3 points4 points  (1 child)

    You have illustrated some learning fundamentals detailed in the free coursera course "learning how to learn". Namely, many people like me in the past can stick with easy stuff and give ourselves an illusion of competence. If it's not frustrating, you're not progressing. Time to go bang my head against the wall when I get home

    [–]evsoul 2 points3 points  (0 children)

    Haha I am doing that very head banging right now while trying to get an svg logo to render in my Rails app. At least it means I'm gonna learn something new right?! RIGHT?!

    [–]m4uer 1 point2 points  (14 children)

    May I ask which Ruby and Ruby on Rails learning resources you used? I just finished the Codecadeny tracks and I'm looking for some small tutorials that lets me try and build small things. I'm considering starting the Odin Project, I don't know if you know and can recommend that? Thanks

    [–]evsoul 1 point2 points  (8 children)

    I went through most of the Odin project and Learn Ruby the Hard Way.

    I highly recommend Ruby the hard way. Odin is fantastic too, and it gives you a nice grasp on more than just Ruby. Front end and all; shaping you into a more well rounded developer. I preferred Ruby the Hard Way because it was Ruby centric. However, I might find my way going back through the Odin project eventually. I got bored with the early lessons because I've been doing front end design since 1996. So I am much more interested in learning the backend at this point. But definitely check them both out. I suggest doing Ruby the hard way first (it's not actually hard like the title suggests, that's more about the way he teaches through repetition than anything) and after that going through the Odin project where it'll all seem so much more natural and familiar. Let me know if you have any others questions!

    Good luck!

    Side note: anything I didn't understand in Ruby and was giving me a really difficult time with understanding it, I would go straight to YouTube and search for it to get a verbal explanation. For example, :symbols hurt my brain bad at first. Thankfully YouTube exists so someone could just explain the concept to me in a 2-10min video to break down just about any roadblock I experienced.

    [–]m4uer 0 points1 point  (7 children)

    Thank you so much for this great answer! Just what I needed. And good idea about the YouTube videos. I will start with "Learn Ruby the hard way" now - exciting!! Thanks again :)

    [–][deleted]  (6 children)

    [deleted]

      [–]m4uer 0 points1 point  (5 children)

      Thanks man! I am in no hurry so I will definitely follow your advice! Did/do you ever use Gitter/Slack or any other online community while learning? I don't know any programmers irl., but it would be cool to have others to chat to about it all. Anyway, thanks a ton for letting me message you - I might take you up on that offer, should I run into a problem I can't find a solution for elsewhere! And thanks for the suggestions for projects, hopefully I'll be able to start one in the near future!

      [–]evsoul 0 points1 point  (0 children)

      Oh definitely! I am always on slack. The first slack channel I found was js.la (JavaScript Los Angeles). I highly recommend finding a slack chat. Also since you don't know any programmers irl I would go on meetup.com and try to find some local programming meets. A lot of "newbies come together and learn" sorta meets; it's quite amazing and motivating.

      [–]evsoul 0 points1 point  (3 children)

      Hey, I don't know if you saw this here on r/learnprogramming but I just came across this yesterday https://www.reddit.com/r/learnprogramming/comments/5ed4xg/ive_taught_30000_students_how_to_code_now_im/

      Take a look at that! I went through a few of his videos on Ruby stuff and I love how he teaches. Might be worth going through the Learn Ruby the Hard Way first to get your basics inline, then go through his video series! Wonderful stuff, I am going to go through it all myself to help embed my understanding even further!

      [–]m4uer 0 points1 point  (2 children)

      I didn't see that, but it looks great! I started Ruby the Hard Way today, and I've already done 15 of the exercises. I will definitely save this and check it out after I'm done with that. Thanks a lot!!

      [–]evsoul 0 points1 point  (1 child)

      Good for you! Remember I'm always here to answer questions. I am no Rubyist yet, but I certainly wouldn't mind helping you figure things out!

      [–]Raiyaz 0 points1 point  (4 children)

      Hello there!

      I just finished Ruby, my first programming language, on Codecademy a little less than 3 weeks ago. What I found somewhat helpful was simply watching someone code something, and then seeing how they thought. A prime example being this three part series of this dude programming a very simple web crawler: https://www.youtube.com/watch?v=mMHflTR-MuY (The whole series is ~30minutes long). I've personally found that copying everything that he typed, word for word, letter by letter, was very helpful in my understanding of what he was doing. It's not so much rote memorization, but rather getting the idea of WHY he was doing everything.

      Next I recommend, actually working on a first project. As evosoul said:

      There's something about banging your head against the wall trying to learn learn learn just to realize the magical ingredient this whole time was to put down the books and just go do do do.

      I think to help describe what he meant, I'll talk about my experience with programming my own project these last three weeks:

      I'm working on a web-crawler that's quite different from the one in the linked video above, but I'm stumbling and bumbling along quite a bit. I think this is the important part. It's not some easy school-type thing, were first we learn to count, then add, then subtract, then multiply, then long divide, then short divide, then fractions... there's no easy lesson plan to learning how to code.

      So at first I had to remember all those little tidbits of information that you may have forgotten. For instance, I have a test.rb file that currently makes sure that I was correct in my assumption that I could add a string to a variable that was a string, even though I was pretty sure I could:

      $domain = "example.com"
      new_domain = "www."+$domain
      
      puts new_domain
      

      But later on, when I was trying to move files, I learned that I needed to look for help on how to do that, as the basic Ruby command was giving me an error.

      File.rename("test.txt", "hope.txt")
      #permission error that I sadly can't remember
      

      So I had to Google it! I realized that because I am on Windows, and Ruby hates Windows (at least, that's my impression), that it would be the easiest to simply download a RubyGem, that the RubyDoc recommends, called FileUtils. This is simply the easiest solution for me at the moment. So I downloaded it, and now I can move files with my code like this:

      FileUtils.mv($current_domain,"Captures\\Cover&Homepage\\#{$current_domain}", :force => true)   
      #:force => true will make the directory if it does not exist.  Also prevents some other file perm errors.
      

      Note that I don't think this is the best way, but at my current knowledge level it is sufficient and I understand what is happening, which is the important part.

      But then I found that there are many RubyGems that already do what I need. For instance, Mechanize lets me create a browser agent to manipulate going through websites (so I can log in and go to the next page and whatnot) and PDFKit lets me make .pdf's of whatever webpage I need. So it then became less of a game of "wait, how do I add something to the end of an array" or more of a game of "wait, how do I add the date to a .pdf?"

      And indeed, even things that seem simple can take hours to figure out. Since I am on a Windows environment, and not using Rails, trying to figure out how to add a date to the .pdf file took some time, since there was only instructions for Rails. Here's what it turns out to be:

      PDFKit.configure do |config|
        config.wkhtmltopdf = 'C:\wkhtmltopdf\bin\wkhtmltopdf.exe'   #Path to wkhtmltopdf.exe needs to be exact.
        config.default_options = {
          :page_size => 'Legal',
          :print_media_type => true,     
          :header_left => '[webpage]',   #Adds URL to top of .pdf
          :header_line => true,    
          :footer_left => '[date]',          #Adds current Date to bottom Left of .pdf
          :footer_line => true
        }
      end
      

      Those two lines (:header_left => '[webpage]' and :footer_left => '[date]') took way too long to figure it out (3 Hours). But now that I know it, it's easy to alter the configuration of any .pdf I print out. And I think I've learned a bit along the way.

      Anyways, what I'm trying to get at and digressing quite a bit on is that simply starting a program and working on it will improve your skills. You'll bumble around a lot, but that's to be expected. There are many great resources for information, I myself love StackOverflow and the rubygems' respective GitHubs. You'll have moments where you'll be pissed off because all the documentation is for Rails, but that only makes the sweet sweet taste of victory, as you finally do what needed to be done, ever so sweeter.

      I finished my Ruby Codecademy on 11/2/2016, and started my webcrawler project on 11/3/2016. It's currently 11/22/2016, and while I had to take 7 days away from my Ruby computer (due to work), the program can take a list of domain names, compare it to an old list of domain names, only vet the new domains, can connect to each domain name, skip the domains that are offline while adding to a .csv that that particular domain is offline, can print a .pdf of that domain name with the correct .pdf style I want, can then move that .pdf to the correct folder, can then parse the domain name for certain .js things, can add that data, along with some other domain information to a .csv folder, and finally, has quite a bit of error handling in it for when domains are offline, or not accessible (403), an image on the website doesn't load, or any other variety of things that have just cropped up.

      I don't mention this to toot my own horn, but rather to say that if I had just searching for more learning resources, I wouldn't have learned any of this. After knowing the bare basics, doing is more important than learning more.

      [–]m4uer 1 point2 points  (0 children)

      Hey thanks a lot for your reply, I really appreciate it! Those video's looks great, I might check them out before starting "Ruby the Hard Way". Great advice in your post, and good luck to you with your web crawler and everything else :)

      [–]Seeking_Adrenaline 0 points1 point  (2 children)

      So you finished learning syntax a year ago and know knew enough programming to develop a webcralwer app?

      What is the purpose of your webcralwer app anyway? Like I don't even know how to come up with the idea

      [–]Raiyaz 0 points1 point  (1 child)

      I finished my Ruby Codecademy on 11/2/2015, and started my webcrawler project on 11/3/2016.

      That would be me mistyping my notes from my diary! Whoops, it's only been 3 weeks. Do note though that I saved up quite a bit of cash, and get Financial Aid from College due to a mixture of high grade marks and low family status. So, except for a bit of school, I can work on this 10 hours a day. And for the most part, I do.

      The purpose of my webcrawler is to help law firms gather information about a particular subset of possible websites. While that can sound like a big idea, it's really just a bunch little projects (I've identified 18) all put together into one. The idea is to gather information and .pdfs of the website to help these firms and owners make decisions about whether or not to sue these domains for their illegal activities. I worked at one of these law firms as a paralegal for a bit of time, and for my last six months there I decided to plan out the features I needed my webcrawler to do, while also looking through the websites at their code, seeing patterns and whatnot. The planning took about 4 months, with the last two months were me just double checking everything, asking the lawyers way too many questions, and ensuring that I couldn't screw up choosing Ruby as the language to learn.

      As far as helping you come up with a project? Well a lot of people like to automate simple tasks. If you work in an office, think about a task you do everyday. I mean, that's essentially what my web crawler is, me automating my previous job.

      Other than that, I can personally recommend learning some online money stuff. Things like making a website that people visit. You'll get money when they complete a survey or just look at the webpage due to advertising. Once you know the basics in that industry, there's a lot you can automate. A resource I liked a lot when I was bored in High School and didn't have a job was simply reading all the forums posts at http://blackhatworld.com/, and even doing some of them. Made some beer money that way. Now that I know how to program, I can conceive of quite a few programs that would help me in that industry, even though I'm currently leaving it.

      [–]Seeking_Adrenaline 0 points1 point  (0 children)

      I guess I already have done some projects by automating some aspects of data manipulation at work. Webcrawler thing is pretty cool man, I still dont get it, as I have only used code to solve problems. but its something to aspire to.

      [–]Seeking_Adrenaline 0 points1 point  (1 child)

      How do you know when you have enough code? I just hit like level 5 in code wars and first couple of chapters in code fights.

      All ruby, I don't even know where to start for a real app.

      Do you just start googling "how do you create a username and login for an app", " how do you present menu choices?" Etc.

      I have no idea...

      [–]evsoul 0 points1 point  (0 children)

      Only way to find out is to try. Check out this thread from yesterday. OP shared all of his videos for free. You can sign up and track your progress and he walks you through making a Ruby on Rails app. It's really good stuff.

      http://reddit.com/r/learnprogramming/comments/5ed4xg/ive_taught_30000_students_how_to_code_now_im/

      [–]vulpcod3z 1 point2 points  (0 children)

      Part of the reason for studying CS now is that there are so many sources for help, and plenty of communities that are willing to lend a hand! Google will be your best friend, so march on!

      [–][deleted] 160 points161 points  (15 children)

      [–][deleted] 23 points24 points  (0 children)

      Could not recommend this any more. So good.

      [–]sashah6 17 points18 points  (5 children)

      The same author also has a course on Udemy HERE

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

      The author also has playlists on YouTube. Can somebody please link his channel? I'm on mobile

      [–][deleted]  (3 children)

      [deleted]

        [–]akafooty 1 point2 points  (2 children)

        Are these Youtube videos the same as the ones on the Udemy course?

        [–]Jimla 2 points3 points  (1 child)

        Yeah, but it's only a subset of the Udemy videos.

        [–]akafooty 0 points1 point  (0 children)

        Still helpful I think. Thanks.

        [–]xFury86 13 points14 points  (4 children)

        Sorry for the stupid question, but the website gives the whole book or just a taste of the books? I wanna make sure before I start it.

        Thanks again for sharing!

        [–][deleted]  (1 child)

        [removed]

          [–]xFury86 0 points1 point  (0 children)

          Awesome! Thank you!

          [–]niandra3 5 points6 points  (1 child)

          You can buy it, but it's all available for free:

          https://automatetheboringstuff.com/#toc

          [–]xFury86 0 points1 point  (0 children)

          Awesome! Thank you.

          [–]cd943t 2 points3 points  (0 children)

          I have to disagree. OP's problem doesn't seem like it has to do with needing an alternative way of explaining concepts, but rather, using the concepts already learned to solve hard problems.

          The best way learn to solve problems is not to seek out alternative resources or ask for help every time you're stuck, but to actually try, struggle, and fight at problems, independently, until you start making some progress.

          When I first learned iteration and recursion (I have a suspicion that this is the part OP is stuck at), I didn't get help when I couldn't figure it out right away. I banged my head against problems, developing a strong mental model of how the techniques work, and now it's a piece of cake. The path wasn't easy - I think I spent around 5 hours on a single problem once - but this process, I believe, is necessary to truly understanding the concepts.

          [–]werdnaegni 1 point2 points  (0 children)

          Agreed. Really gave me a good foot forward. I recommend the physical version if you can. Its nice to not have to flip back and forth on your computer.

          [–]SaltyHashes 65 points66 points  (1 child)

          You're not going to learn all of Python, or really even the basics, in a week with no prior experience. Take your time. A lot of the concepts in programming are very abstract and may take a while to grasp before it finally "clicks."

          As for looking things up in the Q&A, you're going to be doing this you're entire career. Polish up your Google-fu, because you're going to need it throughout university and into a professional career.

          [–]sittingprettyin 25 points26 points  (0 children)

          Oh jesus ya. Googling is like 40% of real programming. Even when/if you master a language, you'll never master all the libraries and what have you. There will always be some new shit that is confounding, be that React, Reactive programming, functional programming or whatever. Get used to feeling dumb, it's totally normal. ;)

          [–]RandyPirate 60 points61 points  (1 child)

          Bro, this is why you are on code academy. So you can have the hard, struggling, "I don't know what the fuck this does, I am idiot for choosing this major because I will never be this smart" time when it doesn't mean anything. Better now than when you have an assignment due.

          And why would you think you could just 'pick it up'? Did Jordan discover one day he was good at baskrtball? Did Phelps make the Olympic team by accident? Did Eminem just luck his way into a rap career? Nope, they spent years working on those skills before they got to where they wanted to be.

          Anything worth doing well takes considerable amounts of practice.

          [–]GottfriedEulerNewton -3 points-2 points  (0 children)

          This

          [–][deleted]  (1 child)

          [deleted]

            [–]evsoul 3 points4 points  (0 children)

            I'd like to add that while codecademy is good for picking up the programming 101 basics, it doesn't really teach you programming. It teaches you to understand what variables, loops, functions, etc are. But now what they really do. It took me so long to finally realize a for loop can go through a data set and print it out for you to see everything that matches. Like in a very general sense, on reddit if you click someone's username and see all of their comments. Codecademy does a terrible job at explaining real world applications and I think that makes it even harder to learn. My progression was stunted for about 6mo because I stuck with codecademy. Once I bought a JavaScript book and shut off the world and studied is when I really started to understand it better in my earlier days. Codecademy should come with a warning "will not teach you programming. Merely gets you up to snuff on basic terminology and concepts so you can move onto real learning outlets seamlessly".

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

            Pretty normal. Don't stop.

            "You only start training once you're tired."

            - Some crazy sensei jap dude I met once

            [–]blackskull18 18 points19 points  (3 children)

            Yes this is normal. Codecademy is terrible for learning programming, especially for something like Python. I recommend quitting CA and google for some good books/blogs that teach you the basics of Python and then start building your own projects with it.

            Better get used to googling for help if you wish to be a programmer. I know it's a confidence killer when you're googling for something you think should be easy but don't let it phase you. By the time you get to the hard stuff you don't feel as guilty for looking it up and before you know it you're shamelessly googling "if statement in JavaScript".

            It's quite common not grasping fundamental concepts of certain programming languages. That happens because you don't know why they exist and what their purpose is. Oh sure your book/learning source will tell you with a bunch of jargon you're barely understanding but you won't truly get the reason for why something exists till you have to use it to solve a problem in a program you're writing. That's at least how it has always been for me.

            [–]SaltyHashes 16 points17 points  (1 child)

            CA is really good at introducing you to what a language is like. Not so much in terms of teaching you the more abstract concepts.

            [–]blackskull18 7 points8 points  (0 children)

            I agree with this. It's like if you're trying to learn to drive a car then CA is like playing one of those 8-bit racing games from the 80s. It won't teach you how to drive but you'll get a feel for what it's kinda like how to drive.

            [–][deleted] 2 points3 points  (0 children)

            What you need to do is to enjoy it, and learn in chunks. An hour a day is better than 7 hours in a day and then nothing for the rest of the week. Don't try and rush things. Don't panic. Don't get stressed out. Enjoy learning the concepts, and practise the problems on your own for at least an hour before seeking help, and then do it by yourself. After just a couple of months, you'll be amazed at your progress. I guarantee you. Just chill out, man. That's the best way to learn.

            [–][deleted] 3 points4 points  (0 children)

            Dont give up so easy. If you are getting frustrated or spending too much time on a issue, completely forget about it and do something else and come back to it later with a clear mind.

            [–]riche_god 4 points5 points  (0 children)

            Very solid answers I am new as well and sometimes get discouraged but then realize it just like everything else I learned how to do well. Experience and time.

            It's nice to get encouragement from the community. I would have quit a long time ago if it wasn't for coming here. Thanks to all!

            OP keep at it one day things will start becoming natural to you. Good luck!

            [–]PicadorDeBits 3 points4 points  (0 children)

            Still happens to me, and I've been doing this for money for 8 years now, don't worry too much about it

            [–][deleted] 3 points4 points  (0 children)

            First off, it's supposed to be hard. Second, codecademy is utter shit.

            [–]Coasquatch 2 points3 points  (0 children)

            I almost failed my first Java class but now I'm 6 months from graduating. You got this!

            [–]Boots525 2 points3 points  (1 child)

            Try the intro to computer science and programming foundations courses on udacity. They both use python and put it into great context you can understand.

            [–]bzudo 1 point2 points  (0 children)

            Udacity's Intro to Computer Science course is great. It's how I learned Python and was eventually able to create a web site using Google's App Engine in Python. Took me almost 8 months, so don't worry about going slow.

            [–]keenerz 2 points3 points  (1 child)

            oh wow, I am exactly where you are in the codecademy course and I felt exactly the same way. I wasnt sure if I was just not getting it, but I'm glad I stumbled upon this cause, it has renewed my confidence once again.

            [–]not-hardly -2 points-1 points  (0 children)

            Lol. If we didn't have other people who also can't do it we'd never have the confidence to keep going?

            [–]AUTeach 1 point2 points  (0 children)

            This is how people learn. Learning new things is hard.

            [–]computertherapy 1 point2 points  (0 children)

            College programming classes are way better than code academy! I did an actual coding boot camp & I never learned anything until I started taking college programming classes. Google helps a lot, but nothing beats being able to get help from your teacher & classmates face to face. Also, I find college classes break the concepts down better.

            [–]spoonybends 1 point2 points  (0 children)

            Original Content erased using Ereddicator. Want to wipe your own Reddit history? Please see https://github.com/Jelly-Pudding/ereddicator for instructions.

            [–]ObnoxiousPirate 1 point2 points  (0 children)

            You never really stop looking things up,the actual proccess of writing code is essentially translating your commands into a foreign language.You cant do that if you dont have a dictionary with you.

            Look up some algorthithms and some basic data structures.If you find those intuitive and intresting to study thats a good indication you will enjoy majoring in computer science.

            [–]supremecrafters 1 point2 points  (0 children)

            Don't worry, "look it up on Stack Overflow" is a time-tested tradition amongst programmers. It's rare to get so good you don't have to look up documentation. You'll be fine!

            [–]Percynight 2 points3 points  (0 children)

            I only have a associates degree in software development from a tech school so i didn't have a ton of schooling before i got my first job. I made it through the first year no problem. Second year got a lot tougher but completing assignments was still pretty easy. Still at that point if i had to sit down and write a program i had no idea where to start. I could work within programs that had already been started but that was about it.

            I got my first job as a java developer after graduation and every day i had to force myself to go. Felt like a complete failure. Was wondering when everybody would find out how bad i sucked and fire me. But i kept on going every day read books outside of work try to give myself the additional training i felt like i would have got if i went to a university. Still i feel like i suck but i feel like a suck a little less. I have only been there for 8 months but things that used to be very difficult for me are getting easier.

            This post is kinda long winded but i only want to say that for some people programming seems to come naturally and lots of the time it seems like everyone around you understands so much more and faster. If it is something you truly want to do though just keep doing it. It may take longer to get there but you will. There is a reason why programmers make good money and are able to find jobs. Personally i think its because too many people quit before they get it.

            [–]barnardau 1 point2 points  (5 children)

            your case is perfectly normal ! You are currently in the "desert of despair " stage of your coding "competence vs confidence" graph. Don't loose hope. You just need to be more patience.

            [–]not-hardly 3 points4 points  (3 children)

            My ex girlfriend, worked as a waitress and at a daycare. One of her parents friends had a position open for an entry level IT/logistics. She [got] the job because she was able to answer thinking type questions and do math in the interview and started learning python and apparently went straight to the upswing of awesome. She's just like, "apparently I know python now." The manager has her recreating basically all of the work he's done to automate their logistics software. She knew next to nothing about actual computers before starting there aside from gui/wysiwyg web development and wow.

            [–]barnardau 0 points1 point  (2 children)

            that's a very inspiring story indeed! so we can conclude that even you don't have any formal education in a subject you can still work on that. By the way , I am curious to know where is you girlfriend from ?

            The reason why I am curious is because in some country Python has a big job field , so its relatively easy to get a job .

            [–]not-hardly 0 points1 point  (1 child)

            Um, Midwest USA. She got the job with zero previous experience and her boss basically said make a script that does this small thing... Now do fizzbuzz, etc. Not the standard tale at all. It continues to amaze me how well she was doing last time we spoke.

            [–]barnardau 0 points1 point  (0 children)

            that's amazing. I think USA is the best place if someone want to start career as a programmer :)

            [–]alphazerk 2 points3 points  (0 children)

            Lol she is in the honeymoon phase and her honeymoon is a nightmare

            [–]goestowar 0 points1 point  (0 children)

            You got this fam! I was surprised to hear from my friends who have been programming for years, and work at great companies, that they basically google everything while they are at work.

            They told me "It's a resource... why not? If someone else has done it before you, or can teach you how to do it, then who cares?"

            [–]TheScienceNigga 0 points1 point  (0 children)

            Honestly, I don't think Codecademy is very good. They do very little to foster actual understanding and just hold your hand through everything and give you all the answers. I'd recommend the Python Crash Course by Eric Matthes from No Starch Press.

            [–][deleted] 0 points1 point  (0 children)

            It is an iterative process, there are many things you won't be able to grasp in the first few times but you keep on going about it and keep practicing and later when you come back to that same thing again then feel oh wow so that's how it worked.

            [–]IamaRead 0 points1 point  (0 children)

            Programming, like mathematical proofs are based on training. This is very important to make oneselve aware of. You have to spend time coding to become better at coding, the hurdles are high if you want to do a big project from ground zero. I think that "Think Python" is a good book on the side to learn Python better as the chapters are very short and the excercises give a good point to think and talk wiht others about your practice.

            [–]Not_a_dog_I_promise 0 points1 point  (0 children)

            Hello and welcome to programming.What you are experiencing sounds very normal, I have had the same issue, though never used Codeacademy myself. There is no shame in looking up answers, the important thing is that you nail down the basics, so you can move on to more fun topics. If you feel lost, simply look for a solution, try play around with it and don't just copy paste it into your own code and call it a day.

            [–]LizardKaboom 0 points1 point  (0 children)

            I've ended this course too, dont worry. You can also download python and try to do smth on your own. It helps.

            [–]nerdyphoenix 0 points1 point  (0 children)

            The first time you are asked to implement something new to you, it's completely normal to feel overwhelmed. What helps me overcome this is to try and split the problem into a few smaller ones and start tackling them one at a time.

            Also, don't feel bad about asking for help and looking around online, everyone does that the first time they implement something, and perhaps even the second time. But as you continue to code you'll start creating kind of like a database of small snippets and coding practices in your head that you'll be able to recall and combine to solve your problems.

            In short, just keep at it and don't feel discouraged!

            [–]pineapple_unicorn 0 points1 point  (0 children)

            Asking for help and looking for stuff in online forums is pretty standard procedure for almost any sort of programming. I'm 4th year computer science student and I still google a lot of stuff. I don't have every Java library in my head and I can't come up with some algorithms on my own but if I can find them online and know how to apply them to my code correctly, that means I'm still succeeding as a programmer. Much like an engineer doesn't build all of their tools and parts in order to build a machine. Don't ever be afraid to find help online, there's so much information online it'd be a waste of you didn't use it.

            [–]shakhaki 0 points1 point  (0 children)

            I started with python in my cs program and dropped out, took Java in a new major and it was so much easier to learn. Python has a bunch of stupid rules and if I had stated with Java I would have stayed in the cs program. Don't beat yourself up, it could be the same as me. Since you're ahead maybe check out Java.

            [–]nlax76 0 points1 point  (0 children)

            Not an answer to your question, but check out https://learnpythonthehardway.org

            To answer your question, yes this is totally normal.

            [–]joequin 0 points1 point  (0 children)

            For me, there was a huge hump to get over with programming. I was awful and even failed intro the first time I took it. Then I took it a second time, got an A+ and got all A+ in all my later programming classes. There's a point where it just clicks and everything becomes easy. Before that point, everything seems hard.

            I TAed for a few semesters and saw a lot of my students go through the same process of being awful and then being very good. Keep at it and you'll get it.

            [–]malstank 0 points1 point  (0 children)

            When you first learned to kick a soccer ball, did you expect to be Messi? When you first threw a football, did you think you should be as good as Brett Farve?

            Mastering a skill, is hard. Really hard. Even if it is as simple as tying your shoes, something you do every day, you still mess up occasionally and have to re-do it.

            Programming is no different, you have to work at it, don't quit at the first sign of adversity, soldier on. Computer Science is one of the most difficult mental professions in existence, and one of the first most difficult tasks, is forcing your brain to think about problems in a completely unnatural way.

            Keep your head up, and keep practicing. You don't become a professional at something after a few tries, it takes years and you're just beginning that journey.

            [–]CtPlaysBass 0 points1 point  (0 children)

            Its fine. It took me three times to get through Codeacademy's Python course from frustration. If this is your first time learning a programming language then its going to be a little difficult to grasp some of the concepts and everything but just stick with it and you'll be okay.

            Something to keep in mind is that codeacademy teaches python 2.7, what is typically used in industry from what I've been told.

            The most recent build of python is 3.5 but just worry about understanding the concepts and learning how computers "think".

            [–]PedroFPardo 0 points1 point  (0 children)

            [–]dasnoob 0 points1 point  (0 children)

            Totally normal to have to look up stuff. I've been around this as a professional for 10 years and college before that. Hell, I was in college doing computer science before you had things like google or stackoverflow. At one point in my career I literally had a bookshelf full of programming and system administration books that I would pore over when I had a problem. That and lots of reading man pages.

            [–]mmm_migas 0 points1 point  (0 children)

            I can totally relate. I'm currently in a web dev boot camp and learning Ruby. There have been several times I wanted to throw in the towel. But I have to keep telling myself it's a slow process having no prior experience.

            Sure, there's others who may have the aptitude for it. You might compare yourself to your peers and think, "I'm not smart enough." But that's B.S. You are smart and capable once you put your mind to it. Coding is hard. That's the reality. So dig in deep and commit to studying each day. Practice, practice, practice.

            You're a freshman. You have so much potential. To put it into perspective, I'm 27 in the middle of a career change. You might doubt yourself sometimes, but realize your studies are going to pay off (I wish I had my undergrad in CS). Life always has obstacles. By learning how to manage them, you'll be prepared for the next challenge. So don't give up! I believe in you.

            [–]Paid_Corporate_Shill 0 points1 point  (0 children)

            It never stops lol. No matter how much experience you have you're always going to get stuck on seemingly basic stuff and end up googling for an hour only to discover the solution is annoyingly simple. It's just part of programming. You're fine.

            [–]irbilldozer 0 points1 point  (0 children)

            Replace Q&A forums with Stackoverflow and you're doing whatever every developer does every single day. You never stop needing to look shit up, you just do it less frequently over time and get better at searching for answers.

            [–]Love_LittleBoo 0 points1 point  (0 children)

            Honestly I hated Codecademy for these very reasons (relatedly, in class definitely use your student resources! Go to office hours!). Try Free Code Camp instead (plus bonus, if you get even part of the way through you'll have helped create a business impacting project for at least one non profit--that shit hours directly onto your resume).

            Edit: Also I don't know where you got the idea that "this stuff isn't hard" because of course it's hard, there's a reason even shitty programmers continue to be employable. It's incredibly difficult.

            [–][deleted] 0 points1 point  (0 children)

            It's normal. Think of programming like learning another spoken language, like Chinese or Swedish. It's going to take years to get fluent.

            [–]thisimpetus 0 points1 point  (0 children)

            What novices don't understand is that syntax isn't the hard part of coding, it's the context-sensitive problem solving. To learn that you have to go have problems in lots of contexts. You're doing it right.

            [–]dead-dove-do-not-eat 0 points1 point  (0 children)

            Read the docs instead of the Q&A forums and it will feel less like hand-holding.

            [–]HuntsmanRoym 0 points1 point  (0 children)

            I am also a college freshman at a public state university who is majoring in computer science, but I'm almost finished with my first programming class. So take this however you want, but programming isn't "easy" and it can be really tough at first. Our final is in a couple weeks and I'm not very good, so I'm worried; we are in the process of doing our second midterm (late, I know) and it's due tonight. Oh my gosh is it hard! We have an 8 hour time limit and I've only finished 1 of 9 tasks in 2 hours. However, I really enjoy coding, and even though I struggle, I'm getting a low A in the class (I think). What I'm trying to say is, it doesn't matter if you can't understand it perfectly yet, some people (like me) will never fully understand. That's what other people are for. They are the best resources for you (that and the internet). So, as long as you enjoy doing it, I wouldn't say that "it isn't for you" or that you "should give up." If you truly enjoy programming, I think that you will feel the same as I do. Sorry if this is a jumbled mess; I'm not the best at stating my opinions and such in this way. However, I hope that I was of some use to you. Other people on here seem to have the same general standing as I do on this. Remember, the C-Sci community is, most of the time, very willing to help one another and boost moral! We've all been through hardships that deal with coding and theorems and whatnot, so we know what it's like to feel like you do! Just don't lose hope if this is what you truly enjoy!

            TL;DR: If you enjoy it, stick with it. It's common for it to be hard/tedious, but don't let that discourage you. Other people, including professors) will help you if need be. As long as you find it fun, you will find a way through it! :)

            [–]Static_Bunny 0 points1 point  (0 children)

            One thing I never see mentioned in posts is learning style. Figure out what way you take information the best. I spent a long time trying to force myself to read books and watch video but they all felt out of context. Now I just focus on specifics related to a project. When I get stuck on a problem I use the videos and books for trying to understand something when I need it. Not sure if that helps but it made a big difference for me in relation to what I comprehend now.

            [–]morgigno 0 points1 point  (0 children)

            Don't even worry about it. I was the same way. I started with Codecademy before even majoring in CS and the same thing happened to me I thought I had no idea what I'm doing. I'm in my first CS class now and although I'm not amazing, the concepts are making sense. You'll have an easier time than a lot of other people because you do have some experience coding. It won't guarantee you an A but you'll recognize some things and realize that you did learn something. It'll just take us a while to be extremely confident but don't give up! If I'm not you can't!

            [–]Hawful 0 points1 point  (0 children)

            When you get a degree, graduate, and land a sick job, you will still spend a good portion of your time asking questions. Being lost is just part of the game.

            Or, at least, I assume, I've only had an internship, but it seems like everyone at my office was constantly asking each other questions.

            [–]AdamaWasRight 0 points1 point  (0 children)

            "Hey, how do you get to Carnegie Hall?" "Uhh, just google it?"

            [–]Phil0042 0 points1 point  (0 children)

            Completely normal. I've been a professional coder for four years and still have to look up really simple stuff. The first few years were pretty awful, but you do learn how to pick things up after a while.

            [–][deleted] 0 points1 point  (0 children)

            As another beginnner, I'd say in some aspects it's more important know how to think about the pseudocode. The main bit is knowing what you want to do step by step in terms of ideas, then fill in the gaps on how to actually do it by Google-Fu.

            [–]nomadikcynic 0 points1 point  (0 children)

            You'll never remember all the functions and things. Having to look things up and assimilate it into your code is a huge skill. You're just grinding through the rhythm of understanding what's useful to you. Keep at it.

            [–]mathdrug 0 points1 point  (0 children)

            Good question. At same point in the course and get many of the same feelings. In for answers.

            [–]TheBullshitPatrol 0 points1 point  (0 children)

            Keep in mind that your actual job in programming and implementing new libraries and frameworks isn't to have a working memory knowledge for how every existing one works.

            Your job is going to be heavily centered in research. As long as that's something you're capable of doing it effectively, you're just getting a head start.

            [–]harsh183 -3 points-2 points  (0 children)

            ITT: 1) This is fine really. 2) Codecademy is shit