In the “06 Programming” module posted to Canvas there is a list of a couple-dozen “Rules of Programming” that were taken in part from “The Art of UNIX Programming” by ESR.

computer science

Description

1. In the “06 Programming” module posted to Canvas there is a list of a couple-dozen “Rules of Programming” that were taken in part from “The Art of UNIX Programming” by ESR. Study that list and then put the rules into a numbered order from most important to least important according to your own opinion. If two (or more) rules have the same importance value to you, then list them with the same number.


a. E.g., #1 = Rule of Clarity; #2 = Rule of Economy; #2 = Rule of Simplicity; #3 = Rule of Transparency; etc.


2. Do a quick Google search and Wikipedia read to find definitions for each of the following topics. For each case, give a succinct but complete one or two sentence summary of the big idea. a. Procedural Programming b. Object Oriented Programming c. Functional Programming d. Waterfall model for program development e. Agile model for program development f. Ad-hoc software testing g. Unit testing of software h. Application programming interface (API) i. Memory leak j. Optimizing compiler k. Time complexity l. Space complexity


3. To get a sense of the importance of algorithms consider the iconic computational task of sorting. a. Below are some links to video visualizations of different sorting algorithms. i. By watching the effect that the algorithms have on data you can certainly see that there is more than one way to do something and that some ways are faster than others. ii. Sometimes you can also get a sense as to how the algorithm works. To be honest though, I think someone would be hard-pressed to be able to articulate how Quicksort, heapsort, radix sort, and some others actually work just by watching.


Related Questions in computer science category