The core of what good programmers do is being able to define the steps necessary to accomplish a goal.Unfortunately, a computer, only knows a very restricted and limited set of possible steps. But if you want to find the average of two numbers, this is beyond the basic capabilities of a computer.
The core of what good programmers do is being able to define the steps necessary to accomplish a goal.Unfortunately, a computer, only knows a very restricted and limited set of possible steps. But if you want to find the average of two numbers, this is beyond the basic capabilities of a computer.Tags: History Of Yoga EssayEssay On ImaginationExample Dissertation AbstractEssay On Computers And Its UsesGroup Problem Solving And Decision MakingHow To State A Hypothesis In A Research PaperWorking At Home EssayMeaning Of Cost Accounting Essay
For example, if your professor needs a cup of coffee, and asks you the single item: "Get me a cup of coffee", he has used both encapsulation and abstraction. All of this information is TOO MUCH and we would quickly be unable to funciton if we had to remember all of these details.
The number of steps required to actually get the coffee are enumerable. Thus we "abstract away" the details and only remember the few important items. Complexity hiding is the idea that most of the times details don't matter.
Through this process, students are introduced to the concept of program design and algorithm development.
This is stressed first early on in the term to introduce them to the concepts of design, and then again later in the term to reinforce its importance.
An algorithm (see Algorithm) is a set of specific steps to solve a problem.
Think of it this way: if you were to tell your 3 year old neice to play your favorite song on the piano (assuming the neice has never played a piano), you would have to tell her where the piano was, and how to sit on the bench, and how to open the cover, and which keys to press, and which order to press them in, etc, etc, etc.
Problem solving, the design of algorithms for solutions, and the translation of tested algorithms into the grammar of a high-level computer language are emphasized.
Students are encouraged to develop a consistent programming style and a systematic method of internal program documentation.
Further, there are "good ways" and "bad ways" to encode information.
Good ways allow the computer to easily "compute" new information.