Reading 14: Cause your friends don’t code and if they don’t code, well they’re no friends of mine

As part of the Computer Science 4 All movement, many states are making changes to include computer science classes as part of their curriculum.  This has become a polarizing topic for some.  The group in favor of more computer science education opportunities in schools argues that as the world becomes more technologically integrated, people should have a better understanding of how the devices we use everyday work.  Not only will this give everyday people an idea as to how their devices work, but it could inspire more kids to go into computer science, helping to fill the many computer science related jobs currently out there.

The other side of this argument is concerned about people getting into this field for the wrong reasons.  The article titled, “Please Don’t Learn To Code” talks about how the Silicon Valley lifestyle is overly glamorized.  And that if you did not get a traditional computer science degree, it is very hard to make that leap from learning to code to making money as a software programmer.  Their main concern is that this huge push to make everyone learn to code will not pay off.  My problem with this argument is that I really do not see how it could hurt to have kids take at least one programming class before leaving high school.  I was forced to take things like History, Biology, and English, so why not additionally have everyone take a coding class?  I’m not sure if taking a coding class before going to college would have affected me in any way, but it might have an impact on someone else.  I, for some reason, used to think “I don’t think computer science would interest me”.  But sometimes people just form these types of ideas and we get stuck in our ways.  If I had been forced to take a computer science class sooner, I would have had a very different opinion about it because I would have realized how much fun it is.  I do think that making programming more accessible to kids at younger grade levels is very important and is an initiative that schools should be taking.

Can anyone learn to program?  My first response to this is yes.  But, this may be because I already know how to program and it seems intuitive at this point.  But after spending a very long summer trying to help my mom through her company’s R Cloud optional training class, I realize that not everyone finds this skill as intuitive as I do.  Should everyone learn to program?  This question is a bit trickier.  What I do believe is that everyone that want to learn to code should have the opportunity to do so.  Additionally, everyone should have an understanding as to what it means to build and write code.  A lot of times people do not want to learn because they see learning to code as this huge impossible task.  But, if more people had an understanding of how coding really works, I think there would be a lot more people in computer science classes.

Reading 13: Copyright Licenses – Open and Proprietary

When deciding which type of license to use for a piece of software, the developer must think of the intensions for the code.  Open source licenses are used for software that allows developers to edit and share the code.  Having the code be public means there are more eyes available to spot bugs, errors, security flaws, etc.  With proprietary licenses, the owner of the software has more control over what can be done to it.  But, there are fewer regulations for proprietary software.  Instead of more regulations, usually software that has a proprietary license will require you to agree to their terms and conditions.  While bugs from a software with an open source license may get fixed faster, the developer of the software with a proprietary license is more guaranteed to be able to profit, since they are they only ones able to actually make changes to fix those bugs.  It’s hard to say if one is better than the other.  If your goal is to profit from your software, then a proprietary license might be the way to go.  But if you want your software to reach more people that can contribute and help the software grow, then an open source license might be the way to go.  Additionally, things like HeartBleed and ShellShock that affect the security of open source software argue against using open source licensing.

Free software and open source software describe very similar sets of software.  The ideas behind the two concepts do differ, though.  Free software refers to the ability of the user to do whatever they want with the software.  Open source refers to the idea that free software leads to better collaboration.  It is not a guarantee that all free software is open source and vice versa, but more often than not, a piece of software is likely to fit into both categories, not just one of them.

The main difference between GPL and BSD licenses is that BSD allows anyone that uses an open source software with that license to then turn that new software into a proprietary product.  GPL allows changes to the software that are only allowed under the license.  I believe GPL protects the owner of the software more, while BSD gives any contributors more possibilities.

In regards to the Oracle v Google case, it seems that Google used Java APIs in a competing product, and therefore it was ruled that they violated Oracle’s copyright.  The ruling that they APIs were “fair use” means that you can use them, but you just can’t use them to package and sell that software for yourself.  I do think that they are correct in this ruling, but the decision will have some effects.  This will make any future Google products that would have used this software more expensive for consumers.  If they had used only fully open source Java to build Android to begin with, this wouldn’t have been an issue.  This suite will make developers more aware of the software and APIs they are using to build their own systems, and be more aware of copyrights in general.

Reading 12: Planes, Trains, and Automobiles

Self-driving cars and “mobility” are becoming our not so distant future.  Transportation is something that is a part of everyone’s lives in some way.  More specifically, most people drive a car somewhat frequently.  Possibly more importantly, there are some people that have a need to drive a car every day but are prevented from doing so, possibly because of a disability.  Self-driving cars are a way of giving the option to drive to more people.  In general, driving is a dangerous activity, taking the lives of 1.3 million people per year.  One of the goals in self-driving cars is to make driving a safer activity, including preventing drunk driving accidents.  Every company is trying to be a part of this field and they are smart to do so.

Not all advancement is good advancement.  There are a lot of dangerous implications that come with this new advancement.  A lot of people are skeptical of how safe these cars can be.  While they might be less dangerous if all of the cars on the road were also self-driving cars, they have to drive on roads with mainly human drivers.  This can still lead to accidents and possible injuries and deaths.  There is also a concern for the threat to numerous transportation based jobs.  Taxi drivers have already experienced this with the rise in popularity of ride-sharing apps like Uber and Lyft.  Now professions like truck drivers are worried about their own job-safety.

How these autonomous vehicles approach life-and-death situations is widely debated.  Something to help explain this problem is called The Trolley Problem goes.  Let us say that a trolley headed on its current track is about to hit and kill five people.  There is a lever that you could pull that would change the trolley’s course, making it hit and kill only one person.  Do you pull the lever? Most people would choose to pull the lever and kill the one person, saving the five people.  But when it comes to the context of the autonomous vehicle, it becomes more controversial.  If the car was about to hit five people crossing a street, should the car choose to swerve and hit another car and another person?  What if this swerve resulted in the death of the driver? If we treated this situation like The Trolley Problem, then we would have the car kill the driver.  However, most people have a problem with this.  People believe that these vehicles should protect the drivers.

I would definitely consider getting a self driving car.  As someone who falls asleep the moment she is inside of a moving vehicle, there are a lot of benefits to owning a self driving car.  I would want the car to allow the driver to have some control in some situations where I felt I needed to take over.  I like having up to date technologies and owning something like a self driving car would be very exciting.  It is transforming the transportation industry and I want to be a part of it.

Reading 11: “Sometimes it is the people no one imagines anything of who do the things that no one can imagine.”

Artificial Intelligence is the idea of programming computers to behave like we, as humans, do.  For some that means that computers should behave exactly as we do; this is called “Strong AI”.  The goal of a system like this would be to study human cognition.  On the other side of this is “Weak AI”, which is making computers to behave like we do, without telling us anything about the way we think.  And additionally, there is a third stream of thought, which is a combination of the two; this uses human reasoning as a guide and is not striving for perfection.

Some examples of Weak AI include things like AlphaGo, Deep Blue, Watson, and AlphaZero.  While the main functionality of  these systems are to play (and win) a game, they mean much more than that for the Artificial Intelligence world.  At the time each of these were created, the games they were meant to play were thought of as “too strategic” for a machine to be able to win, let alone against a human champion.  But in the end, no human proved to be a match for these systems.  This goes to show that we should never assume that there is a limit to what a computer can do.  I believe that the methodologies behind these types of advances will one day be used to solve more

The Turing Test is designed to find out if a machine can think.  Supposedly, a human “interpreter” asks questions to both a human and a machine and, based on their responses, is supposed to determine which is which.  The idea is, if the machine can fool the human, then the machine can in fact think.  I don’t think that this test is an accurate way of determining if a machine can think.  The Chinese Room demonstrates why this is not an accurate measure.  This test describes a Chinese-speaking man conversing with a machine that can pass the Turing Test.  Seale then describes a situation where they replace the machine with himself, a non-Chinese-speaking person, and he is to process the Chinese input as a program instructed, and give the responses back to the interpreter.  If he were to pass the Turing Test, it would mean that he “understood” the Chinese input.  But, he does not, in fact, understand Chinese and is just following a set of instructions to make it appear as if he does.  Here, the machine does not actually understand the input, but is just translating based on a set of instructions and feeding back responses that were programmed in.  This relates back to the idea of “Strong AI” vs “Weak AI”.  Are these machines actually thinking as humans do?  Or are they merely accomplishing the task of making it seem like they think like we do?

Any possible dangers that could come from Artificial Intelligence really come from the people in charge of it.  They can decide what the machines’ limits are.  I do think that we have a moral obligation to ensure that any AI machine does not do harm to people.  There is a lot of potential for these types of machines to do a lot of good, and I am hopeful for where this field is headed.

Reading 09: Is there a right answer to net neutrality?

Net Neutrality is the idea that internet providers will not block, slow down, or charge for certain websites or services.   Some people argue that net neutrality hinders the rights of ISP’s (Internet Service Providers).  It prevents them from charging sites that use more bandwidth, a.k.a the companies that are more popular and have more people visiting their sites everyday like Netflix and Facebook.  The other side of this argument is that, without net neutrality, we as Internet users are at the will of the ISP’s; they have control over what websites we can access.

Before examining the topic, I was all for net neutrality and really did not understand the other side of this issue.  In my research, I believe I have gained sympathy for this other side.  One of the articles I read was “Net Neutrality Is Anything But ‘Neutral'”.  While I found a lot of issues in this article, such as claiming that all bills ultimately do the opposite of what they claim to do, the analogy about toll roads made sense to me.  The analogy compared ISP charging more for websites that use more bandwidth to tollroads charging more for semi trucks because they cause more wear and tear on the road.  The laws enforcing net neutrality prevent ISPs from being able to charge more from these websites that use up more of their bandwidth.  They argue that these laws are unfair to these companies.

While I do understand the pleas of the ISP’s, there are some issues with their argument.  Along with being able to charge more for more bandwidth, this could lead to charging more for, or even preventing some websites for any number of reasons.  Those in favor of net neutrality worry that this gives the ISP’s too much control over which sites succeed and which ones fail.  The only argument against this is that these worries are “absurd”.  Given the current political climate, I really don’t think anyone is in a position to say that their concerns are absurd, since so many absurd things have actually happened.

The pro net neutrality side of this issue worries that without these laws enforcing net neutrality, we are at the mercy of the ISP’s.  We must trust that they will not prevent sites at their will.  Or allow sites to pay them more in order to get more bandwidth.  We as users have a certain expectation that we can access whatever sites we want to, regardless of which provider we are using.  And as entrepreneurs, we should expect that everyone should be able to access our sites at their will.  And we are now supposed to trust the ISP’s to ethically charge more only for more bandwidth.  When in reality, this opens many more possibilities.

I understand now the issues with all the regulations with net neutrality.  But I do not think that not regulating it at all is the solution.  If there was a way to allow the ISP’s to charge more only based on bandwidth, this might make more people happy.  But I do not know how to ensure that these increases in charges are solely for those reasons.

I do strongly believe that the Internet is a public service and fair access should be a basic right.  And I believe that most people, at their core, agree with that.  I do not trust a free market to not infringe upon this right.  I believe there do need to be some regulations that prevent this, but maybe not as many as there are currently.

Reading 07: Why I love Math

“If you are not paying for it, you’re not the customer; you’re the product being sold”.  This is a very true statement in today’s world, and I think it is a reality that some of us choose to accept.  Others are feel uncomfortable with the idea, but feel that it is inevitable.

I do not think that it is unethical for companies to gather out information and sell it as a product.  It makes it possible for the companies that make our favorite free apps to make money and keep working on those apps.  I personally enjoy not paying for apps, so I have no problem with companies collecting my information in order to maintain this.  I realize that there are downsides to this as well as some upsides.  For example, I frequently get ads on my Instagram feed.  And a lot of times, they are things that I might not have otherwise found.  When I was searching for a birthday gift for my boyfriend, I got an ad for something called “Pup Socks”, which was where you could submit a picture of your dog and it would print the picture on a pair of socks.  I ended up getting my boyfriend two pairs (one with each of his dogs on it) and he freaked out and absolutely loved them.  I would have never thought to have get him this if I had never seen this ad.

The other side of this is that sometimes these ads can cause some issues.  Take the situation with Target and the pregnancy scandal.  They had figured out how to predict if a woman was in her second trimester, as well as certain products that women tended to purchase around this time in her pregnancy.  So, they decided to send ads in the mail to these women for these pregnancy-related products.  But, when a secretly pregnant high schooler’s father found these ads, a family secret was revealed too soon.  On the one side, I felt horrible for that family.  But in reality, the mathematician inside of me was amazed at how accurate they were able to be.  Most people might find some of these targeted ads creepy, but it makes me excited at the power of predictive analytics.  I would love for someone to suggest things for me to buy, even if its before I even knew I needed it myself!

I definitely find online advertising tolerable.  I even welcome and encourage it.  But, if you really want privacy, I do not think that it is impossible to achieve.  Ad blocking tools are available for download.  And, you could easily check your privacy settings on all of your social media accounts to see what information is being collected.  Anyone that cares that much about keeping their information private can take these extra measures, and I encourage them to.  I, on the other hand, will enjoy getting new gift ideas, finding new deals and sales, and maybe even new products that I had never even considered before.

 

Reading 06: Edward Snowden Is Not a Hero

 

I first read the BBC News article that details some of the information in the millions of classified documents.  I wasn’t so surprised about learning that the NSA listens in on millions of Americans.  I was shocked about hearing that they also surveilled several UN Ambassadors.  But there were so many different pieces of information that I was reading about that I started to get confused.  I couldn’t figure out what his motivations were or why he chose these specific documents.  They seemed so broad that it clouded any ethical goal he claimed to have had and made it seem like he was just leaking the information because he could.  Then I read the Washington Post article about Edward Snowden’s impact.  They described everything I was feeling and put some reasoning behind it that made sense to me.

Eventually I was able to get a clearer vision of what his goal was.  He wanted to bring attention to the way that these government agencies were using Section 215 of the Patriot Act to justify and allow these surveillances and seemingly infringe upon our privacy.  This section specifically allowed “access to records and other items”.  Up until Snowden’s leak, this allowed the bulk collection of phone metadata by agencies by the NSA through phone companies like Verizon.  They were performing what they called third hop queries.  “A three-hop query means that the NSA can look at data not only from a suspected terrorist, but from everyone that suspect communicated with, and then from everyone those people communicated with, and then from everyone all of those people communicated with.”  In 2015, this section was not renewed when the USA Freedom Act was passed, which replaced the Patriot Act.  So in a way, Snowden was successful in making some sort of an impact on the way that the government goes about collecting information on people.

However, I think there are a lot of problems with the way Snowden went about this.  He stole over a million classified documents, without even reading them.  He just handed them over without knowing what exactly was in them.  If he had only leaked the information about collecting phone records, I think it would have been received a lot differently.  But then he also leaked information about the way the government surveils other countries.  Thank goodness we didn’t start any wars as a result of this, because I feel like that was a very real possibility!  At the very least he definitely hurt some international relations.  And I honestly don’t care that my government may or may not be listening to my phone calls if I happened to be “three hop queries” away from someone possibly connected to a terrorist organization.  That is exactly the kind of thing I expect the National SECURITY Agency to do if it helps keep me safe.

I do not think that what he did was beneficial to the public.  I do think he harmed the security of the United States and its allies.  I don’t think that these revelations impacted my views on government and national security.  I think that these agencies are doing what they need to do in order to maintain our security.  As far as my opinion of technology, I think it is smart of these agencies to take advantage of all of the information that is already out there and use it to gain intelligence.  I don’t think he should be pardoned.  There is a reason that leaking that type of information is illegal, and when you do something illegal you have to go to jail.  That is not an attack on whistleblowers, because I really don’t think that what he did constitutes as whistleblowing.

Project 02: Job Interview Process

I believe one of the most important parts of our guide is the information on the different types of interviews.  When I first started looking for internships, I did not even know there were different types.  I figured that the types of questions they would ask you would differ based on the job you were interviewing for, but I did not have any idea that something like a technical or a case interview existed.  The best piece of advice I have ever received was to look at things like a company’s mission statement.  Being able to incorporate key phrases from that statement into a cover letter or interview answers really stands out to interviewers.  From my internships experiences, companies really try to encourage employees to take their mottos to heart.

I’m not sure if changing curriculums is our answer.  I do recognize that we are spending more and more time on job searches and interview prep.  But I believe part of that is because, especially in computer science, there are so many different paths you can take post-undergrad.  There is the software engineering route, which deals with heavy coding.  Classes like Data Science and Algorithms prepare us for the technical interviews.  There are also a lot of IT and consulting related routes.  Having technical background as well as soft skills are important for these types of jobs.  In addition, Notre Dame offers a CSE Case Study class.  And in addition to those two paths, there is always the option of more schooling by going into grad school and computer science research.  What we need is some resource that can tell us about the different paths that a computer science degree might best prepare you for.  And then, when it comes to computer science electives, which ones are best for which of those paths.

Reading 05: The Challenger as a Technical and Moral Failure

On January 28th, 1986, the Challenger took off at 11:38am, and promptly exploded 75 seconds later.  This horrible tragedy took the lives of seven people, including a high school teacher.  But worst of all, it was something that could have been prevented.  The night before the launch, a meeting was conducted to determine if it was safe to launch.  Issues were brought up due to such low temperatures; there were concerns that the O-ring seals would not hold in colder temperatures.  The coldest temperature they rockets were tested in was 54 degrees Fahrenheit, according to the engineering company who manufactured the rockets, Morton Thiokol.  The temperature that day was below freezing.  The decision to ignore these concerns and go ahead with the launch then caused the death of those seven people.

The night before the launch, a call did take place that was supposed to determine if the launch would happen or not.  But the call might as well not have happened.  Roger Boisjoly and other engineers alerted NASA to the risks with the O-rings in low temperatures.  He claims to have even reported this issue to managers the year prior, and an investigation reveals that NASA was aware of the issue as far back as 1977.  Although Boisjoly wrote a memo about the issue, “The result would be a catastrophe of the highest order — loss of human life”, and yet at NASA it was regarded as an “acceptable error”.  This disparity in categorization of this issues could have been caused by many things, one of them simply being culture.

The idea of “groupthink” is brought up in How Challenger Exploded, and Other Mistakes Were Made.  It is describes as a “mode of thinking” where in a tight-knit group, members are more inclined to have a unanimous voice rather than bring up opposing ideas and cause a disturbance.  From the readings, it seems that this could describe the environment around NASA.  When talking about that infamous phone call the night before the launch, Allan McDonald, who was also labelled a “whistleblower” for this incident, said “It wasn’t what they wanted to hear,” when talking about urging NASA to postpone the launch.  That idea that they needed to tell NASA what they wanted to hear is a huge concern.  Especially when pleasing NASA comes before the lives of people.  This was something that Boisjoly and McDonald wanted to be sure was brought to light.

Boisjoly and McDonld made a very brave decision when deciding to come forward with this information.  They risked their jobs and reputations, which ended up being a very real risk because they were treated as lepers and black-balled from the space industry.  I am thankful for the sacrifices they made in deciding to “blow the whistle”.  I believe in situations like this people need to be held accountable.  Before they went forward, it was looking like the O-ring issue was going to be swept under the rug, as well as the fact that it was brought up and then promptly ignored.  Situations like this should not occur in the future, although we already know that it did happen again with NASA and the re-entry of Columbia in 2003.  Even though it seems as though the Challenger events were unable to prevent something like Columbia from happening, I am hopeful that there have possibly been other engineering failures that were listened to, and would have otherwise been ignored.

 

Reading 04: Subtle Digs and Outright Sexism

I remember when the story about the engineer from Uber first came out and all of the emotions I felt at that time.  I was happy and proud of that woman for having the courage to speak out about her experiences.  At the same time, I was terrified.  Could I handle the tech world if this is what women in the field faced? It was one of the first times I felt fear to enter the workforce out of fear of harassment.  I had always known that technology and other STEM fields were ones dominated by men, and I had always felt that I was prepared to handle this because I knew I could prove myself if I needed to.  But how to deal with harassment was not something I studied in my engineering courses.

If you claim that a lack of diversity is not a problem in the technology industry, then I hope that you never have to experience what other women and minorities have had to go through in this field.  This opinion is part of the problem.  Some of the stories I read were shocking, like Susan Fowler’s story from her Uber experience, and others were not as surprising, like Bethanye Blount’s story of trying to give an interview.  The ones that were not as shocking were still difficult to hear.  The reason they were not as shocking is because it was the type of indirect sexism that even I am used to by now.

When I think about subtle sexism, I think back to my intro to engineering course.  I was a sophomore at Saint Mary’s at this time (for our engineering program we start taking classes at Notre Dame our sophomore year).  And even though I had only been at our all girls’ school for a year, I had become so used to working with only women.  During our monthly Saint Mary’s SWE meeting, the juniors in the program warned us that we might experience some “arrogance” from some of the incoming freshman boys.  Then, during our second project of the class, I was in a group with three boys and a girl, all from Notre Dame.  And overall, the project went very well and I have no complaints about my group members.  There was one day though, where we were figuring out some heavy math figures.  And me, being the sophomore math major who was currently in physics and had just learned all of the equations we were using, figured I could help with this task.  I struggled to get past two of the boys going back and forth arguing about two sets of equally incorrect figures.  Eventually I just sat back, quietly did all of the calculations myself, and waited for my chance to say, “oh hey are these the numbers you were trying to get?”  And suddenly it was like my invisibility cloak had been lifted.

Indirect sexism is the hardest thing to combat in our field.  While more severe forms of sexism like sexual harassment are definitely a very real issue, sometimes the more subtle forms of sexism are more dangerous because of their less obvious nature.  I’m sure the boys I was working with were not trying to make me feel like my opinion did not matter, but their intent is not the issue.  People need to be more aware of the affect their actions have on other people.  It is true that people have biases.  The only way we can begin to close that gender gap and work towards a more inclusive environment is by learning to recognize when we are feeling those biases, and then choosing to ignore them.