+ 2
How to get better with problem-solving and programming
I’m currently learning C++ I’ve also know a little C and python and JavaScript C++, I would say I am a higher level beginner/lower level intermediate but I’m having problems with coming up with my own projects. All I can do is copy and paste what other people have done for their projects but I’m having a hard time with coming up with something of my own and been able to just code it without having to look at other peoples code how long does the copy and paste phase last before you can do things on your own
8 ответов
+ 6
Don't try to come up with projects that are unique or particularly useful. Whatever idea you have has already been done better by someone else. You'll never progress if you think you should only develop useful and unique applications.
Start by creating small apps that utilize various features of the language. Basically, learn to work with the built-in collections, databases, or popular APIs. Just write the code to implement those in order to strengthen your knowledge of those things.
You could try to build a small app that's easily expandable. For example, let's say you build an app for Animal Rescue.
You will need objects for each type of animal and various instances of those.
You will need objects for each kennel, each person bringing in an animal, each person adopting an animal, each employee, etc.
Then you will need management capabilities to add employees, add doners and adopters, etc.
Then you will need to track bathing, medicine, behavioral problems, feeding.
Then you will need inventory management for foods, medicines, etc.
So it starts with a simple app where animals come and go. Then it expands to handle staff, customers, and care features. You'll end up building a database, etc. Don't try to make something for real life use. Just make something that's cleanly written and grows in complexity. Make sure you use abstract classes or interfaces and inheritance, etc.
When building all this, you build test scripts to test each function and workflow. Then you'll build reports that show the activity across various time periods.
A small app you can create in a couple hours can evolve into an app that takes weeks to build.
Whether you do animal rescue or you do something to analyze the files on your hard drive or track birthdays and holiday cards, it doesn't matter. Just build a little thing and continue to build it up using various technologies. The goal is to use as many programming technologies as you can so you reinforce your skills. It's not the app the matters
+ 2
Well said Jerry!
+ 2
Using AI to learn might sound convenient, but you have to be aware that the answers it provides might not be always correct.
Always test and try to understand what your code is doing line by line. If you end up writing codes you don't understand, stop and learn about the parts you're unclear about. Slowly you will build up your knowledge.
Writing original codes from abstract concepts and ideas might be hard, but AI might be able to give you a starting code.
Being able to debug codes is a valuable skill that will increasingly be more important as we enter the future of AI generated codes. So yeah, if you can't come up with original ideas, you can train your code debugging skills instead. It is an even more valuable skill.
+ 1
Jerry Hobby thank you very much for your input i feel like im learning a lot but its so much more to learn i constantly find myself using chatgpt to help with coding problems as well as forums my next step is to start doing way more projects, and hopefully I can start collaborating with some friends of mine that code as well it is definitely a process, but hopefully I will get there
+ 1
Try to do things without ChatGPT as much as you can. I love using ai to speed up projects but you don’t learn as much when you use AI. As for learning, I’ve coded my whole life and still take courses constantly. Learning is part of programming. The feeling of working out problems is very rewarding.
+ 1
I recommend a course called CS50 by Harvard that is completely free: https://pll.harvard.edu/course/cs50-introduction-computer-science
This course is hard but it is is technically a beginner's course. Note that this is also a language-agnostic course because it's sharpening your problem solving skills.
While most tasks in this course, you aren't coming up with, but you do have to come up with the solution to complete them which is a good stepping stone to making your own in the future! Some of them can take days to finish.
The final project for this course will make you come up with a unique project of your own and by that time you'll be totally prepared for it! I also recommend joining the discord for when you get stuck on problems.
I also really encourage to watch this lecture as well. It's focused on problem solving as well with programming tools and is not focused on a certain language either: https://youtu.be/azcrPFhaY9k?si=Y49_s48JQtBIHTKb
+ 1
Sarmad Ali For some people, things that might come easy or seem easy to you may be hard for others. Like in this case where it is not easy for you to show a little bit more empathy and understanding for a fellow learner as to why they asked that question.
You are also saying that you are a student of Computer Science whilst this person may be a hobbyist and/or a self-learner and don't have as much formal guidance as you may have the priviledge to have.
You don't know everyone's circumstance so to compare yourself to others does not fit here and it doesn't really help the OP.
0
being an student of Computer Science i am very sad that why you guys get it so hard? Its very easy do efforts and make it. nothing is so hard