This week was the last weeks lecture of the course. So, I will organize this last post into a recap of what was covered this week, as well as some thoughts and comments I have on the course.
This weeks lecture topic was on property. We began by discussing what some philosophies are on what constitutes the owning of property. We discussed Lockes philosophy of the natural right to property, which I must say I do kind of agree with. I believe that when people put time into the creation of an object from some otherwise "ownless" piece of the natural world, then they should be able to claim it as their own property. I do understand that this necessarily inflicts with certain laws, such a those restricting someone from cornering off a piece of land and putting some foundation in it and claiming it as their place of residence (similar to what we discussed in class), but, aside from these obvious limits I still believe Lockes argument is fairly valid.
I also enjoyed the discussion we had on copyright laws and trademarking. It is interesting that such values such as death plus fifty years can be quantified as a reasonable time to allow access to someones otherwise copyrighted material. I am really curious as to how these numbers have been calculated, because at first mentioning they seem fairly arbitrary. Furthermore, I think a natural question that arises with this law is what material is now being made accessible to the general public due to the death of a patent holder plus fifty years. It would be interesting if someone could compile a database composed of all the patents that are currently being made accessible (although I'm sure one already exists).
For the second part of the lecture, we discussed the filter function on Dr. Racket. This function is extremely utile, as if you have a huge list and wish to capture only a few items that meet a few criteria, then through the use of filter (and a proper program statement) then you may do so. We were given a few examples to work with to practice using filter and I was able to produce functioning programs for these examples. One question asked us to produce a function using filter that picks out all of the numbers from 1 to 699 that are divisible by 13. Of importance to this question, is to create a predicate statement that can tell whether a number, upon division by thirteen, produces zero as its remainder. The function looks something like this (in racket).
(define (remainder1 num) (remainder num 13))
(define (equal1 num) (= num 0))
(define (theanswer num) (equal1 (remainder1 num)))
......(filter theanswer (range 1 700 1))...which actually procudes the list of numbers from 1 to 699 that are divisible by 13 (after defining what theanswer is).
Finally, just a couple of comments on the course. I found the course very interesting and I really appreciated the marking scheme! I believe Dr. Racket was fairly easy to use and the video lecture series was extraordinarily helpful in allowing me to understand and use the program. I would suggest taking this course to anyone who is interested in the world of computers, including those who are interested in the history of the computer (as well as issues like privacy and property that necessarily coincide with the use of computers) as well as those who have never had any experience programming before.
No comments:
Post a Comment