Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Struggling with programming

Options
  • 07-10-2009 6:44pm
    #1
    Registered Users Posts: 3,599 ✭✭✭


    This post has been deleted.


Comments

  • Registered Users Posts: 7,681 ✭✭✭Trampas


    learn pseudo code first before writing a single line of code.

    Try here for resources

    http://www.boards.ie/vbulletin/showthread.php?t=2055685855


  • Registered Users Posts: 515 ✭✭✭NeverSayDie


    Don't worry, there's going to be a lot of folks in that position - you're far from alone. Learning to program isn't the easiest thing in the world by a long shot, a lot of folks find it pretty tough at the start. A large part of it is getting your head around the methodology of it, the approach to solving a problem and expressing that solution in code and software, the structure and logic of it all. That's the main hurdle and the really important part, and it's the main skill you learn, more so than knowledge of any particular tools and technologies. Once you've got that understanding, things like switching between languages and platforms aren't too difficult at all, and it's something working developers have to do every now and then. As you've probably noticed, technology changes fairly fast - for instance, I've only been working as a developer for a few years, but when I started out learning what you're learning now, the language and technology I work with these days (C#/.NET) didn't exist :). It's the techniques and the approach to problems that matter, much more than the specific language.

    So the main thing is getting your head around the problem solving aspect, expressing solutions as you'd write them in code. You'll learn that as you go along, and the key thing is to learn it by doing - you need to write code. Either take the problems you're given by your lecturers, problems you've made up yourself, or ones from books/online material, and write code to solve them. That's how folks learn to program - by programming. I can guarantee none of the posters on here who know what they're doing learnt to program any other way. Books, lectures and tutorials are certainly part of the picture, but you can't learn to program from those alone - you've got to write your own code. (That's why some of us were fussing about not handing out answers in your other thread - folks who get copy & paste solutions to problems don't write their own code, and thus don't learn much).

    As Trampas points out, pseudocode (a kind of loose version of code written more like a line-by-line English description of the code) can be a good way to start. Figure out your program before you code it - write out how it's going to work step by step, what it's going to do. After that, you can worry about the fiddly details of how to manipulate the data, format the code, etc. That's how it's done at every level - my desk in work is an inch deep in papers and notes with pseudocode, diagrams of how a piece of code is going to solve a particular problem, how different blocks of code fit together, etc. Except for really basic tasks, I always start solving a problem on paper or in Notepad/text form before I go spraying code around the place.

    Re books and info, there's lots of tutorials on the web, some of them pretty good. If you're using Java, Sun's site should have plenty of resources. I don't work in Java myself, but from what I gather this book has a good reputation for beginners;
    http://www.amazon.co.uk/Head-First-Java-Kathy-Sierra/dp/0596009208
    As a more technical textbook you might need as backup, I used to use the C++ version of this book when I started, and I imagine the Java is similarly good;
    http://www.amazon.co.uk/Java-How-Program-International-Version/dp/0136132472

    Well, hopefully some of that helped. One last thing, big-picture; software development is a somewhat acquired taste, and it's not for everyone. If you really don't want to work in this area, and you don't expect that to change, I'd have a think about whether you're in the right course. No point wasting your own time and grief on something that just isn't right for you. On the other hand, if you're at all into it, it is a very challenging and rewarding field to work in. It's also interesting work as an industry and tends to be reasonably well paid, with plenty of opportunity for development and progress if you want it. I wouldn't want to work at anything else at this point. It can be tough at first, but once you start getting into it, it really grows on you. So if you're at all interested in the topic, definitely stick with it and keep the chin up. If however you have no interest and don't want to do this stuff, tbh, it may be time to reconsider your priorities. I've seen more than a few folks waste 3 or 4 years in IT courses that frankly they should have quit a long time ago for their own sakes. There's definitely light at the end of the tunnel if it's what you want to do though.

    PS; re a link where you can download Java, that's another very important lesson; one of the most important tools I use, beyond pen and paper, is Google. You've got to get used to trying for solutions to your problems there first. Fair enough if it's an obscure or difficult point, but the answer to this one turns up in the first three or four results when you search for "java", "how do i run java", "how do i install java", etc etc.


  • Registered Users Posts: 16,288 ✭✭✭✭ntlbell


    This post has been deleted.

    I noticed in your other thread you're doing java

    you might look into an excellent book called "Ground up Java"

    it's an excellent book to get an overview of the foundations and to start to build on those.

    _everyone_ struggles at the start it's a steep learning curve to begin with.

    but as someone said the best way is to code, if you come across a problem do your best to try and solve it.

    read your book, google, look at the lecture notes try every avenue yourself before requesting help. people copy and pasting you answers won't help and won't help pass your final exams.

    keep coding keep making mistakes it's fixing the mistakes that make you learn.

    good luck


  • Closed Accounts Posts: 12,382 ✭✭✭✭AARRRGH


    You need to stop thinking of programming in terms of code and start thinking of it in plain English.

    Don't think of any Java syntax at all until you have worked out on paper what you need to do.

    You then translate your solution into code by looking up the relevant code snippets in your book.

    Seriously, I am an above average progammer yet I hardly know any code or functions off by heart - I have to look up nearly everything in a book. What makes me good is I just break the problems down into simple plain English steps and then convert them into code.


  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    AARRRGH wrote: »
    You need to stop thinking of programming in terms of code and start thinking of it in plain English.

    Don't think of any Java syntax at all until you have worked out on paper what you need to do.

    You then translate your solution into code by looking up the relevant code snippets in your book.

    Seriously, I am an above average progammer yet I hardly know any code or functions off by heart - I have to look up nearly everything in a book. What makes me good is I just break the problems down into simple plain English steps and then convert them into code.

    This is great advice!

    What your essentially doing in programming is just solving a problem in plain English, all the programming part is doing is explaining it to the computer in a way it understands what to do.

    So if you can understand what you have to do in English, break it down into steps. write it out in plain English or pseudo code and then go tackle writing it in Java.


  • Advertisement
  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    +1 for Ground Up Java.


  • Registered Users Posts: 2,997 ✭✭✭Adyx


    I can understand the OP's frustration. I'm currently doing a part-time IT course in WIT and one of the modules is Software Development (Java). I know a lot of my fellow students are struggling with it because we only get 3 hours of it a week for six weeks and 1.5 hours for the nest 12 weeks or so. I think a lot of people have problems with it as it can seem unrelated to their course yet they still have to do it (A friend of mine did a business studies course in UCC which included a Java module) and may have no plans to make use of whatever language they studied.

    Me? I love it. Probably my best subject but I've done some C and COBOL :eek: before. Thanks for the book recommendation by the way. Have it on the way. :)


  • Registered Users Posts: 16,288 ✭✭✭✭ntlbell


    Adyx wrote: »
    I can understand the OP's frustration. I'm currently doing a part-time IT course in WIT and one of the modules is Software Development (Java). I know a lot of my fellow students are struggling with it because we only get 3 hours of it a week for six weeks and 1.5 hours for the nest 12 weeks or so. I think a lot of people have problems with it as it can seem unrelated to their course yet they still have to do it (A friend of mine did a business studies course in UCC which included a Java module) and may have no plans to make use of whatever language they studied.

    Me? I love it. Probably my best subject but I've done some C and COBOL :eek: before. Thanks for the book recommendation by the way. Have it on the way. :)

    personally i don't think the lack of time in lecture's is much of an excuse these days.

    you really don't learn much sitting down listening to someone talk about code, it's too abstract.

    a few extra hours at home with pen/paper pc/laptop should be more than enough.


  • Closed Accounts Posts: 12,382 ✭✭✭✭AARRRGH


    ntlbell wrote: »
    personally i don't think the lack of time in lecture's is much of an excuse these days.

    you really don't learn much sitting down listening to someone talk about code, it's too abstract.

    a few extra hours at home with pen/paper pc/laptop should be more than enough.

    Agree completely.

    In my masters last year I had a class on concurrent programming in Java, which I suppose would be sort of an advanced topic.

    I had never used Java before. Instead of complaining, I bought this Java Objects book and read it over the space of a week. It got me up to speed and I had no problems in the class.

    There is no need to wait for people to hold your hand or spoon feed you. :)


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    AARRRGH wrote: »
    Agree completely.

    In my masters last year I had a class on concurrent programming in Java, which I suppose would be sort of an advanced topic.

    I had never used Java before. Instead of complaining, I bought this Java Objects book and read it over the space of a week. It got me up to speed and I had no problems in the class.

    There is no need to wait for people to hold your hand or spoon feed you. :)
    Indeed, if you are a person that needs to be spoonfed, then in computing, you are already on the wrong track. You need initiative.


  • Advertisement
  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    When I was teaching Java it was the self starters who did well.


  • Registered Users Posts: 16,288 ✭✭✭✭ntlbell


    Evil Phil wrote: »
    When I was teaching Java it was the self starters who did well.

    do you tell the students this at the start?


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    ntlbell wrote: »
    do you tell the students this at the start?

    Yeah, some took it in, some didn't. Guess who did well on the course? :)


  • Registered Users Posts: 16,288 ✭✭✭✭ntlbell


    Evil Phil wrote: »
    Yeah, some took it in, some didn't. Guess who did well on the course? :)

    It just amazes me the amount of lecturer's that don't instil this into students from the off.

    people i know who took on a masters in a comp sci/IT subject who did well in other subjects thought they could wing the programming aspect and sat in lecture's not even taken notes thinking they had done well at other subjects in the past that this would be a relatively easy thing to pick up/wing


Advertisement