Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Here\'s the thing: I have been learning to code in jQuery (not raw JS) and PHP f

ID: 651492 • Letter: H

Question

Here's the thing: I have been learning to code in jQuery (not raw JS) and PHP for about 3 months now. During this time, I have learned a lot of different things, discovered how a web application is built, how web servers work, how databases work, and how I should really learn JavaScript rather than leaning on jQuery. But, I have found myself depending on tutorials and online guides to accomplish a given task; and this really affects my sense of accomplishment, so to speak. I'd never be content with myself, even after building the whole script, because someone had to point it out to me. Because I couldn't get it right by myself.

Basically, I have no clue how to "begin" building something from scratch unless I see someone else's implementation first. How do I achieve such a mindset where I will be able to recognize which steps do I have to take in order to go about coding an idea, application, function, etc., without any need of tutorials or examining foreign code. How to move on to the next step, so to speak.

TL;DR: How to stop depending on tutorials and write code without someone telling you what to do.

Explanation / Answer

First off, you should never stop seeking knowledge from others to help cultivate new skills.

That said, it is good to learn to create things from "scratch". As you are following your tutorials, try playing with the code and combining different concepts you've learned to go beyond what the author has written. This will deepen your understanding of the subject.

Then, think of a "simple" project. It doesn't have to be unique; it could be something that's already been done 1000 times. Think of all the different pieces required to make it work, and think of how to implement each piece. When you hit roadblocks, search for help or ask a specific, detailed question on a forum. Start as simple as possible and gradually add functionality.

For example, create a calendar program. Start by just displaying the current month to the user. Then add the ability to select a month to display. Then add the ability to create events on certain days. Then make the events persist after closing and re-opening the program.

Whatever you do, keep reading tutorials and books. These will give you more tools for your toolbox so you can create ever more complex projects.