Tag Archives: week0

A Hidden History

I’ve always thought that computers were something created in recent years. It is always correlated with the younger generations of the late 90’s to present day. I was shocked to learn that the use of computers date back to the 50’s. Although they weren’t fast-running laptops for commercial-use, I assumed the technology would’ve been nearly prehistoric. Something as simple as an ATM machine was a huge advance in technology in the 70’s. When someone thinks of a computer, the description is usually a machine used to search the internet. Computers actually come in all shapes and sizes. Their job is to perform tasks that are programmed into them and we fail to acknowledge the other forms that exist around us. I also thought coding was a process that became popular in the 2010’s. It seems like a complicated language of 0’s and 1’s. According to the Software Guild, the first coding system used was Autocode in the 50’s. I found that interesting because during that time there weren’t high-tech cellphones or flat-screen televisions. I thought coding was something too complex for programmers back then to use. Software engineers have been using coding for years to create multiple programs and it provides a set of instructions for the machine. Coding plays an important role in a majority of technology I use today. Reading these articles provided me with an insight into the world of programmers and software engineers. I don’t put in much thought when I Shazam a song or type in a question into Google. Someone had to work the back-end and program the machine to perform my requests. I’m excited to learn more about what goes on behind the scenes and I expect to take away a few skills that I can apply towards my own projects. In our growing technological society, it is important to be aware of all components required to create websites that we go on every day.

 

Beautiful is better than ugly

I never thought of coding as poetry. I never really thought of coding as anything. My mind refuses to accept that a bunch of zeros and ones can equate to anything other than a bunch of zeros and ones. How the technology we interact with everyday is the brainchild of math and science rather than magic. How can the intricacies of our apps, sites, and platforms be narrowed down to a wire? But the answer is in the term: coding languages. Languages. What encompasses a language? Grammar, technique, vocabulary, and so forth. And what sprouts of a language? Art, literature, film, expression, and poetry. I linger on that last one. The Zen of Python awakened a new meaning to those zeros and ones. A set of 19 aphorisms bordering on the intersection of prose and poetry unravel a complex set of ideas into concise proverbs. After all, simple is better than complex.

It really is so simple. Something created by humans, for other humans. What is a language if not a reflection of humanity?

The Internet

The first thing that struck me when first diving into the readings was how much more complex the internet is. As the video mentioned I was one of those people who viewed the Internet as a “cloud,” with all the information circling around up there. It also came as surprise to me how many different so called versions of the internet there are, dating back many years. I will admit some of the readings were almost like a foreign language to me. It took a couple re-reads to fully grasp the concept of computational thinking, and how that actually applies to my life. Simply trying to answer my little questions with abstract or even specific Google searches that relate back to the topic I was originally trying to figure out. Something else that caught my attention was how many different versions of coding there are. As someone who is new to the whole concept of web development, I of course heard of Java and C++ but seeing how many there actually are and where they date back too is pretty incredible to me. The readings definitely peaked my interest for the class and I look forward to the information that will be learned!

On Computational Thinking and The Internet

The first thing that came to mind when I delved into the readings this week was the phrase, “information overload.” It seemed fitting, since our topic is, in general terms, the Internet. I’ve always thought of it as some mysterious cloud constantly dumping information, like the YouTube video said, but now I know that it is actually simpler and, when used right, combats information overload altogether. I also thought it magically appeared somewhere around the 2000’s. I was surprised to see the many different iterations of computers and the Internet dating back decades.

After processing all the information in the readings, I think computers and the internet are designed in detail-oriented ways that answer problems with solutions. It’s kind of like Newton’s third law: To every action, there is an equal and opposite reaction. Programmers input commands, and computers just do what they’re told. When you think about it that way, they don’t seem so mysterious.

These ideas matter because they can be applied to everyday life. Lately, I’ve been doing a lot of research on Ancestry.com. It requires attention-to-detail, especially when you go further back in history. For example, my third-great grandfather, William Batiste, was a black man in Confederate Alabama. Around the same time, there was another black man by the same name and living in the same town, who fought in the Spanish-American War. At the time, I couldn’t figure out if they were the same man or two men with the same name. To differentiate between the two men, I first had to identify some qualifiers that would separate the men. I had two death records, one in 1916 in Alabama and one later in Chicago. Next, I searched for a 1920 census. I found one with my third-great grandmother listed as a widow. That confirmed that the Willie Batiste who died in 1916 was my third-great grandfather. The Spanish-American war veteran moved up to Chicago, where he was discharged after sustaining an injury. To get to this conclusion, I took a series of steps. I had to express the problem (identifying these men), express a solution (find a telling difference)  and then carry out the solution (input a specific search query and connect the dots), just as is shown in the model of computational thinking. 

Another thing that stood out to me was the entire WordPress philosophy. I think the developers of WordPress have a definite feel for their consumers. The general underlying theme is simplicity. The Internet is dominated by consumers. The vocal minority rule the post discusses is reflective of that. Only about 1% of Internet users are creators. However, I think that makes it a bit murky when choosing which features to develop and which comments to ignore. How do we tailor the Internet for billions of people with different perspectives? Is that responsibility on the user him/herself?

 

Course Preparation – Fall 2018

Welcome! Our first class session is Thursday, Aug. 23 from 5:10-7:30 p.m.

Be sure to review the syllabus before the first class.

The readings, site registrations and software installations below must be completed by Tuesday, Aug. 21 by 11 p.m. The analysis post is due by Wednesday, Aug. 22 by 11 p.m.

Pre-course assignments

Required free software to install:

Notes on required software:

  • These three programs must be downloaded and installed before the first class to be sure you can hit the ground running.
  • If you have problems installing that you can’t resolve by searching online, please contact the instructor as soon as possible.
  • After you install them, you don’t have to start using them before class starts, but you’re encouraged to explore what they do and why we’ll be using them.
  • Important: Don’t change any MAMP or XAMPP settings unless instructed.

Be sure to subscribe to the blog to get all the updates posted here:

Analysis Posts

Everyone will receive an individual login for this WordPress site so you can submit the analysis post. If you haven’t used WordPress before, please see the first section on how to post. Be sure to:

  • Add a title that briefly describes the content, themes, etc. of your post
  • Under “Categories,” check the box for “2018 Fall class”
  • Under “Tags,” add one called week0 — with no spaces between week and zero (it will be one of the suggested options when you starting typing “week”). After that you can add other tags that are relevant to what you discuss in your post (e.g. history of programming, computational thinking, etc.)
  • If you don’t want your post’s content publicly viewable on the course blog, please change the “visibility” to “password protected” in the publish box (top-right of the post edit page; see instructions) and enter the password I sent by email. That way everyone in class can read it, but not the wider web.
  • Under the “Notifications” section, always check the “instructor” box, which notifies me your post is ready.
  • Change the status to “pending review” and save

The weekly analysis posts don’t need to touch on every single thing covered, especially this time because there was such a variety of material. Ideally, in the case of a reading/video, a post will explore a particular theme or topic you found most interesting. Choose one (or a few) things and go into more depth.

In the future, if most of the work assigned one week is skills-based or project-based, you can reflect on that experience. Also, as mentioned in the syllabus excerpt, those assignments will be when you want to talk about progress you’ve made and any hurdles.

Some brief explanation can be ok, but definitely avoid summarization for the analysis posts. You don’t have to prove you read everything — if that was the case we’d have quizzes 🙂

The point is to do one or more of the following — or something along these lines:

  • analyze the materials
  • find connections between the materials within a given week (or, in the future, between weeks)
  • relate something to your experience (how it could help you, how it enlightened you about something, etc)

Also, be sure to link back to the materials you reference in your post.

Please let me know if you have any questions by email or in the comments below. I look forward to meeting everyone at the first class session!

Internet Intro

Reading through the Week 0 assignments was fascinating and really opened my eyes up to the inner workings of the Internet – something I definitely don’t think about on a regular basis, and definitely take advantage of. I especially liked the YouTube video about How the Internet works. Though it was quite simplistic, it gave a good overall view of how we actually receive and send information via the Internet.

As I continued to read through our assignments, particularly the Timeline of Software Languages, I was stunned to see how many I didn’t recognize, as well as when their birthplace happened during the 20th century. It amazed me to see how the beginnings of modern computer technology really stemmed from previous decades of new math and science. I did notice how my curiosity was peaked during many of the sections, so much so that I found myself Googling additional information to learn more about a particular subject or vocabulary term, or even looking for other explanations to help me learn the concept better.

My favorite article we were assigned to read was the Pragmatic Programmer’s Quick Reference Guide. Even though I didn’t quite understand what each of the tenets we’re referencing, it helped me frame what we would be learning in our first class, and definitely emphasized the fact that coding and website design was very precise, clean, and detail-oriented. Code could not be sloppy or hard to follow, which would then make correcting edits and fine-tuning different design pieces easier. I’m sure this will make more sense to me in the future as we learn more and more about the various coding languages and etiquette, but I think this article did the best for preparing my thinking for the first class to come.

I definitely felt overwhelmed about our assignments to come and the pace at which we would be learning and completing them, but I was hopeful and optimistic that I would be able to pick up the pace with the help of my fellow students, and of course Google. 

GitHub link:  https://github.com/lucynegash

Positive, Negative

I am currently sitting at a cafe in Oxford, England–a coincidental place to be learning about the history of the internet and programming languages since it’s the academic home of Tim Berners-Lee.

I’m a big history person, I learn by seeing the whole picture. The timeline pages were particularly helpful to me. I once interviewed a developer at this company called Mobelux, and he explained the basis of the programming to me. The punch cards, plusses and minuses–the positive and negative charges and how they relate to 1s and 0s, and how these very tangible things eventually became digital. He explained the hierarchy of programming languages in layman’s terms for me: the base of C and onward. These readings (and watchings) helped me string all of those ideas together in a more comprehensive way, and overall that is the main thing I learned.

The concept of computational thinking is new to me. But, in a way, it’s like saying that the concept of gravity was new to me in the second grade when I first learned about it. I particularly look forward to pondering it more so that the how’s of it become more settled in my head. Right now, it reminds of a wind-up toy that’s been given a task and we have to figure out what the task is and how much to wind up the toy so it can complete the task. I also enjoyed your blog post on the evolution of the how’s of thinking as opposed to the what’s. It is an infinite and ever-evolving thing. (It made me wonder if there’s any sort of predictable pattern that could be identified in history? Then I read your second post. I appreciated the everyday examples by Kim Pearson. I am NOT a math person, but I greatly appreciate math in this way. The labeling and identification of patterns. I enjoy discussing it, but I’m hopeless at identifying them myself!)

My main goals for this class?

  1. Learn how to do this so that I can be one of the more marketable content-producing Millennials.
  2. Be able to hold a work-related conversation with my brother-in-law (a coder) and know what’s going on.
  3. Be able to watch an episode of Silicon Valley and be able to understand more than the general stereotypes as described to me by my aforementioned California-based brother-in-law.
  4. Go back to my old Neopets account and blow my ancient HTML out of the water.

I like thinking about stuff in the abstract. Specifics are sometimes beyond. I hope that this class doesn’t make me pull out too much of my hair. Regardless, I look forward to next week.

My GitHub. (Hopefully by the time you view this my profile pic will have updated.)

 

Analysis

How the Internet Works in 5 Minutes

This was a very informative and artistically graphic video that explains the internet’s functionality. Essentially, the internet is a wire in which two computers can connect. When you communicate to another computer, such as sending a photo to a friend through email, it goes from your individual unique IP address to a router. As it travels across computers, the information is broken down and reassembled into identical wrapping as a packet, which is then sent through a server and finally reaches its destinations so that there is no conflict between computers or that it is sent to the wrong IP. It seems to be very precise and accurate way of communication, especially since it depends on IP addresses that are differentiated and internet service providers. I think this was important to watch because today, nearly everyone uses the internet, yet not many people know exactly how it works, even though it is a huge source of communication that makes other forms of communication, such as letters and mailboxes seem outdated. I think it’s important to know how the internet functions on a basic level of understanding because it has become a necessity in terms of communication, research, and networking, and that there is a lot more precision in terms of information transmission than I previously thought. Knowing how the internet works will improve my own communication online, both personally and professionally.

Timeline of Computer History

The early days of computer history, specifically software languages, have much to do with creating computer programming, coding, and algorithms in order to transmit information. In the first thirty years, different coding languages and information transmission was being innovated by many academics and experts. The goal of the early years seemed to aim towards completely tasks much more efficiently and quickly than human ability alone, such as the ERMA (Electronic Record Machine, Accounting), in which the article says, “in just one hour, ERMA could process the number of accounts that would have taken a well-trained banker nearly 17 workdays to complete.” During the 1980s, software developers began creating word processors, databases, and spreadsheets, while programming languages and operating systems were being developed and improved as well. Over time, the different coding languages, programming tools, and software became more niche, such as Mathematica, a programming language for those in the scientific and engineering fields, being created, or Photoshop, a well-known photo editing software being created for photographers and students. In the 2000s and 2010s, social media rises, which has been a major global influence, while Windows XP and Apple products continue to innovate each year to be more accessible, long-lasting, and updated.

I thought that this timeline was interesting because it gave an educational and detailed analysis of how computers developed from basic algorithms for information processing and transmission to being a cultural staple of networking, fast communication, social media and the subsequent effects on global society (i.e. how it fueled the Arab Spring protests), and information-gathering. Everything seems to be transmitted to online – such as Apple Pay, the mobile banking system, that reduces the need for cash and in my opinion, makes cash seem almost archaic in our increasingly technologically-advanced and technologically-focused and technologically-reliant society that seems to continue progressing in terms of computers and programming.

In terms of networking and the web, the early days of communication started off as military messaging through telegraphy. A major breakthrough was in 1949, in which the modem was created so that computers could communicate with one another through voice phone lines, which greatly improved coverage. Networks begin to develop over time, such a timesharing (first online communities), multiplexers (multiple connections on the same line), and ARPAnet (connects more than one computer together). Most significantly, the internet was born in 1973 and commercial networks continue to boom as well as its communication among them (such as the creation of the email). As time goes on, the internet commercializes and globalizes, which led to the development of online services and Wifi, and eventually the mobile market becomes mainstream. The development of networking and the web is interesting because it began very simply through telegraphs and had a military/political use, but now has expanded and become more accessible and arguably necessary for communication today.

Computational Thinking Part 1 and 2

The first part explores the idea of technology, programming, and web development in the context of journalism. The author communicates that through explaining computational thinking, which is a technological and analytical approach to problem-solving and understanding human behavior though computing. As a journalist, this author is interested in the relationship between journalism and computational thinking, and what shapes someone’s thinking. With the prominence of the internet in our individual lives (in many countries, governments consider the internet an actual necessity for standards of living, rather than an optional amenity for those who can afford it), there is so much information being pushed onto us, so does that mean our mindset is shaped by the internet and accessibility of the web and to what extent? As journalism continues to cross over more into web and less on print, what skills should journalists know, how can they better engage with audiences and reach and maintain audiences through the web, and how can computational thinking propel journalists in today’s industry? How necessary is it for journalists to have the knowledge and skillset of coding, programming, and other computational and analytical skills and experiences?

The second part delves deeper into applying computation to journalism in order to improve its efficiency and effectiveness. The author quotes, “A new way of doing journalism requires new technology to support and foster that innovation. That technology should reach right into the core of our journalistic endeavors, not just touch the periphery.” I agree with this statement in the sense that journalists should familiarize themselves with programming in order to better communicate with audiences. Without web development knowledge, even at the basic level, it reduces the capability for journalists to grow within their industries, as journalism crosses over into web. It is not that print is dying, but that more and more people rely on their mobile devices, particularly apps such as news organization apps, or they subscribe to news alerts on their phones. I believe this indicates that journalists should increase their skillset as this transition continues to grow and evolve over the years.

WordPress software philosophy

The main goal of WordPress’ philosophy is functionality and accessibility for all. It is clean and simple, geared towards the average person and not an advanced computer programmer familiar with computer science and technology. WordPress is committed to deadlines and expansion of the voice of users, even those who are not explicitly vocal with concerns. They value the freedom of distributions and are community-oriented. I think it is important that WordPress aims to be user-friendly, accessible, and simple, without compromising its functionality and quality, and as I previously mentioned, it is meant for everyone, including the technologically-inept and the technologically-savvy. I think it is also important that freedom is a core part of WordPress philosophy, and after reading this article, I have a better understanding of WordPress’ mission and why it is one of the most popular blog platforms for internet users across the world.

GNU free software philosophy

Free software is an important freedom for the internet community. According to this page, free software means that “users have the freedom to run, copy, distribute, study, change, and improve the software.” I think that the freedoms this page mentions, such as running the program for a user purpose and not a developer’s purpose, contributes to basic principles of liberty that allows for free reign, open communication, and both commercial and noncommercial development, while towing the line that crosses into piracy. I think that it is important that the article mentions freedom with the analogy of free speech as opposed to free beer, and provides and moral and ethical guideline for users that protects their individual liberties on the internet, while still being effective, accessible, distributable, and flexible.

Unix philosophy

Unix philosophy is a design-focused philosophy that emphasizes efficiency, conservable, effectiveness, simplicity, speed, and easiness to understand and rebuild or reconstruct if necessary. It’s about designing operating systems and writing programs that are clear, clean, transparent, robust and teachable that does not infringe upon a programmer’s time and energy. Similar to the free software and WordPress philosophies, simplicity is key so user-friendliness is important for its utilization and effectiveness. I think that this is important because the simplicity and accessibility allows for users to gain the maximum amount of benefit from using software programs, and helps me understand the way programmers think in terms of their approach to software development. As a journalist, it is important to know the programmers’ side of information and technology, so that I can better understand how I can communicate.

The Zen of Python

The Zen of Python breaks down the Python software’s guiding philosophy which also emphasizes simplicity, readability, immediacy, accuracy, practicality, sparseness, and explicitness. I think it’s important to be open, user-friendly, integrative, and communicative as a programming language, which not many people can easily grasp. Python’s goal is to push forward “immediate gains in productivity and lower maintenance costs,” which also contributes to the simplification that is in its mission. If software was overly complicated, I do not think that there would be much room for innovation or not many people would utilize it, such as journalists (many of which do not have much knowledge of programming). Journalism shares some of its values, such as immediacy, simplicity, explicitness, and accuracy, which I think would make it more adaptable and understandable to journalists who intend to educate themselves on software development.

The Pragmatic Programmer Quick Reference Guide

This reference guide provides tips to software development. Cleanliness is also an important part of this mission, such as fixing bad code and improving quality. The article focuses on problem-solving and rational fixes for debugging, code control, and abstractions. I think that this guide, which is also user-friendly, admits certain emotions that could arise from unreliable code, broken programs, and extreme focus in details, and how to properly handle them with actual concrete solutions, such as the tip to use a project glossary. For me, programming has always seemed to be a mathematical, straight-line, one-way approach of thinking and problem-solving, so I found it interesting that this guide mentions “don’t be a slave to formal methods – don’t blindly adopt to any technique without putting it into the context of your development practices and capabilities,” particularly because it seems to allow for more creativity, out-of-the-box critical thinking, and flexibility than I previously thought.

Computational Thinking and PR

Link to GitHub profile: https://github.com/tatyanaberdan

Out of this week’s readings, I want to address three that I found most interesting.

Firstly, although I am not a journalist and am looking to build a career on what many consider the opposite side of the communication spectrum (in public relations), I found many of the ideas in Professor Linch’s blogs on the connection between journalism and computational thinking applicable to the type of work PR professionals do , like debugging and defining your variables and functions.

One topic that has been touched on in every one of my classes at Georgetown so far is the fact that it is challenging for those of us in PR to prove the ROI (return on investment) for our work because it is often difficult to measure the real impact and effectiveness of PR campaigns or PR strategies. Most PR professionals draw on past experiences or instinct to guide their work rather than any type of models or systematic method. I think this approach is a major factor in why PR professionals are often not offered a seat at the table  or valued as much as those within a company that do work of a more “scientific” nature, like lawyers or even marketers. I think being able to create and use models to solve the crises PR professionals deal with and, in general, learning to look at PR work through the more structured lens of computational thinking would not only help us make better decisions but improve the credibility and public image of the PR profession.

Secondly, “The Zen of Python Language” is another reading that stood out to me, again because so many of the principles could be applied to PR work, like the idea that errors should never pass silently or that now is better than never.

Lastly, I want to highlight the “How the Internet Works In 5 Minutes” video because it was extremely helpful in giving me a better understanding of how the entire concept of the Internet and being “online” works. As someone who is completely new to the world of programming and web development, the video helped clarify terms I thought I understood but actually didn’t like server and IP address. However, the wrapped candy analogy threw me off, and I still do not quite understand how using IP addresses keep you from sending information to the wrong client?

Web Development Guiding Principles

Github: https://github.com/vkinnealey

As someone with very little background knowledge in web development the most striking take-away from the reading was the complexity and maturity of the different codes, ethics, guidelines, etc. that exist within the coding world. I had no idea that there were so many guiding principles that a coder was meant to follow and it raised a few questions in my mind. First, who created all of these guidelines and, given that there are different versions (e.g. Unix philosophy, notes on C programming, Zen of Python), how does someone know which one is “the” guiding principle to follow? I do recognize that they all carry a very similar message, but I can’t help but wonder if the varied versions create confusion and misguidance within the web development world.

Secondly, what is to keep someone from not abiding by the rules presented online? From my understanding they are not enforced in anyway, so if someone wanted to, for example, make it impossible for users to change or update their program, in direct violation to free software guidelines, is there anything that would stop them from taking that action? On a similar note, is it frowned upon if someone doesn’t follow certain guidelines, for example if someone wanted to keep their site “not free” as opposed to free content is that considered poor form in the web development world, or an acceptable personal choice?

Lastly, how is a beginner who does not have a course, instructor, or mentor, walking them through the world of web design, expected to find and learn the rules of the digital road? Web development and coding are still, in many ways, new territory that do not have, at least to my knowledge, the same oversight as other developed entities. Given the influence and power a website can have on the general public, as our WordPress reading said, those developing content only account for 1% of the audience actually reading and absorbing the posts, how is someone supposed to know if their content or web design abides by the digital code and is not accidently opening the door for software that could cause issues down the road?