Once you find a learning tool that takes a top-down approach, what is the best way to learn? I have a controversial opinion on this: I think it is absolutely necessary for beginners to memorize the basics as quickly as possible. As you become more advanced learners, memorization quickly becomes a discarded method. You've probably heard people say it dismissively ("Don't memorize, digest internally", "I'm digesting what I've memorized", "I hate tests, I have to recall things from memory").
On the other hand, when you were in elementary school, you were forced to spend time memorizing the multiplication tables. Why carry it? Because your basic multiplication tables can be the basis for building more complex multiplication and division. This is no different than when you memorize the syntax of a programming language: the more natural it is for you to write if or for loops, the easier it will be for you to write more complex blocks of statements.
I also admit that memorization is not always the best way to learn everything, but I believe that for beginners in programming, it is an absolute must to practice programming. why? Because it reduces resistance, and if there's one thing that can frustrate beginners, it's resistance.
With that in mind, here are some specific tips for beginners who are learning or preparing to learn web application development. In fact, speaking further and more abstractly, this is a good plan for how to start learning software development. Obviously, this isn't a plan for everyone, but I think it will certainly work for most beginners.
- Learn a weakly typed programming language, don’t first learn an object-oriented programming language with mandatory typing. Strictly speaking, if someone mentions class or inheritance to you, then you should choose another path. While I agree that techniques related to classes and inheritance are essential in software development, I strongly feel that they should not be an option for beginners.
- In view of this, I think JavaScript is the most ideal programming language for beginners because: (a) the JS interpreter is available on most browsers, (b) its object-oriented nature is not mandatory Type, (c) is widely used in industry (yes, even for clients outside of the web, even I, now a device engineer, do work embedding JavaScript.)
- To be more specific , I suggest you learn to use JavaScript. How to learn to do the following things, especially in this order:
- Learn how to print something, learn how to declare and define variables, learn basic arithmetic operations (including remainder operations), learn Loops (especially for loops), learn to write abstract repeated codes into functions, learn strings and use loops to manipulate strings, learn arrays and array loop methods (especially foreach loops), and learn to create and manipulate object data sets.
- Remember the above and write a program to practice every day until these are easy to remember.
- Learn the basic operations of Git and learn to use Git through the command line. This means learning four Unix/Linux commands first (ls, pwd, mkdir, cd). When you learn these commands, you will also learn to query the file system in a "tree" or hierarchical structure.
- Once you have mastered the above Unix/Linux commands and can enter the file system from the command line, you should learn a few basic Git commands. Mainly git init, git status, git add and git commit.
- Once you have mastered the basic operations of Git, integrate it into your workflow as you learn the techniques below.
- Learn the basics of HTML and be able to create simple HTML pages from memory. Learn about the DOM and how to understand HTML as a specified hierarchical tree structure. Take a moment to think about how this relates to the layered file system you learned about in the previous steps.
- Learn CSS selectors and how they let you select parts of the DOM. Understand the relationships between DOM elements. Understand what it means for a DOM element to be a parent or child of another DOM element. Understand how this differs from the relationship between descendants and ancestors. Remember that selectors allow you to select certain elements through these relationships.
- Learn jQuery and focus mainly on DOM manipulation capabilities. Learn to use jQuery to insert or delete elements from the DOM, and practice visualizing how it affects the tree structure defined in the DOM.
- Practice event handling and DOM manipulation in jQuery (for example, practice manipulating the DOM when the user clicks something, or at a specified time interval).
- Practice more with JavaScript objects and think of them as mutable aggregators. Learn how to use JavaScript to represent more complex data instead of basic data types. Learn to apply and manipulate these data structures. Understand and define JSON and understand how it relates to JavaScript objects.
- Learn to use jQuery’s getJSON function to get data from a file into a JavaScript object. Using similar techniques, use a simple JSONP API to practice pulling data with AJAX. Practice inserting and deleting this data into the DOM.
At this stage, make a simple slideshow that loops through Flickr images, this will be an incredible project that will really test your ability to use the basic techniques you learned before to make it happen.
If you’ve made it this far, you’ve mastered a number of essential programming and computer science concepts. Specifically, you have mastered the most important elements of computer programs (if-else statements, loops, variables, objects, functions, arrays, etc.) and you have learned chain or tree data structures. At this point, you're undoubtedly ready to move on to more advanced topics.
Thank you for following websitesblog!
This article was originally published on codecloud.net. The content of the article is the personal opinion of the author and does not represent the position of this site.
Copyright Statement: This article is an original article by the blogger and may not be reproduced without the blogger's permission.
The above introduces a very correct and powerful programming learning method, including various aspects. I hope it will be helpful to friends who are interested in PHP tutorials.