By week ten,
the focus was mainly on project 2, recursion and list of operations and Fibonacci
numbers. During that week, we received a little of background about the project
thematic. This was mainly focus on animation. We were asked to run an infection,
and to play around with the immunity and infection duration, to see how
virulent a disease could be. Additional to the project introduction, we focused
more on recursion operations on extensive lists, such as the ones that conform
a webpage. There was not difficulty in that topic, because it was similar to what
we have been doing the rest of the semester. Moving out from the recursion and
list operations, the class focus was the introduction of Fibonacci numbers. The
main notion was to understand that computers are not as fast as we think. In
fact, with Fibonacci numbers, we observed that the computer had a tough time
processing the command due to the redundancy in the definition. Thus, we ended
it up with a situation where sometimes the computation blows up, because of the
redundant calculations. The entertaining part began here, we started to create
a solution to this problem. But first, we calculated the time for Fibonacci
100, just to see how long the computer will take. As we increased the Fibonacci
number, the ratio of time increased as well, by a ratio of 1.6. Therefore, to
calculate Fibonacci 100, the computer will take around 18 billion of years. Sometimes
there is some sort of happiness or utility to do computation that take time.
For instance, passwords have a vast number of combinations. And because many
people are trying to hack our passwords, it is a good consequence that
processing all the combinations take that long. But in other occasions, such as
the Fibonacci numbers, re-implementing a definition is needed. As we established
before, the problem was that we were almost doubling the ratio of time. The reimplementation
for this problem was to produce to numbers instead of one, for example fib10
and its predecessor fib9. This will reduce the number of computations to 100,
which is fairly quickly for a computer to do. Overall, the baseline at the end
of this week was that we can make computation faster and shorter by rethinking
how implement a function.
CSC104 course was a surprisingly interesting course for the different topics studied in class, especially big-bang and Fibonacci numbers. However, sometimes it could be overwhelming when some definition produces an error. That is why I would recommend to a future student when writing a design function do not panic if it does not work at the beginning. Moreover, if you see that is not working properly, go to the interactions area and play with the various parts of your definition to gain a sense of what is the function of each part. Similarly, using check expects will help you at designing your function, because you will see what it is the supposed outcome of the function. Finally, I would strongly recommend using the help manual during the designing of the function, to see which command could help you with the desired output. Basically, for preparing for this course, organization and constant practice are keys. I would say that doing the weekly exercise will help you to master eac
Comentarios
Publicar un comentario