Tag Archives: coding

People of Ability

Group of business people assembling jigsaw puzzleIn my volunteer positions I have worked with youth of different abilities, often called disabilities. These youth may be mentally, physically, or emotionally disabled. Despite these disabilities, they contribute greatly in various ways and have taught me many lessons that I carry with me. In this blog post I will highlight some stories of people with disabilities who contribute to the field of information technology.

Meticulon Consulting

I have worked with people on the autism spectrum who are excellent programmers. They are methodical, meticulous, and often very creative. They like routine work and excel at logic challenges such as coding. In a recent article, Meticulon Consulting, a Canadian technology firm, was highlighted for hiring people with autism. Their experiences were the same as mine. The people they hired were meticulous, hard working, and loyal to the firm. Meticulon co-founder Garth Johnson makes the point that he is not hiring people with disabilities out of sympathy but because it makes good business sense. Johnson said, “I’m not interested in this as a charity. If we can’t prove business value, then I don’t view it as sustainable for our employees, either our typically enabled or our people with autism.” Other companies cited in the article are coming to the same realization. It makes good business sense to hire people with disabilities.

SAP

The German software giant SAP shares that experience. Their goal is to have one percent of their workforce from the autism community by 2020. This goal came out of a project with the Autism Society of India after SAP programmers created software to help children with autism communicate better. The project was successful so the employees proposed a pilot project to hire adults with autism. SAP recognized the fact that these new employees come with a different perspective and a fresh set of eyes. Jose Velasco, a SAP executive and head of the Autism At Work program said, “There is a skill set people on the spectrum are bringing that has business value.”

Physical Disabilities

In our AIM Program course, Information Systems and Management, we talk about the stereotype of technology workers who are more comfortable with computers than with people. Whether the stereotype is valid or not, it has nothing to do with physical abilities. I have worked with people with hearing or vision impairments or other disabilities who love technology as much as I do. An employer may need to make some accommodations for them, but in my experience it is worth the effort; they bring a rich skillset and unique perspective to a project or an organization.

Thoughts

I believe that we need contributions from people of all abilities in order to make a strong and complete team. We all bring different skills and experiences to our work so the fact that we don’t all think alike or move the same should not make a difference. I would like to hear about your experiences working with people with different abilities. Are there benefits or drawbacks? Let me know.

Author Kelly BrownAbout Kelly Brown

Kelly Brown is an IT professional and assistant professor of practice for the UO Applied Information Management Master’s Degree Program. He writes about IT and business topics that keep him up at night.

Will Computer Science Displace Classic Education?

Photo of 4 elementary school children typing at desktop computers.I believe that technology is now a routine part of our lives and I have been thinking lately about how much effort we should spend educating young students about computers. I read an article that highlighted a push to make computer science mandatory in German schools. My question is, has technology become so commonplace that we treat it like running water and electricity, or can it still provide a competitive advantage for a community or a nation?

Keeping up on Technology

One of the concerns of German lawmakers, which is shared by officials from other countries, is that their students will fall behind and not be able to fill future technology jobs. According to the head of German digital industry group Bitkom:

“IT skills are now as important as the basics. Digitisation determines our everyday lives more and more, for leisure time as well as for work. Schools must teach about media literacy beyond the classroom and give students a firm grasp of IT technologies.”

Suddenly, the tech kids are the cool ones in school. This follows the recent emphasis in schools in science, technology, engineering, and math (STEM). The theory is that partly because of the proliferation of technology, the best and most advanced jobs will go to those who are trained in those areas.

Code.org

In a blog post last year I highlighted the organization Code.org that believes that “every student in every school should have the opportunity to learn computer science.” They are working to increase access to computer curriculum, particularly for women and students of color. Just as the lawmakers in Germany are advocating, Code.org believes that computer science should be part of core curriculum in schools alongside biology, algebra, and chemistry. While I agree that computer science is important as part of a STEM curriculum, I wonder which classes we should drop to make room for it?

Curriculum Replacement

A recent PBS article highlighted a similar push to introduce coding courses in schools in Australia. Computer science curriculum, according to the article, will replace geography and history courses. I am sure that the change will generate a lot of debate around the virtues of a classic education versus a more modern education. It leaves the door open for ongoing conversations around curriculum mix and what students actually need to succeed in the future.

Thoughts

To circle back to my original question, is it necessary to add specific computer science curriculum to schools? Or has technology become so pervasive that everyone knows how to use it, but only a few need to be able to create new and unique applications? In the same vein, should we also introduce mandatory physics courses as well to better understand the underlying hardware? Finally, which courses would you replace? As you look back on your education and career, which classes have shaped you the most and why? Let me know your thoughts.

Author Kelly BrownAbout Kelly Brown

Kelly Brown is an IT professional and assistant professor of practice for the UO Applied Information Management Master’s Degree Program. He writes about IT and business topics that keep him up at night.

The Information Umbrella’s Best Blogs of 2014

Happy New Year from the AIM faculty and staff!

Our blog writers’ curiosity took some surprising turns in 2014, which sparked us to ask what resonated with you readers. Below is our list of most popular blogs of the year, with a special challenge to astrologers to make sense of the odd coincidence involving publication dates.

Hand holds the world#5 Our Shrinking World

AIM blogger Kelly Brown ponders the question “With everything we have in place, are we really tapping the potential of a shrinking world or still limiting ourselves to the familiar surroundings and friends to supply us with answers and advice?” From April 15, 2014.

parade
#4 So We Had a Parade

Guest blogger Tim Williams, a 2000 AIM graduate, an adjunct instructor for the AIM Program, and COO of Sesame Communications, shares his thoughts on his experience in organizational culture and team building. From July 15, 2014.

digital vortex#3 The Dark Side of the Deep Web

Kelly Brown’s curiosity takes him deep into the layers of the Web. Think onions and murky depths. From April 8, 2014.

overstuffed garage#2 A Terabyte of Storage Space: How Much is Too Much?

How much storage is enough? Kelly Brown calculates just what will fit into 1,000 gigabytes. From July 8, 2014.

 

child using computer#1 Too Many Coders?

Are there too many coders to meet the needs of the future? Not enough? That question resonated with more Information Umbrella readers than any other in 2014, rocketing this blog post to top spot for the year. From February 18, 2014.

 

What do you want to read about in 2015? Send us a message with your ideas.

Don’t miss The Information Umbrella next week when Kelly Brown scores a touchdown with a timely topic!

Streamline Software Testing with Data Driven Automated Testing

Today’s post is written by Michael Grater, a 2005 graduate of the AIM Program and Quality Assurance lead at R/GA, a digital design firm that provides applications, design, and digital advertising for some of the largest companies. In this blog, we asked Michael to share his thoughts on his experience with the automated software testing process and provide methods on how you can improve your own testing and quality assurance.  In software testing, it is very difficult to anticipate all of the different actions that an end user might want to take. Large applications can often include a million lines of code or more and it is incumbent on the quality assurance professional to test all of the potential scenarios within the application. It is very cumbersome to test these paths one at a time, so it is common to automate the testing into a series of repeated scenarios.  This is much the same as employing a robot to test the new iPhone 6 to ensure that the customer experience is error free.  Often, a 100% success rate is impossible because of the complexity of modern applications, but the method proposed by Michael below will make the process quicker and more efficient and will uncover a higher number of errors that would have otherwise slipped into the final version of the software. 

shutterstock_162820130There are instances in the software testing process when in a shortened amount of time you either have a large number of scenarios to cover or a large number of features. These scenarios may also involve running the same tests repeatedly over a period of time. In cases like this, it becomes advantageous to use a method of test automation known as “data driven testing.”

 

As an example, in most cases, when viewing a login screen, there are essentially two fields and a button, and the steps would look like this:

  1. Open URL,
  2. Click on Login link,
  3. Enter User ID/email address,
  4. Enter password,
  5. Click on login button.

At the same time, there are multiple scenarios when it is necessary to test such features as:

  1. Entering a valid user ID and invalid password,
  2. Entering an invalid user ID and valid password,
  3. Leaving the user ID field blank but entering a password,
  4. Entering a user ID but leaving the password field blank.

Using an automation test tool, the steps can be programmed once and consist of entering a user ID, entering a password, and clicking on a button. Then the test can be configured to run based on data in a file (spreadsheet, flat file, xml file). The data is imported into the test and the execution steps leverage the data to either enter values in fields, provide URL links to be opened, or code values that are equal to features such as buttons or navigation.

The logic behind the test would look like this:

Load data file (contains URL, User ID, and password data)

If

  • Open URL (variable, parameterize),

–  Pull value from data file—insert into test,

  • Click on Login link,
  • Enter User ID (variable, parameterize),

–  Pull value from data file—insert into test,

  • Enter password (variable, parameterize),

–  Pull value from data file—insert into test,

  • Click on Login button.

View page—confirm successful login.

Is there more data?

Then, go to the next record.

Although the test consists of approximately four or five steps, it is configured to loop and execute based on the amount of data stored in the file.

The benefit of doing it this way is that the test can be reused over and over again. If a particular feature has to be retested, the automation test can be executed, generating a report of whether the tests have passed or failed. This also frees up QA staff and allows them time to focus on other areas of the project to test, maybe in places where automation is not an option.

When working with test automation, having adequate time to plan, setup, and verify that the test is working correctly is needed. Test [R1] automation can become a very efficient way to test software but it is not always a viable solution.

This concept can be applied to any automation tool. In my current position with R/GA, we’ve used this technique on multiple projects with tools such as Selenium and Jmeter.

Michael Grater

QA Lead, R/GA New York

Too Many Coders?

Child using a computer with binary code on the screenI have been reading a number of articles lately lamenting the fact that we do not have enough programmers or coders in America and not enough students are entering and graduating from computer science programs. The Kentucky Senate last week passed a bill that would allow for programming classes to count as foreign language credits in public schools. The bill still needs to pass the Kentucky House to become law. There is also the oft-quoted number from the National Center for Educational Statistics (NCES) that only 2.4 percent of current bachelor’s degrees are awarded to computer science majors.

The Argument

I think that the argument is overly simplistic and ignores cycles, needs, and capacity. In terms of cycles, there is a reason for fewer computer science majors today. If you look at the historical trends in computer science degrees displayed in this interactive chart, you will see that computer education peaked at 4 percent of all bachelor’s degrees in 1985 and again in 2004. I believe that the introduction and popularity of personal computers in the late 1970s and early 1980s led to the first peak. It takes four years to complete a bachelor’s degree, so the cycles are offset. Similarly, I believe that the second peak was because of the dot com boom of the late 1990s and very early 2000s. In both cases, it was very cool to be in computers and desirable to pursue computer education. Conversely, the troughs occurred in 1995 and 2009. By 1990, computers had become commonplace but we had not yet entered the Internet boom. In 2004–2006, sizable tech companies and Internet companies such as HP, IBM, EDS, and Cisco were laying off large numbers of employees. My belief is that during the layoffs, an education and career in tech did not look very enticing. Computer science degrees have come out of the trough since 2009 and are on the rise again; that may be in part attributed to the boom in mobile computing. Computing is cool again.

Broad-based STEM Education

That being said, I am a huge advocate of science, technology, engineering, and math (STEM) education, and I think all students should be solidly grounded in those disciplines. They can take that education and those skills into a number of vocations and professions. I don’t believe, however, that everyone needs to become a programmer or be proficient in programming, despite the proclamations of Mark Zuckerberg and Barack Obama on Code.org. I laud their efforts to at least introduce coding to all students but it is just one small part of a larger education in technology and science.

There are other emerging fields that are outside the boundaries of traditional computer science. Perhaps it is a matter of semantics, but students should also consider a career in bioinformatics, which is a combination of statistics, computer science, and biology. This is a chance to apply computing and data analysis skills to the task of gene sequencing and other biological research. There are other emerging fields as well, such as robotics and materials science. Work in all of these specialties is going to take a solid background in math, science, technology, and even some programming. They are all exciting areas waiting for those willing to tackle the rigorous work necessary to make a break through discovery.

My Thoughts

These are exciting times to be involved in computing and analytics and there are diversified disciplines looking for those skills. I think the key to the future is a solid applied STEM education that will prepare students for the challenges ahead. The opportunities are broad and other possibilities should not be ignored by focusing only on programming skills or computer science degrees. What do you think? Let me know.

Author Kelly BrownAbout Kelly Brown

Kelly Brown is an IT professional, adjunct faculty for the University of Oregon, and academic director of the UO Applied Information Management Master’s Degree Program. He writes about IT and business topics that keep him up at night.

 

The Marriage of Art, Copy, and Code

In our current Information Design and Communication course we are talking about infographics and how they convey information differently than pure print or pure graphics. They take the best of both worlds and hopefully reach a mixed audience of people that are visually oriented or linear sequential (left to right, top to bottom). I have been thinking lately about how infographics can become animated or even interactive. This is already starting to happen in terms of self-directed information graphics. I have also been thinking about how this will creep into advertising and how we can create more personalized advertising. I recently viewed a video at redsharknews.com that gave me a glimpse into the future: the marriage of art, copy, and code.

Art

It used to be that art was very static and very tangible. Whether it be a fine painting or a sculpture, it is permanent and meant to be viewed by many people many times. Art is becoming more digital and more dynamic. With increasing screen resolution, images are more vibrant than those on a static canvas. Digital can also mean temporary, whether by design or by accident (forgot to back up). This new medium is increasingly being used in print and dynamic advertising and is very effective in communicating the message.

Copy

Someone still has to write copy for all of the advertising. In the age of social media, people are looking for concise information and advertising that breaks through the chatter and informs. Consumers are becoming more sophisticated and in many cases, more jaded. It does and will take a very talented copywriter to craft the script for future advertising. The same advertisement may be seen on a television, a computer, a handheld device, or other devices. How do you craft a story for all of those potential viewers, or do they each get their own custom version?

Code

Here is where it gets interesting. Because of the dynamic nature of art and copy and a new sophisticated audience, it takes a skilled software person to knit it all together and make it personable, relevant, and timely. As in the example I shared above, the ad needs to be about you, where you live, what interests you have, and what possible connection you might have to the advertised product. It’s about me, here, and now.

Thoughts

In the future, will the same person possess all of these skills or will it continue to be a team effort? Is it possible to have art skills, copy skills, and coding skills in one package? Are we training upcoming professionals in all of these areas or at least to be aware of the other professionals that they will be working with? It will take some skillful teamwork to pull this off but, with the right collaboration, it can be real magic.

 

About Kelly BrownAuthor Kelly Brown

Kelly Brown is an IT professional, adjunct faculty for the University of Oregon, and academic director of the UO Applied Information Management Master’s Degree Program. He writes about IT topics that keep him up at night.