Tag Archives: coding

Programming Language 101

Just as I was last week, people who have never had any close contact with programming are afraid that it is extremely difficult. However, it is worth realizing that programming is nothing but a process of learning a new language. Obviously, beginnings are always difficult, but once we learn our first programming language, studying new ones becomes easier. Right now, we are not learning programming because of the need to change a profession, but because it is important to guide our minds to a resourceful way of thinking, which is essential in the field of communication. Even if our careers are/will not be related to programming, these compact skills will help us to better understand the problems that can stand in our way in the future.

What’s more, learning programming involves not only acquiring new knowledge about coding in different languages, but is also a great way to work on ourselves. It is as effective as solving logic puzzles such as sudoku, which helps to train your mind. In addition, programming teaches consistency and organization. Namely, while writing a line of code, we must plan and implement next steps necessary to achieve a goal, which includes application of the most efficient solutions.

To conclude, a good programmer has to be like a writer. He/she should not only know programming languages – most of all, one must be able to think in an analytical way, to break down a problem and prepare component elements from which a given program can be later developed. Just as a writer creates his work to make it interesting for the reader, the programmer creates a program that is supposed to be as effective as possible. Thus, the ability to understand a problem, which often involves the need for interdisciplinary thinking, is essential. However, it all comes down to a programmer facing the need to translate the gathered knowledge into a programming language.

Learning the basics to code

Coding is an important skill more than ever today. It seems to be a skill employers are looking for more from aspiring journalists today. Learning the basics to it today reminded me of learning how to do different math problems back in high school or college. Not because the basics to coding are as complex, but because the process of learning of them is similar. Learning how to do a math problem usually starts by watching the teacher complete a similar problem on the board. Often, you will follow along and understand the steps the teacher is taking, nodding along as the teacher arrives to the answer. But, once you sit down to do a problem yourself, it is impossible to evaluate how well you grasp the material. Without the teacher’s help, you’ll come to understand what confuses you or what steps you’re forgetting.

Similarly, when I was going through the Codecademy exercises, there were times when I would run into trouble and use their “show me a hint” feature, which was usually helpful. But if I was still stuck, I eventually noticed that you could ask for the solution. While I appreciated that feature when I was stuck, I also think it offered a bit of false comfort. I could nod along and tell myself I just had a minor error and *basically* had everything right, that is not actually the case.

With coding, minor mistakes have enormous consequences. Or so it seems to a beginner. Forgetting to close a tag or include a quotation mark can make the difference between the code functioning or not. As we go along, I am trying to figure out the best way to learn through Codecademy — when to struggle with the code and when to ask for a hint, or when to struggle with the code and when to ask for the answer. Moving to the next slide was helpful in itself because, just like a math problem, sometimes you need to just look at a new problem.

Midterm Szn

This week was dedicated to finishing our midterm assignment, which turned out to be a bit of week off. Coming off of last week, where most of my classmates and I were confused, it was nice to research on something a little different. For me, I was able to focus on a project that combined my love of law, and the very intriguing things I am learning in this class. It was quite enjoyable to see these things mix. Along with seeing this, it sparked my interest to see if I could find different law schools that had similar design teams in their schools. It was one of the best aspects that came from the project that has opened my eyes to more things available. This school year has started to pick up and I am already feeling the pressure. While this class is a bit difficult, it is a change of pace compared to my other classes. While it has to deal with aspects of journalism, that is not its complete focus. It is an opportunity to engage in something new — almost foreign — and it helps end my weeks. The challenge is also something to look forward too, since I am not hearing the same jargon like in the rest of my classes. Having to find my own solutions to issues rather than just explaining it or convincing someone of an argument is something I enjoy about the class. The middle of the semester is almost here, time to buckle down and finish the semester off strong.

Getting Over the Mid-Semester Hump

The midterms are in. The gallery assignment was rough and left my confidence a little shaken.

However, writing the midterm restored a little confidence in my ability to get into development. My subject, Diana O. Eromosele, had a journalism background but switched careers (for the second time) after noticing that the journalism world was changing and there might be no room for her.

Her confidence and determination made it seem like a real possibility to get into that field, or at least learn some more basics. She used her coding skills to build an application that categorizes politicians and influencers’ tweets by issue. Because of her unique perspective, she was able to create a tool that was helpful to change a social atmosphere.

Just imagine what kinds of things we could be building if we had diversity of thought in that white male-dominated field. I don’t know what I thought web development was before, but I had it all wrong. I never realized the power in knowing what’s “working underneath the hood,” as Eromosele put it.

If an urban girl from New York City with a liberal arts background can do it, so can this New Orleans girl. I want to leverage that power, not only in journalism but in social change. I don’t know how yet, but I just know I feel like the wool has been pulled over my eyes for far too long.

I’ve also been using the principles I’ve learned in this class in my everyday life, especially the DRY principle. I’ve found countless ways to automate the things I’m doing and it’s been very helpful in this stage of my college career. I’m a senior with e-board positions/campus involvement, an editor of the newspaper and I’m taking 17 credits, on top of being out of town multiple weekends throughout the year. It’s been vital to create processes that make my jobs easier. Thinking like a web developer has been my saving grace this semester.

Dr. Todd Shurn Speaks Computer Science

Dr. Todd Shurn is an associate professor in the Computer Science program at Howard University. He earned his Bachelor’s (1983) and Master’s (1984) of science in industrial and operations engineering from the University of Michigan. He went on to earn a Ph.D. in computer science and engineering from Southern Methodist University in 1994. Dr. Shurn’s specialties include interactive applications, computational optimization and engineering and computer science entrepreneurship amongst many others. His research includes games, service oriented programming, agriculture applications, and immersive applications. Dr. Shurn has taught various subjects at the Howard University School of Communications and computer science program, such as video game development, interactive multimedia applications and discrete structures.

Dr. Shurn had many early influences and life-shaping moments. He explained that he is from Benton Harbor, Mich., a predominately black city that was taken over by the state of Michigan. Benton Harbor has a very high crime and unemployment rate. He explained that he did not want to be in a position where he was a part of the negative entities that surrounded him in his community. Thus, he strived to acquire a skill that would allow him to define his own way. That is what led him to computer science. Making sure that he was in a position to define his own way despite his surroundings is what affects his decisions still today. Dr. Shurn also explained that the reason why he came to Howard was to work with black students and be a part of the movement of empowering the community to have better representation in computer science fields, whether it was games, blockchain, interactive media etc.

Dr. Shurn explained the necessary qualities that are important for a developer to have are commitment to finishing the job, resourcefulness and confidence in your skill set. That’s because, when developing original software, there is always the question of rather or not your goal is accomplishable in the first place. Thus, those qualities are important to reach your end goal. In addition, Dr. Shurn mentioned that he appreciated the creative side of software deployment and that it enables opportunities for the black community to create jobs within the community, due to the many areas where software is deployable.

One of Dr. Shurns current projects involves blockchain technology. Merriam-Webster defines a blockchain as “a digital database containing information (such as records of financial transactions) that can be simultaneously used and shared with a large decentralized, publicly-accessible network.” Dr. Shurn mentioned the Black Blockchain Summit, which was recently held at Howard University. The summit’s website states that the purpose of the summit is to “convene Blockchain technology developers, entrepreneurs, and enthusiasts to present Blockchain applicants for solving challenges worldwide. The objective of the summit is to find innovative and lasting solutions that disrupt the unsustainable status quo, bringing lasting prosperity and independence as envisaged by freedom fighters and liberators in the ‘Arusha Declaration.’ ” Dr. Shurn gave much insight about the implications of blockchain.

Dr. Shurn explained that one of the utilities of the blockchain is that it creates an immutable record that parties can agree to. For example, if there is a land transaction, that transaction can be documented in a blockchain in a way that is indisputable. It is unchangeable and its validation is not dependent on any particular government or political organization. This notion, particularly in underdeveloped countries is major because you can, for example, stake out a deed for land or another resource and no one can dispute the transaction because the transaction is documented on computers around the world. Blockchain does not even allow users to pull documented transactions off their own systems. However, if that was to occur, the rest of the users in the network would still have the record. A possible con of blockchain technology is due to the fact that blockchain transactions cannot be changed. So if someone executes a transaction that they are not satisfied with, there is no way to undo it. The only possibility is to do another transaction. Thus, proper procedures and guidelines to ensure the accuracy and integrity of a transaction before entering must be established. When asked if he thought the implication was positive to use blockchain for transactions such as voting and taxes, he agreed and added that another major notion for blockchain deployment is using the technology to track nuclear material (waste and material for weapons). Another aspect that Dr. Shurn mentioned that made blockchain especially notable for undeveloped and African countries was its ability to transfer currency that it is not controlled by any one government or bank. The digital currency bitcoin for example is the same all around the world. Thus, governments cannot repress citizens with measures such as raising the cost of a product or not making something available. Dr. Shurn explained that it was relatively the equivalent of providing the ability to make international purchases and have the products sent to you.

Another project that Dr. Shurn is currently working on is “Smart Cities”, which is a system in which sensors are put in roadways that interact with cars and in waterways that identify pollution. Dr. Shurn explained that a current major emphasis in development is developing code around real-time sense-data, which means that inexpensive sensors can be deployed (in the ground, water systems, the air etc.) and decisions can be made in order to control what is desired to be controlled. For example, low-cost sensors programmed with software that can read water levels and pollution to control gates in a sewer system can be deployed to improve optimal water flow and to ensure that the treatment center is getting the most polluted water first. The Smart Cities concept involves computer science, electrical engineering and mechanical engineering.

Dr. Shurn explained that he is an avid reader and participant in workshops and conferences to keep up with the constantly changing and evolving field of technology. When asked if he came across any problems or challenges in his computer science journey, he explained that he did not consider his challenge to be a problem but an opportunity. The broad domain of information technology (database, cyber security, network optimization, artificial intelligence, human computer interface etc.) makes it somewhat challenging to identify a core expertise. Dr. Shurn made some decisions in terms of the skill set within that space that he wanted to develop, which was network optimization (logistics, optimization, getting data from point a to point b efficiently, etc.).

In closing, a last message from Dr. Shurn for individuals who might be interested in the field of computer science was to reiterate the idea of identifying an area of specialization. In addition, he encouraged showing initiative by participating in competitions, which is very important (rather it is cyber security, robotics, programming, steel bridge design and other design competitions etc.). This is a means to test your creative skills and try to develop it as much as possible to solve problems. Lastly, for communications students, Dr. Shurn advised that learning how to code makes a communications student more employable. In addition, because technology is so heavily involved in the field of journalism, many reporters have to know how to interact with content management systems and conduct their own data analysis. Thus, Dr. Shurn shared with me that a major Journalism outlet views reporting as more of a data analysis type of endeavor, compiling data from various sources. Due to this, he has experienced that particular journalism company often recruit people from the computer science department at Howard, because their idea is they can teach the computer science student the journalism skills on the job. I had a very insightful conversation with Dr. Shurn.

 

The Legal Design Team and Their Endeavors

My main academic interest throughout undergrad has been in law and the legal system. A few weeks ago after brief research, I came across a group called “The Legal Design Team.” They are an interdisciplinary team based at Stanford Law School and working at the intersection of human-centered design, technology and law to build a new generation of legal products and services. They have a track record of developing a few apps designed to help navigate different aspects of the law — from what to do with the deed of your house after a natural disaster to communicating with legal professionals for advice.

The Court Messaging System app has been the most effective. The initiative is designed to improve the number of people who actually appear for their scheduled court dates. The Legal Design Team believe that what is arguably the most widespread form of communication, SMS messaging, tied along with web interfaces used my court employees, can be combined to produce the most effective way to get individuals to attend their court dates. They have already established this system in various judicial districts to help improve attendance rates. It’s an interesting topic to see the connection between a back-end interface and a front-end interface. I plan on doing a small profile of the developers who’ve worked on the project, but mainly discussing what elements they used to create this website to aide these judicial districts.

Two of the key developers from the Legal Design who worked on this project are Briane Cornish and Margaret Hagan. Cornish,  who has facilitated and participated in legal tech and design workshops, was born in San Jose, Calif. and raised in Brooklyn, N.Y. She received her B.A. in English Literature and a Certificate in Ethics, Law and Society from Tufts University and her J.D. from Stanford Law School. Hagan is a lecturer at Stanford and a fellow at Stanford Law’s center on the Legal Profession, working to bring law and design together. Margaret holds a J.D. from Stanford Law, as well as an A.B. from the University of Chicago, an M.A. from Central European University in Budapest, and a Ph.D. from Queen’s University Belfast in International Politics.

The problem the app attempts to address is the alarming rates people with court appointments didn’t show up. The Court Messaging System is designed for two specific users: the court employee and the individual they are trying to reach. The designers first staged a specific scenario to gauge whether or not this tool would be effective. They first asked those who could benefit from the system what did they not like in the previous way courts communicated with people and was there anything they liked. The most important part for the creators was to make the system more efficient and in sync with the already-available technology. This was all in an effort to see if the scenario staged is could potentially be a real scenario. They then developed a system map, which functioned as a draft to show the operations of the would-be system. The idea was to decide which kind of interface would best be suited for civilians and the court employees based on the scenario they created, but this was not the final version of the system. It was a prototype they could show to would-be users of the system and receive feedback.

The main coding at hand was an effort to make the back-end interface, which was being used by the court employee, able to: provide for data entry, give confirmation emails of sent and received items, and customize user information and preferences. In order to develop a back-end interface that can be used with other front-end interfaces, such as mobile phones, coding languages such as AngularJS, jQuery and Bootstrap CSS were used.

The designing of an SMS system that allows for an automatic response and release of information to litigants is a key advancement of the legal future. It makes for a more efficient and effective form of communication that hasn’t since been seen in the legal system. The reminders and calendar events sent straight to an individual’s phone are key. The main goal of the designers was to combine their love for web design along with the legal system and provide a cost-effective solution to an issue facing many legal districts. Using these systems and allowing for continued customization and improvements, the Court Messaging system has already proven its worth. By addressing what were once alarming rates of missed court appointments, this project has an opportunity to be seen as one of the key advancements of the legal system.

Diana O. Eromosele: Developing Software that Matters for People that Matter

The year was 2016. It was a scary time for journalism. Publications were issuing out layoff after layoff. The infamous “pivot to video” loomed ahead. Diana O. Eromosele was a 26-year-old working at The Root. She had been fairly successful in journalism, having landed a CNN Editorial Fellowship prior to her job at The Root.

At 26, however, dreams are quickly overtaken by a need to survive — and pay rent. It was then that Eromosele decided to make her second career change. She had already taken an unconventional path to journalism. After completing an undergraduate degree in political science from Duke University, she worked full time in communications.

After a change of heart, she began working on a graduate degree in journalism at Georgetown University, which granted her eligibility for a CNN journalism internship. After CNN and The Root, with a couple years of journalism experience under her belt, she began to look for something more stable. She was browsing The New York Times when she noticed publications were laying off some of their best writers and editors.

“If this 20-year veteran is getting laid off because there are no jobs, what does the future look like for me?” she asked herself.

She needed a job that she could pivot into quickly and affordably, that would pay her bills and allow her to use all of her current skills. Software development checked all of those boxes, so she began her journey with a 3-month stint at Dev Bootcamp, a software engineering bootcamp designed for professionals to learn coding and be job-ready at the end of the program. Her class was dominated by people between the ages of 20 and 30, looking to change their careers.

“For me, it was do or die. It wasn’t just a hobby. I knew I wanted to transition. I knew I wanted a higher-paying career that was a bit more stable,” she said.

A few of her colleagues had already begun the transition and urged her to come along. She is now a full stack software developer at Newsela, an instructional content platform that allows users to read content at different levels. With the click of a button, educators can read an article at a second-grade reading level with their students.

Eromosele loves what she does now. “The beauty of software engineering is that whatever field you come from, every industry requires tech, requires applications they can use to make their processes faster or offer better services.”

One of the most common misconceptions, she said, is that you have to be a nerdy white male who plays video games in your mom’s basement to be a software developer, or that she sits at a computer all day staring at ones and zeroes.

While it is a white male-dominated field and being an African-American woman places her into an underrepresented group in web development, she has been able to use it to her benefit. Dev Bootcamp granted her a scholarship to attend because of her minority status.

Eromosele is dedicated to changing stereotypes and creating a space for diverse mindsets. Google’s annual diversity report reveals that about 53 percent of its workforce composition is white, with the closest minority group being Asian people at about 36 percent. Black people comprise merely 2.5 percent of its workforce and Latinx people comprise 3.6 percent.

Eromosele basks in her differences. “I’m an urban chick from New York City. I come from a liberal arts background and I love to code. I like to build things. I don’t think like anyone else,” she said. “I’m going to build things that have a social justice component.” Because of the lack of diversity, she receives emails and calls from companies heavily recruiting people like her.

She has leveraged those differences to create a tool called Categorized Tweets. It is a Rails app, running Ruby on the back end and JavaScript on the front end. The tool separates the tweets of politicians on local and national levels into nine categories, based on issues. She got the idea as a project during her bootcamp, after wanting to create a tool that would allow the average person to have an idea of what is going on in politics.

Tweets were an easy pick to build the tool around because of their brevity and the simple language that politicians have to use on the application. Combining her interest in civics and her liberal arts and journalism backgrounds, she was able to create a tool for people like herself.

Though she received pushback when she initially presented the idea, she continued with it and built the back end the next day. Upon its launch, it was so successful that she decided to launch it as its own entity. Most recently, she added a category of tweets for the polarizing Kavanaugh proceedings after seeing how active everyone was on Twitter, voicing their opinions on the matter.

She wants to continue building useful tools like Categorized Tweets and encouraging not only minority groups, but everyone to learn software development. “The tide is turning,” she said. She predicts that coding will become one of the core subjects taught in schools. She urges minorities to start building things that interest us and learning from people who look like us. With the future looming, it is imperative to have a stake in our narrative and create tools that are reflective of our entire society’s needs.

The Genius of jQuery

So up to this point, I understood that everything had its place on a separate file. It’s kinda like how people in the different schools stick to each other. But here we are as journalism majors, taking a very computer science-y class. We’re bridging that gap and putting our different skillsets together in order further our journey into the coding world.

I think learning jQuery after being introduced to HTML, CSS, and Javascript is much like our figurative bridge we made between journalism and web development. jQuery makes it easy for developers to target HTML elements and make them interactive. Much like the hierarchy system in HTML, the Document Object Model (DOM) is set up like a family tree. We can even refer to elements as parents, children, and grandchildren of another element within the code.In addition to targeting elements by familial relationship, we can target them by closeness to a current element. Another pretty cool function is the find method. This is a way to target a singular method out of a group of descendants to an element.

Going into this week, I was pretty nervous about learning something new. JavaScript kinda killed my confidence, but jQuery helped me redeem myself. I understood the concepts and caught onto the coding formats pretty quickly. I’ve also come to realize it’s much better to at least grasp the concepts rather than just be able to regurgitate out code.

 

Coding for Dummies(me)

The introduction to HTML this week has shown me that it is the most complicated simple thing I’ve encountered. Even lesson 1 which started off very simple then became into almost a new language (which it is). Although it was a bit tough, I found myself actually enjoying the work I was doing.

After the coding lessons it is quite interesting to see how websites are broken down into a couple of <p>’s, <h>’s and a few backslashes. While it is obvious that if you write some certain letters and numbers together a website will be produced, it is crazy how truly simple this process is and that it can also be learned on a basic level even for free. Although it is said that memorizing these tags tags, can lead to being fairly fluent in this type of coding, it is shocking that there is a belief that something such complex could be easily understood through a basic series.

After seeing the first lessons of coding, I can’t help but think that I was born too late. I feel like if I had expressed an interest in coding while being born 10/15 years before, I could be the creator of Facebook or any other popular social media. The act of just adding more numbers and letters right under previous ones in such a fine tuned manner seems like it only took a matter of time. I do know it is obviously a lot more than the way I’m explaining it, but I appreciated that these lessons even gave me the confidence to feel this way about websites.