The best way to learn programming?

  • (2 Pages)
  • +
  • 1
  • 2

22 Replies - 3926 Views - Last Post: 19 December 2011 - 03:24 AM Rate Topic: -----

#1 jay331  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 4
  • Joined: 13-December 11

The best way to learn programming?

Posted 13 December 2011 - 01:33 AM

I have just been given this book on C# for dummies. I think the book isn't correct. The first example didn't work? I followed the examples completely several times over. Anyway. I find this stuff to be extremely appealing and would like to learn what the brackets mean and the symbols, etc... I am thinking about going to school for this but I don't know yet, need to work out my scheduling. I learn things easily especially visually.

My question is. Can anyone recommend what the best way to start out learning this stuff. There is so much information everywhere, I just don't know where to begin. If you start in the middle you miss the beginning. etc... etc...
I think this C# language is starting in the middle? I think I am missing some terminology, because I have questions on why you need to build or why debug.

Can anyone recommend the best example books that "REALLY" starts you from the beginning?
Should I learn Basic first? What can anyone recommend?

Thanks so much for your help.

Is This A Good Question/Topic? 0
  • +

Replies To: The best way to learn programming?

#2 TheCompBoy  Icon User is offline

  • D.I.C Regular

Reputation: 11
  • View blog
  • Posts: 314
  • Joined: 21-April 11

Re: The best way to learn programming?

Posted 13 December 2011 - 02:07 AM

D.I.C has their own list of recomended books: http://www.dreaminco...ded-c%23-books/

My personal favorite is "Head first C#" it start from the very beginning.

This post has been edited by TheCompBoy: 13 December 2011 - 02:09 AM

Was This Post Helpful? 0
  • +
  • -

#3 RexGrammer  Icon User is offline

  • Coding Dynamo
  • member icon

Reputation: 182
  • View blog
  • Posts: 783
  • Joined: 27-October 11

Re: The best way to learn programming?

Posted 13 December 2011 - 02:50 AM

Yeah, the best way is to buy a book or take a course!

But I have to disagree on the book fav! My favourite of all time is: Microsoft Visual C# 2010 Step by Step, but if you want to do a quick dip into C#: Microsoft Visual C# 2008 Express Edition: Build a Program Now! (PRO-Developer)

Also you can start out in our Learning C# Series!
Was This Post Helpful? 0
  • +
  • -

#4 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5582
  • View blog
  • Posts: 11,941
  • Joined: 02-June 10

Re: The best way to learn programming?

Posted 13 December 2011 - 08:25 AM

View Postjay331, on 13 December 2011 - 02:33 AM, said:

I have just been given this book on C# for dummies. I think the book isn't correct. The first example didn't work?


I have that book (amongst 200-ish others). I looked up the the first example and did it. It works fine. You missed something. That's okay, it is after all your very first coding project. But without any error messages you received there is no telling *why* it failed.

The best advice I can give is: Don't try to create a useful working program to fit a need of yours (or a for-pay contract) as your introduction to coding project. When you are learning to code you don't know enough to code a program, let alone know how to engineer the architecture of a program. It would be like saying "I don't know how to read sheet music, or play an instrument. I think I'll write a 3 act opera as my first learning experience." We've seen lots of new coders take this approach and we know it doesn't work. Trying to design your own programs before you understand the basics of the code language you've chosen just leads to problems, frustrations, and 'swiss-cheese' education (lots of holes).


Resources, references and suggestions for new programmers. - Updated Nov 2011
Spoiler

Was This Post Helpful? 1
  • +
  • -

#5 linuxnut  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 11
  • Joined: 10-December 11

Re: The best way to learn programming?

Posted 13 December 2011 - 10:16 AM

Its cool to have good reference books. The key is to understand the basic data structures (e.g. array, stack, queue) for any language new to you. Keep practice, and you'll get it.

This post has been edited by Curtis Rutland: 13 December 2011 - 11:40 AM
Reason for edit:: removed formatting, don't bold your whole post

Was This Post Helpful? 1
  • +
  • -

#6 TheCompBoy  Icon User is offline

  • D.I.C Regular

Reputation: 11
  • View blog
  • Posts: 314
  • Joined: 21-April 11

Re: The best way to learn programming?

Posted 13 December 2011 - 10:25 AM

linuxnut is absolutley correct, Best way of learning is spend time on it and keep practising.. Sometimes you will find yourself stuck when your making some application but just give it some time. Never give up is the key for almost everything.

A good book is not required to learn programming.. It just helps a bit, You can learn programming totaly for free on the web. Its just that a book writer gets paid for writing this book so he will spend time on making this book realy good, While private programmers making tutorials on the web also have a private life to take care of so it might be little harder for them.

But keep practise and spend time on this, It doesn't take a week to learn programming it takes years.

This post has been edited by TheCompBoy: 13 December 2011 - 10:27 AM

Was This Post Helpful? 0
  • +
  • -

#7 jay331  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 4
  • Joined: 13-December 11

Re: The best way to learn programming?

Posted 13 December 2011 - 11:25 AM

I will have to say tlhIn`toq is absolutely correct. That is what I am after the very beginning. I understand what the c# book is actually doing. I think the fact that I am using a 2010 version of the visual studio and the book is referring to the 2005 version???? That would be my guess. The example worked all the way up until I got to the part to enter the textbox = textbox part. I think the versions name them differently, is that even possible? Anyway. You can't play the guitar or the piano without a few bad notes. I think after I learn programming I will see what I did wrong. LOL

Thanks for the tip TheCompBoy and the great advice from everyone.
I will have to check out that link when I am done responding here.
Was This Post Helpful? 0
  • +
  • -

#8 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4531
  • View blog
  • Posts: 7,903
  • Joined: 08-June 10

Re: The best way to learn programming?

Posted 13 December 2011 - 11:43 AM

No, 2010 will still compile 2005 code. It's the other way around that doesn't work.

As tlhin`toq mentioned, there's probably something you missed. But you're right, it does take work, and you're going to do it wrong before you learn to do it right.

I would suggest getting a more up-to-date book, since a lot has changed in the language since then. No reason to learn techniques that are already out of date.
Was This Post Helpful? 0
  • +
  • -

#9 Shane Hudson  Icon User is offline

  • D.I.C Technophile
  • member icon

Reputation: 343
  • View blog
  • Posts: 1,286
  • Joined: 06-December 09

Re: The best way to learn programming?

Posted 13 December 2011 - 11:58 AM

To be honest, while books are fantastic for reference... just grab a project and run with it. Look at other source code to see how it works, how the syntax goes together but incorporate the patterns they use into your own project. I usually make a calculator when learning a new language, very easy way to see how they compare to the other languages I know.
Was This Post Helpful? 0
  • +
  • -

#10 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5582
  • View blog
  • Posts: 11,941
  • Joined: 02-June 10

Re: The best way to learn programming?

Posted 13 December 2011 - 12:55 PM

View PostShane Hudson, on 13 December 2011 - 12:58 PM, said:

To be honest, while books are fantastic for reference... just grab a project and run with it. Look at other source code to see how it works, how the syntax goes together but incorporate the patterns they use into your own project. I usually make a calculator when learning a new language, very easy way to see how they compare to the other languages I know.


When one knows one or more languages and therefor the underlying concepts this can work.

But for most of these rookies this isn't the case. They've never built "Hello World" in any coding language before.
We tend to advice NOT jumping into a project without first making an effort to learn the basics and at least do the first half of a self-teaching book, referablly all of it, before starting on a project of their own choice.

Just jumping into a project with no background at all results in frustrated students and more frustrated volunteers when these students start posting:

Quote

I'm trying to duplicate NotePad/Calculator as a learning exercise...
I'm trying to make a text-based D-n-D type RPG as my first coding project to learn from...
  • How do I change the text of a label?
  • How come my button click doesn't do anything?
  • I've written 7000 lines of code for this and it doesn't work. Now what?
  • I want to have a log-in screen. How do I make two forms communicate?
  • What does it mean by "Can't convert 'yogi' to an integer"?


We see these by the droves every month because rookies don't take the time to get a solid (if any) foundation before embarking on their quest to build something.
Was This Post Helpful? 1
  • +
  • -

#11 RexGrammer  Icon User is offline

  • Coding Dynamo
  • member icon

Reputation: 182
  • View blog
  • Posts: 783
  • Joined: 27-October 11

Re: The best way to learn programming?

Posted 13 December 2011 - 01:00 PM

Object Oriented Concepts are the basis for any OO language (and most modern languages are Object Oriented)

So to build a foundation for any language read a book on OO concepts:

My fav: Object-Oriented Thought Process, The (3rd Edition)

This post has been edited by RexGrammer: 13 December 2011 - 01:01 PM

Was This Post Helpful? 0
  • +
  • -

#12 Shane Hudson  Icon User is offline

  • D.I.C Technophile
  • member icon

Reputation: 343
  • View blog
  • Posts: 1,286
  • Joined: 06-December 09

Re: The best way to learn programming?

Posted 14 December 2011 - 02:41 PM

Wow.. darek9576 down voted me without even replying to the topic... if you disagree with me then fine but don't down vote without even giving your opinion! And that goes to everyone as general etiquette.

tlhIn`toq that is fair enough, personally for me reading a book did not work so I jumped in the deep end (tetris in VB5 XD) and eventually managed to get it to work. But of course everybody is different, books might be more helpful to some. Perhaps actually video would be more helpful, there are some very good introductory videos on youtube.
Was This Post Helpful? 0
  • +
  • -

#13 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5582
  • View blog
  • Posts: 11,941
  • Joined: 02-June 10

Re: The best way to learn programming?

Posted 14 December 2011 - 02:48 PM

I hate it when people do that. Personally I find it cowardly. They'll down-vote you but not risk their own reputation by making a comment or even contributing to the conversation. Personally I wish the system didn't allow it. If you are going to down vote someone I think the system should require a post to explain why. If I give bad advice or something just plan wrong, then correct me.
Was This Post Helpful? 0
  • +
  • -

#14 CodingSup3rnatur@l-360  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 992
  • View blog
  • Posts: 972
  • Joined: 30-September 10

Re: The best way to learn programming?

Posted 14 December 2011 - 03:10 PM

I have to agree with tlhIn`toq here, particularly this part:

Quote

When one knows one or more languages and therefor the underlying concepts this can work.


If you are completely new to programming, I would say it's always going to be an up hill struggle to properly learn a language by just jumping in and starting projects straight off, without reading up on the concepts involved. I think it could depend to an extent on the paradigm that language is geared towards...

Thinking back a couple of years back when I first started learning ActionScript 3.0 (which is an object oriented language), and first started programming, the thought of just starting a project straight off back then is unthinkable to be honest. Everything was alien to me. I had to read though the first few chapters of about 3 different books before I even had the slightest clue where to start writing any code.

When you have no programming experience at all, starting a project straight off is literally like not knowing any German, but immediately trying to write a book in German, at least in my opinion anyway :) You have to have a decent grasp on the concepts involved, and once you have that grasp (it takes a while to get that grasp, I might add), Shane Hudson's approach can definitely work very well.

However, saying that, I would imagine someone moving from a pure procedural background to the object oriented paradigm, for example, may find it difficult to write good OOP code without first reading up on the concepts of OOP. They could jump in straight away and start writing code, I'm sure, but would they write good code in the OOP style, or would they try to write everything in a procedural fashion?

So, my opinion is that total new comers to programming really should/need to read up on the underlying principles and concepts (perhaps while writing little examples to practice what they have read as they go, if they can) before trying to write full programs. Further, once the underlying concepts have been mastered, it can be relatively easy to jump from language to language (in general), and learn by immediately writing programs, and just looking up the things you need as you need them. Even then though, major paradigm shifts may cause issues, but still, no issue will be as difficult to overcome as the one you face when you start programming for the very first time :)

This post has been edited by CodingSup3rnatur@l-360: 14 December 2011 - 03:17 PM

Was This Post Helpful? 1
  • +
  • -

#15 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5582
  • View blog
  • Posts: 11,941
  • Joined: 02-June 10

Re: The best way to learn programming?

Posted 14 December 2011 - 03:18 PM

View PostCodingSup3rnatur@l-360, on 14 December 2011 - 04:10 PM, said:

When you have no programming experience at all, starting a project straight off is literally like not knowing any German, but immediately trying to write a book in German, at least in my opinion anyway :)


I guess we think allot alike. That's how I put it in my standard reply to rookies taking this approach:

tlhIn`toq`s standard resource reply said:

Quote

I have a little programming experience but I need to write ...


You need to start there. I can't say "I have little experience in speaking Russian, but I have been assigned to write a mystery novel in Russian. Can you help me?"

We can help you by saying "First learn basic programming and the language of C#. Then take on assignments." Could someone here write this program for you? Sure. Could someone here map out all the processes you need to follow and do the Software Design part of this in the slim hope you could code it from there? Sure. But we don't volunteer to do the job that you're either getting paid for, or getting a grade for. You may want to read this.

For now, just work on the lessons. Do a self-teaching book from cover to cover. Then consider writing a program.

Don't try to create a useful working program to fit a need of yours (or a for-pay contract) as your introduction to coding project. When you are learning to code you don't know enough to code a program, let alone know how to engineer the architecture of a program. It would be like saying "I don't know how to read sheet music, or play an instrument. I think I'll write a 3 act opera as my first learning experience."

I don't say this to be mean. We've seen lots of new coders take this approach and we know it doesn't work. Trying to design your own programs before you understand the basics of the code language you've chosen just leads to problems, frustrations, and 'swiss-cheese' education (lots of holes).


Resources, references and suggestions for new programmers. - Updated Nov 2011
[spoiler]blah... blah blah..

This post has been edited by tlhIn`toq: 14 December 2011 - 03:18 PM

Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2