Pecha Kucha Research

Net neutrality is a principle that says that internet traffic should be treated equally. No websites can be blocked or given lower priority by an internet service provider. It states that everything should have a similar chance of being seen on the internet. Internet service providers cannot lower the speed of certain websites to make them less accessible.

Some Positives: One of the major pros of net neutrality is that smaller websites, such as startups, are as accessible as larger websites such as large banks, or telecommunications companies. It gives an equal opportunity to everyone on the internet, and the internet is not ruled by one company, which means that everyone’s websites and blogs are visible. This means that everyone is on equal playing ground.

Another positive is that telecommunications companies cannot take over the internet, which is a huge thing because that is what many people use on a daily basis, so a telecommunications company taking over would ruin the open internet.They would only allow access to certain websites and block websites threat were a threat to them. This would really disrupt life for many people.

Some negatives: A con would be that there are many illegal services that go on online that are compensated for, such as illegal video streaming. Illegal activities like this are treated equally and have to be compensated for. Offensive websites may also be compensated for in the bid for equality on the internet.

Naturally, when equality strikes, people look for the best way to be profitable on this equal playing field. With so many people using the internet now, money can be made off of websites more. Eventually because of all the traffic on the internet, the upkeep of it will cost more, and more premium services will be invented, and internet access will be expensive.

Packets are a large component of internet traffic. Packets are smaller pieces of information that are being sent between two servers. Packets can take different routes from one host to the next host, as long as long the packets reach and are in the right order. Net neutrality states that packets should be moved impartially regardless of what content they are carrying, or where they are going.

Transmission control protocol determines how to make each packet. It sends packets and receives packets, as well as sets up the connection between two hosts. In net neutrality, all websites should have a similar connection to other hosts, which means that the TCP should be able to have a secure connection. By establishing a good connection, for every website, it should have similar speeds and connectivity.

An ip address gives a device its own identity and allows packets to be sent to that specific device. An IP address is necessary because without it, it would be difficult to send information to specific devices. By blocking IP addresses to certain websites, the net neutrality act is being broken because it does not have the same connection as other websites do.

 

Citations: “What Is Net Neutrality? – Definition from WhatIs.com.” SearchNetworking. N.p., n.d. Web. 16 Oct. 2017.

“What the FCC Net Neutrality Order Means for IP Addressing.” Team ARIN. N.p., 15 Nov. 2016. Web. 16 Oct. 2017.

“What Is TCP (Transmission Control Protocol)? – Definition from WhatIs.com.” SearchNetworking. N.p., n.d. Web. 16 Oct. 2017.

“13 Pros and Cons of Net Neutrality.” Vittana.org. N.p., 31 May 2017. Web. 16 Oct. 2017.

 

Pecha Kucha creation:

I wrote out my script and timed it, then I made the slideshow. I gathered a ton of images for this and I ended up with 2 images per slide.

Internet is for everyone challenge debate (4&7)

Challenge 7:

This challenge proposes that we do our best to keep the internet a safe place. Any private transactions and other communications should be kept confidential to protect the privacy of its users. This is of course a very good proposition because the protection of people’s privacy and the feeling of being safe are two very important things for humans. Safety has been our number one instinct since day one; we didn’t want to be hunted by tigers. Privacy is also an important thing nowadays where a lot transactions with large sums of money occur on the regular. It is also really good because it is preventing your information from getting into the wrong hands.

 

One of the major drawbacks from this challenge is that by allowing everything to be done in ‘secrecy’, there is always the risk that illegal transactions could happen on the internet, such as drugs. Another problem that arises from this private method of deals allows terrorists to get their hands on bombs, guns etc… in order to carry out large scale terrorist attacks. Terrorism could definitely be easier if monitoring of transactions doesn’t happen. Weapons of mass destruction could be a lot easier to get a hold of if everything.

 

I believe that transactions should be encrypted and accessible only to people who are concerned with the transaction. However, I believe that the government should be notified if transactions of high value  are taking place, so that it can be verified that it is indeed a legal transaction taking place. If this type of monitoring took place, then many terrorist attacks, and other high valued illegal trades could be stopped, and help keep people safe. This allows privacy of smaller transactions which people would still want to be private.

 

Challenge 4:

 

This challenge proposes that everything on the planet should have access to the internet. Accessibility to the internet strikes key in this challenge; whether it be by language, region, or time. Challenge 4 also mentions “without limitations” suggesting a use to any extent that the person would like, whether they use it for a long time, or for what they want.

 

Some benefits from this challenge would be that people can access the internet, the vast space of knowledge at any time or place they want. It gives the world access to all kinds of knowledge, ranging from how to add 1+1 all the way to complicated quantum physics. Anyone can learn about these different topics through the various mediums of communication on the internet.

 

Some of the drawbacks would be the potential cost of giving everyone access to the internet on the scale suggested by the challenge. Many millions of dollars would have to be spent in the devices that connect to the internet, and thousands more on the labour involved in installation and manufacture of these devices. Another drawback would be with the “without limitations” part, going back to some issues with the last challenge. Because the internet will be so accessible, many people may end up using it for the wrong things and ruin the joys of the internet.

 

I believe that the internet should be widely accessible because it is a necessity in today’s life as it is used in almost every aspect of our lives. I couldn’t imagine a world without computers, phones and the internet. Nowadays, the internet really is accessible (in most places) and in every household and even on the streets. This accessibility has allowed us to do the things of today’s world.

HTML Responsive Design and Website Reflection

HTML and CSS was a fairly new concept to me, and I actually found it was more confusing than python because I have worked with python so much. In HTML and CSS it can sometimes get confusing when I need to add something to CSS or if I am missing something from HTML because they are 2 different files. I am still not very fluent in it, but I do understand it a bit better. I had some problems, such as my home page HTML wasn’t connecting to the CSS connected to it.

Pictures:

For the last one, the CSS didn’t load for some reason so I need to work on why that happened.

What are the differences between HTML responsive design and Bootstrap?

Bootstrap is more about classes and div’s to help with the formatting and responsive design is about the way the page looks in different viewing sizes. Bootstrap is about the formatting of the page, and responsive design handles the adjustment of sizes within the page.

APCSP Abstraction summative

Abstraction Definition:

 

The thing I chose was the pizza generating system for which I created a 3 level abstraction during planning (4 if I wrote code). This was the simplest form of abstraction:

I chose to make a simple diagram outlining the basic steps of the code as my most simple abstraction. This is simple because this is the most basic way of showing what the code will eventually do. If I had to compare this step to another abstract concept, it would be the simplest layer of abstraction for the Koenigsberg bridge problem. This s\comparison is made because of how simple the diagrams are.

Koenigberg Bridge. Digital image. Https://i.stack.imgur.com/Uc5Hi.png. N.p., n.d. Web.

 

My second layer of abstraction was a flow chart. This is what it looked like:

This was my middle level of abstraction because it wasn’t very specifics to what exactly the code would look like, but it showed a more detailed version of what the code does. It connected each part of the code to another, and showed a more vivid description of the process. Flowcharts aren’t the most complex because the code is not explicitly shown in the chart.

My third and most complex layer of abstraction was my pseudo code. Picture:

Here’s what it does:

The pseudocode was my most complex because it shows each line of code that I would write, but does’t have it in the language I would write it in. It is as complex as I could get without actually writing the code itself. This really isn’t simple because of how close to the code it actually is. Pseudocode is code that is written in english and easy to understand by any programmer. Code is usually in a certain language so mainly only people who know that language will understand that code. In pseudocode, a Python programmer can understand the pseudocode written by a C++ coder. This makes it easier for different types of coders to collaborate and understand other programmers code.

 

In conclusion I think that there are many layers of abstraction in coding. The most basic one would be a very simple diagram or paragraph explaining the basic outline of the code. The next step would be to write the flowchart explaining each step of the code, but not line by line of the code. This isn’t the simplest or the most complex. The most complex step would be the pseudo code because it shows the code line by line, but it doesn’t show the actual code itself. It is basically an english translation of the code.

Part 2: Abstraction within code:

Less complex level of abstraction:

This is one of the most basic levels of abstraction because it is a function. This is a basic level because I can call it later without using too much code. The code within the function gets stored so that I don’t need to keep writing the same code over and over again.

This is an example of less abstract code because I need to code all of the lines that tell it to read the file, print it and then erase it. I have to tell it exactly what to do at what to do, from opening the file, to reading it, to printing it, and finally, erasing it.

Why is a high level program easier to understand than a lower-level language in a program?

A high level program is easier to understand than a low level program is because a high level program has a lot more abstractions than a low level one. A high level one contains libraries and functions and such which allow for easier reading of the program. A low level one has no abstractions and tells the computer exactly what to do, without any libraries, and functions, or anything like that. It is written step by step of what is to be done. For example, a high level code might have a builtin called circle in order for a circle to be drawn, whereas a low level code will have to tell the pen to move forward constantly while shifting by 1 degree at a 0.1 second interval. It is so much more difficult to understand the second low level code, than the other high level code.

 

 

 

Abstraction Blog

A local map doesn’t really show the buildings and streets, and it is mainly one colour. There aren’t any cars, or vehicles in the local map. An mtr map shows each stop that the mtr takes, but they are all equidistant on the map, which isn’t true in real life. An mtr map shows the path of the different mtr lines and generally where in Hong Kong each stop is.

 

 

Euler took a map of the city of Koenigsberg and further abstracted it so he could see just what he wanted to, the bridges. He drew the general placement of the bridges and islands so that he could easily see them, and the layout of the bridges. He further abstracted it just to show from which island to which the bridges connect, not worrying about the placement of each bridge in respect with another.

 

Abstraction of game:

APCSP Address Book Challenge

This task wasn’t as hard as I thought it would be because the only thing I wasn’t entirely sure about before starting this was how to write text files, and append them. The only minor issue I had was finding out how to print the contents of the text file, which I figured out easily after surfing the web. I didn’t really do much planning before going into this because I already knew what I was going to code. I knew all the steps for my code, so I didn’t really need to prep that much.

APCSP P2 2017-18

The commands that I used are mainly Pen.forward, and Pen.right/left. I didn’t really use any loops but I probably should have for the trees. My drawing was a mountain with trees to the side, and the sun shining. I also used Pen.up so that I could move the pen around without it drawing anything. It was fun because it was the first time that I have done drawings in pycharm using code. It was fun to be able to draw whatever we wanted, and it wasn’t even that difficult. I realised that Turtle actually has a lot of builtin commands that make it so easy to use, but I wish that I had used loops because my code was pretty long.

 

Screen Capture: