Algorithms

Algorithms

Algorithms are the solutions to specific tasks, usually consisting of a flow of consecutive actions, decisions, repeated activities, and a set of output in terms of either data or physical actions. The design of an algorithm is generally a detailed architectural plan for the software under consideration.

Flow charts are very useful for designing the main skeleton of algorithms. Each shape has a conventional meaning like the rhombus or diamond shapes means a decision evaluation is going to take place. Other shapes may mean data input/output, or processing. Other means of software design involves the use of UML (Unified Modelling Language) diagrams such as

UML has many extensions and there are many other frameworks that can be useful for defining the architecture of a software project. Some frameworks may define the way the software team communicates and tracks the development plan, and some may strictly state the steps to be followed by the development, testing, and delivery teams. Depending on the environment, the software developers may need to adapt to those frameworks and modeling techniques for better quality assurance.


Example Open Source algorithms with Blockly