TO: Prof. Ellis
FROM: Sebastian Vela
DATE: 10/28/2021
SUBJECT: Expanded Definition Term: Branching
Introduction
The purpose of this document is to discuss the expanded definition of the term branching. I chose the terms “branch” and “branching” because they are used very commonly in programming. Any code that a programmer writes will include some form of branching to another set of instructions, rather than go through all of the instructions in the program one by one. The branches are conditional: If a user performs an action (let’s call this Action A), the program will jump (or branch) to the action corresponding to Action A. If the user performs a different action (Action B), the program will jump to the branch corresponding to Action B, and so on.
Definitions
Our current version of the word “branch” helms its origins from the Latin word “branca”, or paw, referring to parts of the anatomy that divide from the larger animal, such as the claws of a tiger. This term was later borrowed by the Anglo-French as “branche”, but now more often used to refer to the limbs of a tree. Circa 1250-1300, the word was adopted by the Middle English language as “branche”, “braunche”, and “bronche”, now referring to any parts of something that divides like the branches of a tree. Branching is a very simple concept and can be described to even a child. The University of Utah states that branching is “when an Algorithm makes a choice to do one of two (or more things) this is called branching. The most common programming “statement” used to branch is the IF statement.” [1] Techopedia.com gives a more descriptive and in-depth definition as to what branching is “A branch in a computer program is an instruction that tells a computer to begin executing different instructions rather than simply executing the instructions in order. In high-level languages, these are typically referred to as flow control procedures and are built into the language. In assembly programming, branch instructions are built into a CPU.” [2] Techopedia also states the different statements that are used in order to implement a branch such as IF statements, for loops, while loops and switch statements.
Context
Branching can be used differently depending on the industry for example in business branching is the act of creating a smaller office that is separate from a company’s headquarters. Investopedia description of how a branch office works states “Branch offices are useful in that they allow many of the client-specific administrative considerations to be conducted closest to clients. For example, Starbucks has branch offices to better serve its retail stores’ district managers in a more cost-effective manner. They can also cater to and be more informed about the needs of specific locations, rolling out location-specific items or adjusting staff.” [3] The uses of the term “branch” in programming and its use in business are very different. The meaning is more commonly associated with branches in business, so it would cause confusion for people who are not programmers to hear it used in a different context. Someone who is curious about programming would encounter the term “branch” and “branching” very often, as programs almost always have methods and condition-based actions that are described in the code and related documentation.
Working definition
Based on the definitions of branching and its context related to working in CST I would best summarize a branch as an instruction based on a decision, or a reaction based on a condition where the conditions are a series of tests that a program goes through. Each test looks for some kind of indication, whether it is a keyword, phrase, number, or boolean statement. The reaction, or branch, is the instruction that the program follows when the appropriate conditions are met. If the appropriate conditions are not met, the program goes into a different branch, and follows a different set of instructions until the conditions are finally met.
References
[1] H. J. de S. Germain, “Branching,” Programming – Branching. [Online]. Available: https://www.cs.utah.edu/~germain/PPS/Topics/branching.html
[2] Techopedia, “What is a branch? – definition from Techopedia,” Techopedia.com, 21-Sep-2016. [Online]. Available: https://www.techopedia.com/definition/18058/branch.
[3] W. Kenton, “How branch offices work,” Investopedia, 21-Sep-2021. [Online]. Available: https://www.investopedia.com/terms/b/branch-office.asp.
.