Click here to Skip to main content
15,886,919 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi i m a beginner in programing n i m finding it very difficult,how should i improve my skill????
Posted
Comments
Sergey Alexandrovich Kryukov 22-Oct-11 23:48pm    
Do you find it difficult to spell your post correctly and in full, too?
--SA

Learning programming is not strictly the same as learning a framework or a language, its more than that. You have to understand how programs work and for that you really need to have a feel for how computers work, how operating systems work etc. Having a good ground covered in Mathematics is often crucial to devise high performance algorithms which really sit at the heart of any program or programming language. I would begin there, by studying algorithms and then implementing what you learn using a programming language (staring off with C++ or Java). Try and participate in programming challenges, try and solve previous competitions' problems, read books on the subject and trust me you would see a whole new world evolving in front of you. It would be intimidating at first even disappointing but not giving up is the key. Don't just rush to try an build an awesome application, you can't, no one can especially if you are a beginner. You would have to get comfortable with the idea of problem solving using logical and mathematical abilities before you can jump on a computer to write code. Visualising a solution to a problem is often half-solving it after which writing code is mostly about the syntax. Once you are comfortable with this critical thinking phase, you can move to the next level of software engineering and creating meaningful applications which would be a whole new learning curve as well. But the excitement of creating something that can be useful to someone is awesome and that's what would keep you going. Above all else you have got to have a determination of steel and a desire to learn without which i would imagine no skill can be mastered.

Cheers...
 
Share this answer
 
Read articles.
Browse samples line by line.
Debug an application.
Look at tutorials.

If after all this you still find it difficult change your profession to something else.
 
Share this answer
 
Comments
Uday P.Singh 22-Oct-11 10:24am    
Agree my 5!
Mehdi Gholam 22-Oct-11 10:40am    
Thanks
I guess I'm somewhat old fashioned... I've seen Google mentioned, articles, sample code, but also don't forget to READ A BOOK! There are lots of great books out there that can really help you on your way.
Two publishers that come to mind are Apress[^] and Manning[^]. And of course the Microsoft Press books[^], which have greatly helped me when I just started out.

Articles are great, but often they discuss only one aspect of something much larger. In that sense they miss the structure that books do often have. What might also really help is to find a book in your own language before moving to the more common English ones. The availability of books in your language depends on what your language is, but certainly you could find one or two.
I have also learned that simply hanging out on CP is really helpful for learning :)
Good luck!
 
Share this answer
 
Comments
Uday P.Singh 22-Oct-11 10:25am    
my 5! books are always my first choice.
Sander Rossel 22-Oct-11 10:41am    
Thanks, I guess we're both old fashioned then ;)
Practice! :laugh:

It's like anything. The first stages are very difficult, but then it gets easier when you get used to it. Then you can do a bit more, and find that difficult for a bit too.

Do you remember when you learned to drive? The first lesson was kinda terrifying (I stranded the car on a snowbank during my first lesson) but it got easier until you could drive on your own with confidence, yes? Learning anything really new is like that. It's impossible - because you don't know what to do. Just try again.

It;s also a good idea to start off by breaking any task into smaller bits: then breaking those into tiny bits too. The tiny bits are easier to do (because it is more obvious what you have to do to complete them), but solving them solves a small bit. Then you find you have run out of tiny bits, and that fixed the small bits, which got the job done.

You'll get there! It really is practice, practice, practice. And a fair amount of Google, these days...:laugh:
 
Share this answer
 
Comments
Uday P.Singh 22-Oct-11 10:23am    
my 5!
This is perhaps one of the more sensible things ever said on the subject:
Teach Yourself Programming in Ten Years[^]

Best regards
Espen Harlinn
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 22-Oct-11 23:46pm    
Best answer so far, my 5.
--SA
Espen Harlinn 23-Oct-11 6:03am    
Thank you, Sergey!
In the early stage everybody thinks of it is very difficult. but i will suggest you to make your concept clear in all aspect. and do not try to go for lengthy project which seems difficult to develop. make logic clear your concept. and i hope you will cover up. dont worry. :)
 
Share this answer
 
v2
I also vote for starting with a good book; several years ago, books by Charles Petzold (the first book I could get), and, then, Jesse Liberty, seemed most helpful to me; later books by Matthew MacDonald. And, much later, books by Andrew Troelsen and Chris Sells.

My strong recommendation would be for you to get Liberty's .NET 3.5 edition of Programming C#[^]. Speaking as someone who has worked as a paid technical editorial consultant on two best-selling .NET books from Addison-Wesley, my humble opinion is that Liberty has a kind of "genius" for explaining things (as does, for much more advanced topics in .NET and C#, the one and only "guru of gurus," Jon Skeet ... who publishes via Manning Press).

And, there are free books: Anoop Madhusudanan, one of my favorite bloggers (amazedsaint's #tech journal) publishes this list:[^]

And, I'd also suggest you try to define small problems for yourself that will test your knowledge, and get you writing and testing and debugging code.

For example:

1. on a Form put a TextBox, ListBox, and Button. Put Labels near each of these controls that explain what they are for or what they do.

a. when the user types a list of words separated by commas into the TextBox, and clicks the Button:

a.1. first test the text entered: make sure it contains exactly groups of characters separated by commas : if it doesn't: erase the TextBox contents, and put up a message dialog to the user reminding them of what they need to enter.

a.2. if the text is valid when the button is clicked, then take the TextBox contents, and figure out how to parse it into separate words or groups of characters, and filll the ListBox with each word (or group of characters) between commas. The commas being ignored.

As you are ready, pose problems to yourself that are a bit harder: write your own simple text editor, write your own clock that allows you to select multiple time-zones.

Find your own "unique groove" that satisfies your interests and longer-term goals, and start defining tangible small goals that you can break out into achievable prototypes. Hopefully, that's when your mind will "catch fire" :)

And ... when you get stuck ... search here on CP, and/or StackOverFlow. Spending time learning how to skillfully use search on CP and SO (and Google, of course) will be a tremendous asset to you in the future.

Searching CP and SO can also teach you how to frame your own questions that you may want to ask, as you, as we all do, 'get stuck.'

Now, if you like math problems, there's a great site, Project Euler[^] full of a range of math problems meant to be solved by programming, ranging from easy to very difficult: an excellent source of programming challenges.

Finally, look at projects on CodeProject that really interest you, and download and study their code. CP not only has great articles, but also excellent tutorials on almost every aspect of .NET.

bon apetit, Bill
 
Share this answer
 
v4
I think practice and studying are not enough.

You should do a big project beside an experienced programmer or architect or ... . After a while you would be like him as a disease that spreads from a person to other people and you have the same abilities and skills.

The more experienced people you interact with them, the more experience you will grab.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900