How should beginners go beyond the basics of programming?
Hey Guys !
"I know all the basicshow a program runs and everything I just don't know how to combine that knowledge to something Big"
I know several people who seem to be stuck in a writing simple codes also because they don't know how to build something cool with basics .
One explained it to me like this "I have all the basic ingredients to make a cake and I know how to scrambled eggs or dough ,but I don't know how to combine eggs ,flour sugar to make a cake "
How would you explain these people next steps ?
Basic knowledge just lays the foundation of your understanding of the language. In order to excel and get better, I would start by creating my own projects. It doesn't really matter what the project is, as long as you haven't made it before. The real learning and understanding of a language begins when you research it by yourself.
Let's say you want to create a program that inserts and retrieve data from a database. You might have an input-box and a button to insert the data. Input boxes and buttons are part of the basics, and it would be the easiest to understand and implement. Secondly, you would have an area where the information from the database is displayed. In html, this could be a table, which also is part of the basics. With just knowing the basics, you now have your user interface!
Now comes the learning part; communicating with the database. In order to communicate with a database, you have a lot of options (depending on the language that you are using). My basic strategy for solving these kinds of questions is to divide my problem into multiple parts. Since I want to send and receive data from a database, I would probably start with googling 'How to connect to database with [your chosen language here]'. From there on, I read and research different methods, and choose the one I feel like I would be able to myself.
There are also multiple websites with different kinds of projects that are created in order for beginners to learn beyond the basics: https://www.practicepython.org/
Hope this helped! Feel free to message me if you have any further questions :)
One of the reason why some beginners can't build projects out the fundamental concepts they learn are
1. They are not aware of how to combine what they have learnt.
2. They might be afraid of long codes.
To over come these problems,
First, they need to believe in them self that, YES I CAN DO IT.
Second, project based learning can give you hand on experience on how to combine things to build big things.
Third, it's good for beginners to review others project to get inspiration, BUT NOT TO COPY IT. You can learn what other developers use to build great projects.
Fourth, it's good to learn your favorite language form more than one platform, as each will have different things to learn.
As they say - First solve the problem, then write the code! Think of a business problem (or use case), it may be simple and that's okay. Take example from daily life like how credit card statement is generated based on your transactions, how sololearn tracks your progress, how phone bills are generated, and so on..
It the analytical skills that matters once you have mastered the basics to take you to next steps...
Breakdown the use case and problem statement into smaller stories and work on each part then try and create end to end solution (create data sources etc)
Create stats, trends from public datasets (demographic, national datasets, etc)
You may also explore sites like hackernoon, kaggle, etc to find new problems to work! Good luck 👍
True but sometimes we get stuck in an problem like in an trap that time we have to think and see how a 100 line codes working and where is the problem and its not an easy job it takes lot time to see it and fix it .....
Thanks Sayyam [ # Aasan hai ] for this question! Yes, I am beginner and have same thoughts when it comes down to building a project. Like how do I start with? What are the resources and libraries do I use to make it more effective in my code? How do I bring things together and so on?
It's like while you are learning to code needs to gain some more depth based on the project they want to do. It's like you know what you want to do but don't know the path how to get their!
Thanks Roolin, Gyani, Anything I Code and Dr. Doggo [D#] for the suggestions and answers how everything works out in the process!👌🙂
As a begginer I face this problem... I mean whenever I start a project little or big... I always want it to be a special... Like I'm building a supersonic things .. Its need to be good at any way... 😂
Sometimes we need to do project as our knowledge is... And dont learn in the middle of doing of any project just implement what u have learnt so far. 😇
1: Dont try to learn all the times.
2: if you learn something ... Practise it more....time... Than u actually learn it. I.mean give 20% time on learning & 70% on practising & 10% on reviewing ur own code...
Am learning programming for 2 years.. But my result is ZERO 😢 because, i felt tired.. I got lazy to write code. I always started project but never finish them.
Now i'm back after 8 months again.... To see if I can comeback again....
Notice: its my 2nd id in solo learn.
wow! Great Programmer Factory!. SoloLearn Changed The Way Of Learning.
im new to programming and im agree with @Roolin and partially with @Anything I Code. The Two Key Of Success are: 1- Plan to create Big Projects And 2- Believe In Ourselves. I hope that we beginners grow up soon as our Masters In SoloLearn Programmer Factory. Thank You.
Am a bigginer.... The problem i always have is long codes and how to put them together......your answers will help me now......we have to stop been afraid of long codes and do more research on how to put our ideas into a jointed free working code..... Thank you guys, i will adopt all ya advices...
 In my opinion, a beginner should move ahead by practicing to code- from the basic concepts which he has already finished (if he cleared his basics properly) to the advanced ones, everything can be well understood only by coding.
Yes it's a personal experience. When about 6 years back I was taught the basics of C++ in my school (without making us practice to code) I could do nothing but write down the same program as mentioned in my text book without having any idea of what I had done! But when out of determination I began exploring the language I automatically felt the need to code-on-the-go. I was a bit surprised when I realized that the "so difficult" looking syntax had become Crystal clear to me and that was probably permanent just because I had been writing my own codes- for each and every small thing that I would get to know.
 The same process goes on to the advanced level too, but for that instead of practicing the various concepts of the particular language one must practice to apply those concepts in visualising and solving some good problems. For example, after becoming fluent in the syntax of the language and knowing the most commonly used concepts (like functions, data types, classes, arrays, etc.) one might look forward to logical operations and interpretations using these concepts and basic algebra and arithmetic.
Search for programming strategies and problems and before having a look at their solutions try to code the best for them you can. Platforms like SoloLearn (best one) provide you with a good number of challenges to sharpen your skills.
Another suggestion, always stay part of an active community of friendly and experienced people in this field (like SoloLearn) because all your doubts can be cleared in time and you get your codes reviewed.
 Put whatever you have understood and combine it with your imagination to code, but DO CODE! Your programs might fail initially, but with a bit of determination and hard work you can get to learn why that failure occurred, which in programming is more important to learn than just being able to answer basic questions about the language.
Start from something easy, something that you can code easily with some "obviously!" feeling. Then gradually increase your level and consider higher order of programming problems and give enough time to be able to write a code that you think might be complete for the task. Run your program to check for errors (do everything you can with the code so that even the smallest of the errors can be found). Don't give up; remember, number of faults in your code won't matter if you improve with every step, and improvement is measured in the terms of the experience you gain in debugging and problem solving.