“Google not, learn not: why searching can sometimes be better than knowing” …a Reflection

I agree and disagree with this post. Particularly his first point about the usefulness of memorization.  Although it is true that memorization can take time to do, I think memorization of particular concepts can pay off in the long run. It is a lot easier to write something you have memorized than attempting to hunt it down on Google. A more efficient programmer uses Google less, in my opinion.

I agree with his second point. You can certainly use the mistakes of others to learn yourself. By avoiding making the same mistakes as others you are certainly improving your own career as a programmer.

Finally, I also agree with his third point. Google is an excellent resource for learning computer science. You can learn almost any concept, language, or skill you want over the internet, making this a great resource for the ever-evolving field of CS.

AR vs. VR

There are a couple of explicit differences between augmented reality and virtual reality. Augmented reality adds digital elements to the world around you whereas virtual reality creates w hole new reality for the user. Both are similar in the sense that they change the reality of the user.

There are many uses for virtual reality. In business, virtual reality could be used to test prototypes in a safe environment. The computer would be able to simulate a place with normal physics and then the user could create something digitally that they may want to create in real life , but by using VR they are able to make sure it is at least somewhat safe to create. There are already multiple companies that offer VR headsets specifically for business use. These companies include Oculus Rift, Samsung Gear, and HTC Vive.

AR also has business applications. People can create real life models using digital design software and see how there model would look in the real world. It would give people an idea of the look, feel, and size of any model that the user wanted to create. Right now, there is only one real viable source for business AR, and that is the Microsoft HoloLens. Right now it is still on Developer builds but one of their target audiences are businesses who want to build prototypes digitally. Other augmented reality uses that people have proposed include cooking (from the Japanese Institute of Technology) and turn by turn navigation built into cars (from Mishor 3D).

 

Create Task Questions

  1. The video of the program running, the written responses, and the program code (as a PDF).
  2. Describe any difficulties, describe the incremental and iterative development process, and describe whether it was collaborative or independent.
  3. Describe how each algorithm within the algorithm functions independently and how they aide in the function of the algorithm that uses them.
  4. Describe how the abstraction handled the complexity of the project.
  5. 1 min / 30MB
  6. PDF
  7. Citations could be in 2a or as comments in the code in 2e. Comments go in the code in part 2e.

Algorithm 2

algorithm2

The bubbleSort algorithm compares two numbers in an array and swaps them if the larger number is on the left. It repeats this until it doesn’t swap at all which would indicate that the  array is sorted in least to greatest order.

The swap algorithm takes in an array of values and two integers (each indicating a different address in the array) switches the two variables values and returns the array with the two values swapped.

The bubbleSort algorithm relies on the swap function in order to do its job properly. The whole concept of bubbleSort revolves around its ability to swap to values based on certain conditions. The swap function could theoretically have a use in any function but it was specially created for this one.

Abstraction

Link to Abstraction

This abstraction displays a menu to the user and returns their choice. Since the menu pops up after every hangman game is played, it is efficient to turn this into a function that can just simply be called. The phrase “get_choice” is much easier to understand than all of the print statements that would have to be put there if I chose not to make this a function.  The get_choice function was used in several places (like at the start of the program, after each game, etc.) so it was just easier to consolidate this into one function rather than a bunch of copy and pasted code.

Algorithm

algorithm

This algorithm is designed to take in a word from the user, check if that word is contained in a file, and if it isn’t contained in the file it will add it to it. (If it is in the file the word will be rejected). It accomplishes this task but accepting the input and then using if statements to run some tests on the word. It uses the pickle library to interact with the external file. First, the word is added to an array and then the word is sent to the file when the method is quit.

DC Cyber Attack

Original Story: http://www.nbcwashington.com/news/local/DC-Police-Camera-Network-Hit-With-Cyberattack-412108243.html

Shortly before President Trump’s Inauguration, a closed circuit camera network was hacked by an unknown source.  There are a large variety of possible motives but since the source of the hacking is unknown police won’t know why their Camera’s were hacked until they find out who committed the crime. The police will likely secure their camera network so that a similar attack cannot occur again. They will also continue to investigate so that they can discover who caused the hack and why they wanted to break in. The timing likely had something to do with it. Thankfully security measures were already in place so that the cameras were in a closed circuit and no other DC systems were affected.

 

MIT App Inventor

The MIT App Inventor was a good tool for people who were just learning to program. Its similarity to Scratch would make it a good environment for  a beginner to learn in.  I think it would definitely be a good way to introduce someone to programming in an Introductory class.

As far as the AP is concerned, I think it was good to explore it since we have never seen it before but if it were taught in a course that was a prerequisite to the AP it would not be necessary to do again in the Advanced Placement class.

MIT Article

I recognized many things on the list in the article. In fact there were a couple of things that I knew about but I was surprised that they were on there (for example cultural “memes”).

A a couple of things I didn’t recognize was “Technological Singularity” and “Self-Tracking.” Although when I read about them I realized I had heard about them but just in other terms.

I think this list could definitely change over time because that is what technology does. Things on this list that we think are relevant now may not be so much in the future.