======Part 3====== =====Entries===== ====Novemeber 11, 2011==== Work day. ====November 18, 2011==== Bubbles and pie oh and no Karl. Happy thoughts. ====November 21, 2011==== Work on stuff and played cards, won the first game. ====November 28, 2011==== Trying to finish the Opus and got the EOCE. =====data Topics===== ====Keyword 1C==== LIFO or FIFO?- Queues are FIFO. ====Keyword 2C==== Computational Complexity- a branch of the theory of computation in theoretical computer science and mathematics that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other. ====Keyword 3C==== Big O notation- used to describe the limiting behavior of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions. Theta- the function, f(n) is bounded both from the top and bottom by the same function, g(n). bounds- Upper and lower bounds, observed limits of mathematical functions. ====Keyword 4C==== Sorting Algorithms- an algorithm that puts elements of a list in a certain order. ====Keyword 5C==== Selection sort algorithm- a sorting algorithm, specifically an in-place comparison sort. http://en.wikipedia.org/wiki/Selection_sort ====Keyword 6C==== Bubble sort algorithm- also known as sinking sort, is a simple sorting algorithm that works by repeatedly stepping through the list to be sorted, comparing each pair of adjacent items and swapping them if they are in the wrong order. http://en.wikipedia.org/wiki/Bubble_sort ====Keyword 7C==== Insert sort algorithm- a simple sorting algorithm: a comparison sort in which the sorted array (or list) is built one entry at a time. http://en.wikipedia.org/wiki/Insertion_sort ====Keyword 8C==== Quick sort algorithm- a sorting algorithm developed by Tony Hoare that, on average, makes O(nlog n) (big O notation) comparisons to sort n items. In the worst case, it makes O(n2) comparisons, though this behavior is rare. http://en.wikipedia.org/wiki/Quicksort ====Keyword 9C==== Merge sort algorithm- an O(n log n) comparison-based sorting algorithm. Most implementations produce a stable sort, meaning that the implementation preserves the input order of equal elements in the sorted output. It is a divide and conquer algorithm. http://en.wikipedia.org/wiki/Merge_sort ====Keyword 10C==== Binary Search algorithm- finds the position of a specified value (the input "key") within a sorted array ====Keyword 11C==== Trees- a widely-used data structure that emulates a hierarchical tree structure with a set of linked nodes. Binary Trees- a tree data structure in which each node has at most two child nodes, usually distinguished as "left" and "right". nodes- a structure which may contain a value, a condition, or represent a separate data structure (which could be a tree of its own). parents- A node that has a child. children- Each node in a tree has zero or more child nodes, which are below it in the tree (by convention, trees are drawn growing downwards). ====Keyword 12C==== insertion- the inserting of a node into a tree in a certain spot. =====data Objective===== ====Objective==== State the course objective; define what that objective entails. ===Method=== State the method you will use for measuring successful academic/intellectual achievement of this objective. ===Measurement=== Follow your method and obtain a measurement. Document the results here. ===Analysis=== Reflect upon your results of the measurement to ascertain your achievement of the particular course objective. * How did you do? * Room for improvement? * Could the measurement process be enhanced to be more effective? * Do you think this enhancement would be efficient to employ? * Could the course objective be altered to be more applicable? How would you alter it? =====Experiments===== ====Experiment 1C==== ===Question=== Does a computer know that a negative number raised to an even power will make an even answer? ===Resources=== Internet. ===Hypothesis=== I believe that a computer is not able to compute that without ()'s. ===Experiment=== #include #include int main() { int x, y, z = 0; printf("Please input a x value. \n"); scanf("%d", &x); printf("Please input a y value. \n"); scanf("%d", &y); z = pow(x,y); printf("The value for z is: %d\n", z); return(0); } ===Data=== The computer does know how to but if the x is raised to a -y it dont. ===Analysis=== Based on the data collected: My hypothesis was wrong. ===Conclusions=== I should not underestimate the power of a computer. ====Experiment 2C==== ===Question=== What is the question you'd like to pose for experimentation? State it here. ===Resources=== Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment. ===Hypothesis=== Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment. State your rationale. ===Experiment=== How are you going to test your hypothesis? What is the structure of your experiment? ===Data=== Perform your experiment, and collect/document the results here. ===Analysis=== Based on the data collected: * was your hypothesis correct? * was your hypothesis not applicable? * is there more going on than you originally thought? (shortcomings in hypothesis) * what shortcomings might there be in your experiment? * what shortcomings might there be in your data? ===Conclusions=== What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made. ====Experiment 3C==== If you're doing an experiment instead of a retest, delete this section. If you've opted to test the experiment of someone else, delete the experiment section and steps above; perform the following steps: ===State Experiment=== Whose existing experiment are you going to retest? Prove the URL, note the author, and restate their question. ===Resources=== Evaluate their resources and commentary. Answer the following questions: * Do you feel the given resources are adequate in providing sufficient background information? * Are there additional resources you've found that you can add to the resources list? * Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment? * If you find a deviation in opinion, state why you think this might exist. ===Hypothesis=== State their experiment's hypothesis. Answer the following questions: * Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover? * What improvements could you make to their hypothesis, if any? ===Experiment=== Follow the steps given to recreate the original experiment. Answer the following questions: * Are the instructions correct in successfully achieving the results? * Is there room for improvement in the experiment instructions/description? What suggestions would you make? * Would you make any alterations to the structure of the experiment to yield better results? What, and why? ===Data=== Publish the data you have gained from your performing of the experiment here. ===Analysis=== Answer the following: * Does the data seem in-line with the published data from the original author? * Can you explain any deviations? * How about any sources of error? * Is the stated hypothesis adequate? ===Conclusions=== Answer the following: * What conclusions can you make based on performing the experiment? * Do you feel the experiment was adequate in obtaining a further understanding of a concept? * Does the original author appear to have gotten some value out of performing the experiment? * Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).