Click here to Skip to main content
15,867,594 members
Please Sign up or sign in to vote.
5.00/5 (2 votes)
Hi, I'm a first-year college student taking up Computer Science with Specialization in Software Engineering and I would like to learn how to code, the "right/proper way." In a sense, I would like experienced coders here to kindly teach me on how to learn programming effectively, efficiently, and as organized as I can. Any tips? Thank you.

What I have tried:

I've tried to understand basic terminologies that's related to Programming so that I know what coders are talking about when they use their Jargon. Trying to learn the basics of C as well. Heard it's good for beginners!
Posted
Updated 9-Jul-18 1:55am
Comments
Mehdi Gholam 27-Sep-17 13:24pm    
Practice...
Richard MacCutchan 27-Sep-17 15:57pm    
... practice, practice.

It speaks for you asking seasoned programmers how to learn coding. It is a long and never ending journey to learn coding. The quintessence is you have to do it by "learning by doing".

Because you wrote about C++ I like this C++ tutorial, because this site offers some clean and short documentation and I often visit it, when something is unclear. Also it has some "old school" C++ flavour and so will give you the original smell of C++. But any other tutorial will also do. Remember: when you learn the basics well, it will serve you every day. Pay total attention the memory allocation and layout and pointers. It is the swiss army knife of C++.

Later you will find, that some architecture (like UML) and also "clean code" will serve fine when you work in complex projects.

A good starting point is installing the Visual Studio and start coding the basic samples frome the tutorials.

Happy coding :-)
 
Share this answer
 
Practice. Practice, and more practice.
You can learn the (very) basics from a course, a book or even (gawd forbid) a YouTube video - provided you do the exercises - but there is absolutely no substitute for practice. Everything about development is a skill, a mind set - and those only ever get better with experience. Forget "looking at good code" - that tells you nothing because you don't get reasons why it is like it is, what alternatives were considered, why they were discarded.

Try to code for the future: specifications change, bugs need to be fixed. "Clever code" that you can't understand quickly in six months time, or which are impossible to modify are more trouble than they are worth. Be concise, be clear, be self documenting. You are saving yourself work in the future ...

And remember: in computing there is almost never one right way, never one wrong way. But there are a heck of a lot of "working" solutions which may be better or worse than each other according to whatever criteria you need to use at the time.
 
Share this answer
 
OriginalGriff wrote:
Practice. Practice, and more practice.

It's the only way.

You have to know that you can do pretty much anything in any language, simply some languages are harder for beginners because there is more pitfalls to handle.
You need to master a set of techniques that are the basis of the job and are not linked to a language.

I have a few recommendations:
- Start with an easy/safe language: VB, Java, C#, not C or C++
- Read documentation / Follow tutorials (a lot of them)
- Start with tiny/useless projects, the purpose is to learn programming, not doing something useful.
- Start with console mode programs (no fancy graphics, no mouse)
- Learn debugger
Debugger - Wikipedia, the free encyclopedia[^]
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[^]
- A problem ? Google is your friend.
- Learn Algorithms and Data-Structures.
- Learn Boole algebra
- Learn one or more analyze methods, E.W. Djikstra top-Down method is a good start.
https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design[^]
https://en.wikipedia.org/wiki/Structured_programming[^]
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra[^]
https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD316.PDF[^]
- Learn SQL
- Learn Databases design and Administration
Introduction to database design[^]
1NF, 2NF, 3NF and BCNF in Database Normalization | DBMS Tutorial | Studytonight[^]
- Learn Regular Expressions

Interesting link:
Learn to Program[^]

There is no shortcut to knowledge, no one can learn for you, you are the only one that can do it.
Remember the exercises and little projects are not here to make something useful, they are here to teach you programming.
 
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