Carl Beery photo
Carl Beery shows the project that earned him four achievements in the Mastery Challenge.

Carl Beery, a junior in electrical and computer engineering, took first place and a cash prize of $150 in the Mastery Challenge for winter term.

The Mastery Challenge is a new extracurricular program hosted by the School of Electrical Engineering and Computer Science at Oregon State University to provide more hands-on learning opportunities for all students, regardless of major. The program is based on a concept called gamification which uses elements of game playing, such as leader boards and badges, to motivate participants to gain new abilities such as 3D modeling and Python programming.

Beery had already been working on projects on his own, but he realized the Mastery Challenge would give him a better framework for learning new abilities and more motivation for completing tasks.

“The Mastery Challenge is a good starting point to learn about topics you wouldn’t have thought about trying on your own,” Beery says. “Without it, I wouldn’t have learned how to laser cut, and laser cutting is pretty cool.”

To participate, students login to the Mastery Challenge website with their university account to see the list of challenges for which they can earn achievements. In winter term two cash prizes were awarded — one for the highest number of achievements, and a second was awarded randomly to anyone earning at least one achievement.

Beery had completed eight achievements and was tied for first place when he realized a project he had been working on for class — an audio amplifier — would qualify him for four more achievements. He simply videotaped his class presentation and uploaded it to the Mastery Challenge website as proof of completion.

“The experience Carl had was what I was hoping for — a fun way to gain new skills that will benefit him in the future as he enters the job market,” says Don Heer, creator of the Mastery Challenge program and instructor of electrical and computer engineering in the College of Engineering.

Mike Rosulek

Mike Rosulek, assistant professor of computer science, was selected for a Google Research Award for a grant to advance methods of customer privacy. The award will allow Rosulek to hire a graduate student to work on the project, and give them the opportunity to collaborate with Google researchers and engineers.

“I have lots of ideas in this space, and it will allow me and a student to dive in head first exploring them,” Rosulek says.

Companies are looking for inexpensive ways to share information with each other without violating the privacy of their customers. For example, two companies may want to find out which customers they have in common. A tool from cryptology called private set intersection allows two parties to find items in common on two separate lists without revealing anything else from those lists.

One part of Rosulek’s research seeks to strengthen the security of private set intersection tools while keeping the costs reasonable so that companies are more likely to adopt good practices for keeping their customer’s information secure.

Another part of the project will work on flexible (or “fuzzy”) matching of items on lists such as addresses. Names and street addresses may have differences in spelling, so looking for exact matches between two sets can be too restrictive. Rosulek’s research will seek to modify current techniques to allow for “close enough” matches.

“I’m excited to see that Google is interested in these advanced cryptographic tools. I’m excited that the techniques can be used to protect sensitive user information. And I’m excited about the new technical and mathematical challenges on the roadmap,” Rosulek says.

photo of Danny Dig

Danny Dig and his colleagues discovered widespread problems in mobile app development that can cause applications to be unresponsive and “freeze.” After looking at over 1,000 open-source mobile apps, they found two main problems — underuse and misuse of asynchronous programming.

“It’s very easy, if you are not careful, to write a mobile app that is unresponsive,” Dig says. “The number one culprit for a frozen app is that a programmer has written a blocking call, such as accessing the cloud, on the main thread that processes other user-interface events and actions.”

The solution is to move the blocking calls into the background with asynchronous programming. Dig’s team has sent out hundreds of patches to developers to fix the problems in their code, and they have created tools that developers can use to find and fix asynchrony errors. Their webpages LearnAsync.NET and refactoring.info/tools give many examples of asynchronous programming and access to the tools.

“Now what I want to do is help people avoid making those mistakes in the first place,” Dig said.

As part of his educational efforts, Dig will be presenting in Portland, Oregon for the Technology Association of Oregon in June. The cost is $25 for members and $45 for non-members.

The presentation will be a technical overview of why asynchrony is important, it will include descriptions of the common pitfalls and best practices, and he will also demonstrate the tools he has developed.

“I see this as a way of transferring knowledge from research into practice, but it’s also important for me to have a dialog with programmers. I bring back their feedback to the research,” Dig said. “So, this is a fabulous event for me to establish those connections.”

Story by Rachel Robertson

Photo of Brett Case, Logan Phipps, Taegan Warren.
Computer science freshmen, Brett Case, Logan Phipps, and Taegan Warren (left to right), won honorable mention at QuackHack.

Computer science freshmen, Brett Case, Logan Phipps and Taegan Warren had completed just one computer science class at Oregon State University, but their lack of expertise didn’t stop them from participating in QuackHack. The 40-hour gaming hackathon, held at the University of Oregon, challenged students to take an idea for a game and create a working prototype in a single weekend.

The trio entered the event for the learning experience and to see if they could create something with the basic programming skills they acquired in their introductory computer science class.

To their surprise, the virtual card game they created — in which players build hamburgers and feed them to the opponent — won an honorable mention for Best Scope, awarded to a team that had a reasonable goal and excellent execution of that goal.

“The judges were impressed not only by their execution, but how well the students knew their own skill in going after a project that was equal parts ambitious and reasonable,” said Jeff Bayes, QuackHack organizer.

More than 100 college students from 6 states, 14 universities and 16 different majors participated in the hackathon.

“We didn’t really expect to compete against more experienced people, but we decided we might as well go for it for our own benefit,” Phipps said.

“We just wanted to go and have fun and try to make something,” Case agreed.

To create their game within the short time frame, the team divvied up the programming components of the project. In the end, their separate functions had to come together to make the game work.

coding“It really makes you appreciate thorough design and pseudocode and flowcharts,” said Phipps. Jennifer [Parham-Mocello], our CS 160 professor, always talks about design, design, design. You
really need to have a large-scale design in advance; otherwise you can end up way over your head or you end up spending the entire time trying to debug.”

The teamwork is also crucial. “We helped each other with our weaknesses and built upon our strengths,” Warren said.

Parham-Mocello, who teaches the introductory computer science class, was thrilled with the students’ success. “This drives home what we teach: design, how to think and how to work in teams. They’re utilizing the principles that industry wants to see,” she said. “It’s not just about banging out code. We’re teaching students the proper way to do things from the very beginning.”

Story and photos by Gale Sumida

team photo
dEATS team: Vahid Ghadakchi (computer science), Elijah Mcgowen (finance), Josh Cosio (marketing), and Dylan Gould (entrepreneurship).

Computer science graduate student, Vahid Ghadakchi, decided to step out of his normal life one weekend this fall and try something new. So, he put aside his Ph.D. thesis work and attended the Willamette Startup Weekend at Oregon State University — a 50 hour event to inspire entrepreneurship.

Not only did his team win the second place prize for their app, but they are continuing to develop it into a business.

At the event, Vahid was quickly snapped up by business students Dylan Gould (entrepreneurship), Josh Cosio (marketing) and Elijah Mcgowen (finance) for their team. The three came to the event together with an idea for an app that restaurants could use to help bring in business during slow times. Vahid filled the team’s need for a computer scientist to implement their idea.

Initially the team just wanted to have some fun and learn some skills, but once they started market testing the app with businesses and potential users they realized their product could go farther than a weekend contest. Nearly all of the businesses they talked to said they would use the app, and one expressed interest being a beta tester.  Customer responses were very positive as well.

Restaurants could use the app, called dEATS, to post discount deals that would last for a limited amount of time, such as 30 minutes. The app would have a count-down timer so customers would know how long the deal would be active. The product would help businesses drive customers to their restaurants during slow times, and customers could get ideas for where to go by checking the app for deals.

The team is planning to apply to the OSU’s Advantage Accelerator to help develop their idea into a business, and is looking for more engineers to join the team to make the business a reality.

Vahid said that the experience was a great break from working on his thesis and he also learned some valuable skills that go beyond what can be learned in the classroom.

“I realized how important it is for a computer science student to learn to communicate with people in business and other areas, because they have a different perspective that can help you develop a better product,” Vahid said.

Story by Rachel Robertson

The School of Electrical Engineering and Computer Science at Oregon State University is initiating a new extracurricular program to provide more hands-on learning opportunities for students. The Mastery Challenge program is based on a concept called gamification which uses elements of game playing, such as leader boards and badges, to motivate participants to gain new abilities such as 3D modeling and Python programming.

“The program is designed to help students apply the knowledge they learn in classes to practical skills that they will need for jobs when they graduate,” said Don Heer, instructor of electrical and computer engineering. Experiential learning is a focus for Heer who has also created the TekBots program, which integrates course content with building a robot; and the CreateIT Collaboratory, an internship program for students to work with outside clients to create prototypes.

To participate, students login to the Mastery Challenge website with their university account to see the list of challenges for which they can earn achievements. Participants can work on their own, or get help by contacting students who already have that achievement. Prizes will be awarded to students with the highest number of achievements each term. Helping other participants is another way for students to earn achievements.

Peers also participate in the evaluation process. To earn an achievement, a participant must demonstrate their ability by uploading a video or document to the website for review. Students who already have that achievement can recommend to Heer if the application should be accepted or denied. Heer then makes the final decision.

The Mastery Challenge program is open to anyone at Oregon State — students from other majors, faculty and staff can participate. Initially the program will include abilities in electrical engineering and computer science, but Heer’s vision is that the program will expand across the university, so students can earn achievements in a wide variety of disciplines.

Questions about the program can be directed to Don Heer.

Matthew Johnson photoAlthough Matthew Johnson knew he wanted to be an engineer eventually, he felt compelled to accomplish another goal first — become a Marine.

“I was 12 when 9/11 happened and that had a big impact on me. I felt like I wanted to serve and make a difference,” said Johnson, a computer science student at Oregon State University. He chose the infantry in U.S. Marine Corps because he felt they were the best of the best.

Johnson served as a Marine for four years, including a deployment to Afghanistan, and then started on his goal of becoming an industrial engineer. But after one term at Oregon State, a job opening for a police officer in Sweet Home caught his attention. “I felt like I wasn’t done serving yet,” he said.

It turned out to be a job he really enjoyed because he could see the positive impact the police force had on the community, such as reducing the methamphetamine problem in the area. He considered making the police force a career, but after his son was born he decided a high-stress job was not the right fit for his role as a new father. So Johnson returned to Oregon State to complete his degree in industrial engineering but as he progressed through the program, he realized his favorite classes were the ones related to computer science.

“I had no computer science experience before my industrial engineering coursework, so that was my introduction to it. And my favorite part was the algorithms — being able to think through a logical set of steps to solve a problem,” he said.

Johnson switched his major to computer science, and after just two terms, he took a job with the Open Source Lab (OSL) as a software engineer. The OSL is part of the Center for Applied Systems and Software (CASS) and provides industry, government, and university clients with software development, testing and hosting solutions.

A key benefit for working at the OSL was having the opportunity to work on industry projects to experience the workflow. He also honed his software development skills and was exposed to many computer languages. In addition, working at the OSL has given Johnson a chance to connect with other computer science majors which is sometimes difficult for a non-traditional student who goes home to family (he now has two children) after a full day of school and work.

This year Johnson was awarded a scholarship from CBT Nuggets, which has allowed him to buy things needed for school like a new laptop. “Making that transition from a full-time job was really hard especially with a family. So, having that extra income every term makes a humongous difference,” he said.

Johnson is so convinced that switching to computer science was a good decision that he is encouraging his younger brother to come to Oregon State and major in computer science once he is out of the Marines. It would continue the Beaver tradition in his family — both his parents graduated from Oregon State, his mother in marketing and his father in industrial engineering.

Although there were a few twist and turns on his way to computer science, Johnson is looking forward to the possibilities the career holds for him.

“I definitely want to develop software in the future — whether it be a place like Intel, or a software specific place like Puppet Labs or CoreOS, I’m not sure yet. And someday, after I get a lot of experience, I’d like to start my own company,” he said.

Photo of Liang HuangLiang Huang, assistant professor of computer science at Oregon State University, received the 2015 Yahoo Faculty Research and Engagement Program Award. Yahoo gave 24 faculty awards worldwide in 2015 to “produce the highest quality scientific collaborations and outcomes by engaging with faculty and students conducting research in areas of mutual interest.” It is the first time an Oregon State faculty member has received this award.

The award was granted for Huang’s proposal on “Fast Semantic Parsing with Applications in Question Answering,” based on preliminary work by his Ph.D. student Kai Zhao. Yahoo and many other internet companies are interested in furthering research in the field of semantic parsing to improve their search results.

Semantic parsing is the process of mapping a natural-language sentence into a formal representation of its meaning, and has applications in understanding natural questions, especially resolving ambiguity.

For example, the query, “How can I book Paris Hilton?” could be about either the hotel or the person, while “How to upgrade to El Capitan?” is definitely about OS X rather than Yosemite. A more complicated query such as “flights leaving after 5 from New York City to Tokyo with a layover of 1 to 3 hours” can be turned into an SQL-like query to be executed on a database or knowledge base.

Pranjal Mittal
Pranjal Mittal, computer science graduate student at Oregon State.

Pranjal Mittal was initially thwarted from studying computer science in college, but never lost his excitement for it. Now a master’s student in computer science at Oregon State University, he was honored this year with an Intel fellowship.

Mittal wanted to pursue computer science as early as high school, but the determining factor for his major was an entrance examination for the Indian Institute of Technology. After studying for two years for the exam that one million people take, he was selected to be an electronics engineering major instead of his first choice.

But he did not give up his passion for computer science. He was able to take courses in computer science while in college and sought out other opportunities to learn on his own. He started by building websites for college events and then moved on to writing more complex web applications.

It was what he did next that changed the course of his career.

During his junior year, he was confident enough in his programming skills to apply for the Google Summer of Code, a global program that offers stipends to students to work remotely on open source projects with a mentoring organization. The project he applied for was with Oregon State’s Open Source Lab (OSL) to work on tool for the Ganeti Web Manager. He enjoyed it so much that he returned to the OSL through Google Summer of Code the following year. The experience of working with the people at OSL encouraged him to apply to graduate school at Oregon State.

“The Open Source Lab is very famous in the open source community and I thought if an Oregon State lab and its members were so amazing then the university should be amazing too,” Mittal said.

At the time of his decision to move to the U.S. for graduate school, Mittal had other opportunities. He already had a job with Citrix in India, and he and three other teammates were finalists in the Google Cloud Developer Challenge, which led to an opportunity to develop the application into a commercial product.

He decided to pursue a master’s because it was an opportunity to advance his knowledge in computer science and it also offered him a chance to be a teaching assistant. It was his first teaching experience and he has really enjoyed helping new students learn about web and cloud computing.

As part of his fellowship with Intel, Mittal will mentor three senior capstone project teams (nine students) who are working on a cloud computing project; an extension of the work he did as an Intel intern. “It feels great to be a link between Oregon State and Intel for further industrial collaboration on research and development,” he said.

Mittal is also conducting research work in cloud computing related to container-based clouds and plans to write his master’s thesis in this area.

“Most of the technology you see today is somehow connected to the cloud, it is the backbone of so many fields, making it an area in which even small research advances can have a huge impact,” he said.

Story by Rachel Robertson

Danny Dig, assistant professor of computer science at Oregon State, received two awards this year at the top software maintenance conference, the IEEE International Conference on Software Maintenance and Evolution (ICSME) hosted in Bremen, Germany.

Dig was also a keynote speaker at the conference, in recognition of the award for Most Influential Paper in the last ten years. The paper, co-authored with Ralph Johnson and entitled, “The Role of Refactorings in API Evolution,” opened a new area of research. It was the first quantitative and qualitative analysis on the evolution of Application Program Interfaces (API) which has inspired researchers all over the world to build on the seminal study.

Mihai Codoban and Danny Dig at ICSME
Mihai Codoban (center-left) and Danny Dig (center-right) accept the award for best paper from the technical program co-chairs at ICSME.

The second award was for Best Paper which Dig shares with Oregon State graduate students, Mihai Codoban and Sruti Srinivasa Ragavan; and Brian Bailey, associate professor at University of Illinois at Urbana-Champaign. The paper, entitled “Software History Under the Lens: A Study on Why and How Developers Examine It,” received perfect marks from the judges.

Most Influential Paper:
The Role of Refactorings in API Evolution

Danny Dig (Oregon State University) and Ralph Johnson (University of Illinois at Urbana-Champaign)

Abstract—Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been proposed to solve the evolution of APIs, most updates are done manually. To better understand the requirements for migration tools we studied the API changes of three frameworks and one library. We discovered that the changes that break existing applications are not random, but they tend to fall into particular categories. Over 80% of these changes are refactorings. This suggests that refactoring-based migration tools should be used to update applications.

Best Paper Award:
Software History Under the Lens: A Study on Why and How Developers Examine It

Mihai Codoban, Sruti Srinivasa Ragavan, Danny Dig (Oregon State University) and Brian Bailey (University of Illinois at Urbana-Champaign)

Abstract—Despite software history being indispensable for developers, there is little empirical knowledge about how they examine software history. Without such knowledge, researchers and tool builders are in danger of making wrong assumptions and building inadequate tools. In this paper we present an in-depth empirical study about the motivations developers have for examining software history, the strategies they use, and the challenges they encounter. To learn these, we interviewed 14 experienced developers from industry, and then extended our findings by surveying 217 developers. We found that history does not begin with the latest commit but with uncommitted changes. Moreover, we found that developers had different motivations for examining recent and old history. Based on these findings we propose 3-LENS HISTORY, a novel unified model for reasoning about software history.