Tips for Using CSDTs

- To most effectively and efficiently understand the different functions of these CSDT tools, you should play around with the lower level components of the algorithms. Although you will have a basic understanding of these concepts after going through the tutorial and completing the challenges, the only way you’ll be able to understand, learn from, and create your own scripts from others (which can be found under the projects tab of the website) is through heavy experimentation with your own and other’s projects.

- As you continue, you will be asked to come up with your own versions/designs with the help of the provided scripts. When creating your own algorithms from the provided scripts, try using bottom-up design: A style of programming in which one starts off with the low-level programming, detailing all functions & first-level subsystems. Upon the successful implementation of these low-level functions, they are structured and used in conjunction to complete the intended task - going into high-level programming (e.g. figuring out how to use the functions and subsystems already made to achieve the intended goal).

- As you gain more experience and spend more time programming along with understanding other’s programs, you will develop better Pattern Recognition, the skill of observing patterns, trends, and regularities in data- allowing you to more easily identify common methods to solve problems used in different algorithms. You can then use the patterns you identify to apply them to your own algorithm designs. This is done through Pattern Generalization, the process of creating models, rules, principles, or theories of observed patterns to test predicted outcomes. The one which give desirable outcomes can then be implemented in your own algorithm.