• What are the stages from becoming a beginning programmer

    Amit Member

    This is a guide I read, it was good but incomplete.

    http://www.wikihow.com/Learn-a-Programming-Language
    

    Let’s say I wanted to learn C++ as my first language what topics would I study.

    In the guide it says after learning the language (or programming in the language for a year) to learn data structure then algorithms.

    What are the stages of going from total beginner to a master / advanced programmer?

  • Adan Member

    The first thing to remember is that the language is not really relevant: a programmer knows how to program and will learn any new programming language or library as needed.

    However, as you correctly point out, you have to start somewhere. I would always recommend C since that’s much closer to the hardware than other languages. It teaches discipline – if you don’t follow the rules (which are not enforced by the language) you can do all kinds of weird stuff, particularly improper memory overwrites. It also has the basic language structure followed by pretty much all high-level languages, C++, Java, C#, etc. Of course, you won’t ever become good at a language until you have used it to create a working application that delivers a function that a user wants – the journey to actually making a program do what it’s supposed to without the user breaking it is a very powerful learning experience.

    After that, it’s just a question of getting enough real practice and experience to make programming just flow.

  • Adelaid Member

    Programmers can become experts through gaining experience in real projects. Usually high experience is gained by working under pressure (either in a company or in a university doing research). You cannot possibly become an expert in a programming language just by being a hobbyist.

    If you are in a hurry to start creating applications that have windows, images etc then learn java and/or python. If you really want to understand what is going on you should start with c and/or c++.

    Getting a university degree in software engineering is actually the best way to start

  • Ganesh Member

    A good university will motivate you to study and work on projects.
    Of course you can study by yourself with online material and participate in open source projects, but I think that most people eventually give up before reaching a high level of knowledge/experience in programming

    if they don’t have to.
    Professional programmers or postgrad/grad IT students have to study and work either they like it or not sometimes so they tend to reach a higher level of knowledge.

    Of course, there are exceptions to every rule. Some people have more talent and some people try really hard to achieve their goal while some don’t care at all.

    For everything you decide to do in life:
    If you are a hobbyist, it is very difficult to “compete” in terms of knowledge and experience a trained professional has.
    The amount of time you spend matters.

    Famous universities, like MIT, have free online video courses you can watch.
    You can also try codecademy.com (their free video material is really good)
    Or you can read books. (whatever works for each individual)

  • Adelaid Member

    I notice that a lot of the time on the sites (for the courses) the professor either gives what the class will do. Sometimes even the homework and the assignments in advance or after the course is over.

    I’m in love with computer science and a little bit with electrical engineering. But the reason I want to do EE is because I can build physical machines while there are people like Bill Gates, Mark Zuckerberg, Steve Jobs etc…

    Who either knew or taught themselves or even dropped out of college.

    I think Bill Gates knows virtually everything about programming and dropped out of college as demonstrated on this site.

    http://www.youtube.com/watch?v=m2Ux2PnJe6E

    He could’ve learned it in college or not I don’t know. But I also knew this guy who was a programmer and I think he was also self taught.

    And of course there are many learn it on your own programming books on Amazon etc…

  • Adelaid Member

    Bill Gates grew up in a different time where the need for programmers was almost non-existent and there were only a few programmers around. The “programming field” was growing from nothing and it was possible to “know everything about programming” since there wasn’t much to learn back then. Bill Gates was a good programmer back then but above all he was a really smart businessman/salesman. That’s what made him a billionaire.

    Zuckerberg was a talented programmer, like thousands out there that had a great idea (if it was actually his). He soon found dozens of excellent programmers and investors to make his project grow from a simple small site to what it is today.

    These guys were businessmen. They had to do other things to get where they are now instead of trying to become good programmers.

    Just decide what you would like to do as a profession. I have no idea how to become a millionaire businessman, but if you want to be a professional software engineer then a degree would help.

    Even if you are really self-taught, you would have trouble finding jobs in a field where almost all employers require degrees.

    Programming and Electrical engineering are not so far apart since in both fields you get to build things. Programmers just build virtual things using their own factory (their computer).

    Some universities of Electrical engineering offer courses in programming as well. There are also universities that actually offer a double-degree: Electrical engineering & computer science. Such as MIT:

    http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

  • Ganesh Member

    If you want to be expert in a programming language, best way to do it is by completing projects. For example, if you want to expertise in Java, I advise you to work on an android app, the project it self doesn’t matter, it can be as silly as you want. But you have to bear in mind that the more complex your project is, the more you will probably learn.

Viewing 6 reply threads
  • You must be logged in to reply to this topic.
en_USEnglish