Five students in the School of Electrical Engineering and Computer Science will be heading to Germany this summer to compete in the 2017 Rohde & Schwarz Engineering Competition. Their performance in the U.S. preliminary round earned them a spot at the world league competition.
Aaron Schraner, an electrical and computer engineering student, was motivated to compete since he participated last year on a team from the Oregon Institute of Technology that won the 2016 regional competition. Based on his experience there, he recruited Karen Harper for additional electrical engineering knowledge. All the other team members are in computer science: Braxton Cuneo, Erich Kramer, and Andy Tolvstad.
Their task was to make improvements to software for a digital-signal processing application that could ultimately make video streaming better. Specifically, they were asked to speed up the processing of the software-based DVB-T2-Coder, based on the open source GNU Radio project, while maintaining accuracy.
“Signal processing is traditionally very, very computationally intensive, so any optimizations you can get out of something like that are going to be very beneficial to your workflow,” Andrew Tolvstad said.
“There was one loop we optimized that was run about 1.2 million times,” Karen Harper agreed.
“Just by changing a data type that was 32-bits wide to one that was 64-bits wide, we took another 5 to 10 percent off the total amount of time it took to run the program,” Aaron Schraner said.
During the competition, students made improvements to the code that was then automatically compiled and tested for performance once they submitted it via Git. Rohde & Schwarz continuously published a leader board of the top performing teams so the teams could watch their ranking move up or down.
The team members are excited to have an all-expenses paid trip to Germany, and are squeezing the trip into very busy lives of classes and internships. They also have a chance to win $3,000 for the top prize, $1,500 for second place, and $750 for third place.
But the money was not the only objective.
“It’s been a lot of fun,” Tolvstad said. “Just the thrill of trying to take something and make it the best it can possibly be by just rearranging its parts.”
This final will be held in Munich, Germany at the Rohde & Schwarz headquarters. Rohde & Schwarz is a privately held company with over 10,000 employees worldwide, including a design center in Beaverton.
“Gadgets and Gizmos” was the theme for the first HWeekend of 2017 on January 20-22, jointly sponsored by the College of Business and the College of Engineering.
In just one weekend, forty-seven students from business and engineering designed, built, and pitched their idea for a marketable product including temperature based alarm clock, a computer controlled potato launcher, a 3-D printed longboard fender, and a self-playing guitar.
It was the seventh iteration of the popular event that provides students from different disciplines an opportunity to work together in teams. Students came from a variety majors including business, bioengineering, civil engineering, chemical engineering, computer science, electrical and computer engineering, environmental engineering, and mechanical engineering.
“This event is really cool, because I get to do things that I normally don’t get to do in my major,” said Alec Westbrook, a chemical engineering student who worked on the 3D printed longboard fender project. “I mean, how often can a guy that is mixing chemicals all day work with his hands and create something new?”
Mentors for this HWeekend included six industry members from Intel and two from Microsemi.
“People here are really excited about the things they are making,” said Aayush Pathak, a silicon architecture engineer from Intel who attended HWeekend as a mentor. “And to be a part of it and share what I have seen in my school and life — it’s a proud feeling.”
Staff from both the College of Business and the College of Engineering also helped mentor students through the creation and marketing of their projects.
“It’s an incredibly valuable partnership between business and engineering,” said Dale McCauley, the makerspace manager for the College of Business. “The students are getting the chance to build relationships that ordinarily wouldn’t form. If you get business students to understand how engineers think and vice versa, I think that is valuable.”
At the end of the weekend, the students received group awards for their dedication and hard work. The Executors award goes to the team that produces the best engineering execution of their idea to create the most polished final product, the Helping Hand is for the team that contributes the most to other teams, and the InnovationX Pitch awards go to two teams who had the best business pitches for selling their prototypes.
Executor: Temperature Based Alarm Clock team. The team included members Noah Hoffman, Taylor Johnston, Alexia Patterson, and Abdurrahman Elmaghbub.
Helping Hands: Checkpoint team. The team included members Andrey Kornilovich and Graham Barber
InnovationX Pitch: Checkpoint team and Temperature Based Alarm Clock team.
The following quote comes from the the Education Committee of the Computing Research Association award announcement:
Margaret Burnett, Ph.D., is a distinguished professor in the School of Electrical and Computer Engineering at Oregon State University (OSU), a member of the ACM CHI Academy, and an ACM Distinguished Scientist. Burnett has contributed pioneering research on how ordinary users interact with software and optimizing that interaction. This resulted, in part, in the development of a new subarea, which is at the intersection of human-computer interaction and software engineering, called end-user software engineering.
Throughout her academic career, Burnett has continuously worked with undergraduate researchers and even accommodated high school students in her lab. She has mentored 39 undergraduate students in research; 21 were from underrepresented groups in computing, 32 co-authored published research papers, and 25 went on to graduate studies. A selection of the honors of her highly accomplished mentees includes three Google Scholarships, three NSF Graduate Fellowships, and two National Physical Sciences Consortium Graduate Fellowships. In her nomination, several mentees attested to her personal influence on and involvement in their lives and careers.
Impressively, Burnett influenced the culture of faculty undergraduate research mentoring in her school, increasing it to 50% participation. She has also led efforts to better support a diverse undergraduate population through trips to the Grace Hopper Celebration of Women in Computing, the adoption of a diversity plan, and new experimental scholarships for incoming freshmen women in computing. She has received awards from NCWIT, Microsoft, and OSU for her mentoring and research.
As a freshman it’s pretty difficult to land an internship because most companies are looking for people with more experience or students who will be graduating soon. But it is possible! This summer I had the opportunity to work for Metal Toad, a software consulting company in Portland, Oregon that offers technical consulting, product development, application support, and managed cloud services to a broad set of clients such as major TV networks, non-profits, health institutions, cultural institutions (such as The Emmys and Golden Globes), and corporations in the technology sector.
I took the initiative to email the marketing manager which eventually led to a phone conversation. I found that professionals in the Portland software community are surprisingly very willing to spend time talking with you. We talked about what the company did and the culture of the company. After some time I was able to speak to the director of human resources and we talked about the internship program, the logistics, and how I could fit into the company as an intern. This led to a phone interview and then a second interview at the company site.
The interview was different from what I had expected — it was less technical, and more centered on cultural fit. I then followed up with email thanking them all for their time and saying that I was looking forward to hearing back to them about the position. About a week later they replied to me asking me if I was still available to take the position.
It was a learning experience for all of us. The company is relatively small and their internship program is still growing and changing, so I was their first intern “guinea pig.” I was new to the formal workplace and was doing something completely new to me — DevOps.
My First Day
I took the internship without having seen the office where I’d be working. It was not what I expected. There were no cubicles, but rather it had an open floor plan. Software developers and other professionals sat next to each other. I was to contribute my expertise to the cloud services (or DevOps) team. Our job was to configure custom cloud services to help align with what the software developers are doing and what the clients want.
I immediately asked for things to do and I was given task after task by my mentor, who was the senior engineer on the team. It seemed like there was an endless amount of things for me to do if I was willing to learn, so I took on whatever I could, even if I had no knowledge about it.
Our team used the Kanban methodology, which produces tickets or tasks from a list of things to do. The Kanban methodology is similar to having a wall covered in sticky “to-do” notes. Members of teams then finished tasks on a first come first serve basis. This methodology worked very well for the small and experienced DevOps team. Everyone on the team was capable of taking on anything coming their way.
I took advantage of the resources that I had to learn as much as I could over the 12-week internship. I contributed to several internal DevOps along with working on some client side projects. One experience that students don’t always have access to during undergraduate course work is seeing how a consulting firm, such as Metal Toad, interacts with the clients continuously to create and maintain great products. Being at a small software company allowed me to see all sides of the operations, which was invaluable. Not only was I able to learn and get advice from my mentors, but I was able to learn about the business end of things along with how our work affects our clients and software developers.
Being in the city exposed me to other software companies in the area. Our company was part of the Portland Tech Intern Experience which is a collaborative effort to give a voice to Portland’s growing and diverse tech industry. I would highly recommend this organization to gain greater access to players in the Portland tech industry. The program offered several different networking events and lunch learning sessions that helped unite and nurture the Portland tech scene. During these network events, I met and learned from former interns, and was exposed to future technologies areas of computer science such as deep learning. I also met CEOs, angel investors, and recruiters.
The networking experience that I gained from this internship is invaluable to me. It really opened my eyes to the special software company culture that Portland has. The CEO of Metal Toad encouraged the interns to message people on LinkedIn who they want to learn more about, and ask them for 30 minutes of their time for coffee, or for anything. Driven interns, even “guinea pigs” who can convince companies they’re able to learn and tackle just about any new task, will find that people are more than willing to help you.
Rey Pocius grew up in Elmhurst, IL, where he attended York Community High School. He moved to Oregon in pursuit of the growing tech scene in Portland and the thriving programs at Oregon State. He is also the President of the Oregon State University Association for Computing Machinery student chapter (OSU ACM).
He is very passionate about informing others about the ever growing tech field and helping people find the help they need to launch their careers. He is also particularly interested in deep learning and robotics. He hopes to focus his research and efforts into those two areas.
Outside of academia he enjoys playing tennis and spending a lot of time hiking around the Corvallis area. So don’t be surprised if you find him on some of the local trails. He also enjoys painting and working on software side projects.
Graduate student Peter Rindal was on the winning team at an international computer security competition hosted by iDASH, a National Center for Biomedical Computing. The team members were interns and postdocs at Microsoft Research competing against seven other groups from around the world to win the “Secure Outsourcing” challenge.
“The competition pushed us to develop promising new research and brought us together with people in healthcare who want to see this technology in the real world,” Rindal said.
The goal of the competition was to advance the state-of-the-art for research on information privacy for genetic data. An application of their project could be secure cloud storage for medical data so patients and doctors could query data without revealing sensitive information to the cloud (e.g., predisposition to Alzheimer’s disease).
Specifically, the group calculated the probability of genetic diseases through matching a set of biomarkers to encrypted genomes stored in a commercial cloud service. The matching was carried out using a process called homomorphic encryption, which leaves no trace of the computation, so that only the patient and doctors can learn the answer to the question.
Oregon State University faculty and students were well represented at the premiere software engineering conference, ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2016) in Seattle November 13-18, 2016.
Distinguished Professor Margaret Burnett gave a keynote address titled Womenomics and Gender-Inclusive Software: What Software Engineers Need to Know, and five of the 74 papers presented there were from Oregon State which is an honor in itself. However, two of those papers were selected to receive Distinguished Paper Awards. Both papers aim to improve the efficiency of software development:
API Code Recommendation Using Statistical Learning from Fine-grained Changes
by Anh Nguyen, Michael Hilton, Mihai Codoban, Hoan Nguyen, Lily Mast, Eli Rademacher, Tien Nguyen and Danny Dig
Abstract: Learning and remembering how to use APIs is difficult. While code- completion tools can recommend API methods, browsing a long list of API method names and their documentation is tedious. Moreover, users can easily be overwhelmed with too much information. We present a novel API recommendation approach that taps into the predictive power of repetitive code changes to provide relevant API recommendations for developers. Our approach and tool, APIREC, is based on statistical learning from fine-grained code changes and from the context in which those changes were made. Our empirical evaluation shows that APIREC correctly recommends an API call in the first position 59% of the time, and it recommends the correct API call in the top 5 positions 77% of the time. This is a significant improvement over the state-of-the-art approaches by 30-160% for top-1 accuracy, and 10-30% for top-5 accuracy, respectively. Our result shows that APIREC performs well even with a one-time, minimal training dataset of 50 publicly available projects.
Foraging and Navigations, Fundamentally: Developers’ Predictions of Value and Cost
by David Piorkowski, Austin Henley, Tahmid Nabi, Scott Fleming, Christopher Scaffidi and Margaret Burnett
Abstract: Empirical studies have revealed that software developers spend 35%–50% of their time navigating through source code during development activities, yet fundamental questions remain: Are these percentages too high, or simply inherent in the nature of software development? Are there factors that somehow determine a lower bound on how effectively developers can navigate a given information space? Answering questions like these requires a theory that captures the core of developers’ navigation decisions. Therefore, we use the central proposition of Information Foraging Theory to investigate developers’ ability to predict the value and cost of their navigation decisions. Our results showed that over 50% of developers’ navigation choices produced less value than they had predicted and nearly 40% cost more than they had predicted. We used those results to guide a literature analysis, to investigate the extent to which these challenges are met by current research efforts, revealing a new area of inquiry with a rich and crosscutting set of research challenges and open problems.
Many people ask me whether they should pursue graduate school in computer science. Answering this question requires explaining what graduate school is good for.
For the Ph.D., the answer is relatively simple. A Ph.D. primarily focuses on training students to do research. It also provides other skills, but that is the main focus. As such, it is appropriate and necessary training for anyone who wants to become a tenured professor.
For the master’s degree, the answer deserves more discussion. It is also an important discussion because almost 85% of all graduate degrees granted in computer science were master’s degrees (according to the 2015 Taulbee Survey). To avoid relying on just my own opinions, I asked six students who have graduated from the master’s program at Oregon State University about what their training had accomplished, what aspects of the program were most valuable, and whether the value justified the cost overall.
My former students explained that earning a master’s degree in computer science expanded four areas of capabilities.
Graduate school developed these former students’ ability to master material efficiently. One student explained that his employer valued his “ability to quickly grasp existing knowledge on some relatively advanced topics.” Others also commented on their enhanced ability to learn new frameworks, languages, concepts, and tools.
They also commented on how the program increased their problem-solving skills. This manifested differently for each person. One noted that he had “a more rounded way of approaching problems,” while another commented that supervisors “appreciate my critical thinking ability, [and] a systematic approach to problem solving.”
Several former students commented on how the program had strengthened communication skills. One indicated, “In my experience, my employer values my presentation and writing skills just as much as my technical knowledge.”
Valuable aspects of graduate school
Three aspects of graduate school came up as being of most value.
All but one former student commented on how their project experiences contributed to knowledge. All of these developed computer software during their studies, as part of their research projects. Actually doing advanced software development with a mentor, rather than just learning about it, provided a context for skill development. For example, one wrote, “Graduate school was a lot different [from undergraduate studies] because I had to go further out of my comfort zone to succeed, learning new languages and systems as needed” while another summarized “It’s all about the people and the projects.”
Several noted the importance of finding faculty willing to connect their expertise to students’ needs. This is a team effort — the advisor (me) has a only a certain range of expertise, which meant that students also valued getting help from other helpful faculty who taught courses outside my own range. For instance, one former student wrote, “All faculty members and existing grad students are doing interesting work, and everyone is approachable.”
Finally, all noted the importance of industry-relevant experiences, in addition to research. These included doing internships, using technologies relevant to industry needs, and interacting with people from industry. In fact, several pointed out the need to strengthen these aspects of our program at Oregon State University. (All six of these former students were doing research, as they started the program prior to our new master’s track tailored to the needs of students who want to pursue a career in industry, rather than in research.) For example, one commented on the importance of “classes that are geared towards master’s students who want to go on and become software developers and want to gain knowledge about practical applications of theoretical concepts.”
Does the value exceed the cost?
The five students reported to me that they incurred between $0 and $20,000 in total out-of-pocket costs, due to the fact that they received assistantships for some or all of their terms at Oregon State University.
So, in the end, was obtaining a master’s degree worth it? All confirmed that the value exceeded the cost. One pointed out that people with master’s degrees often have higher salaries than those with bachelor’s. The difference appears to be approximately $7,000 per year right now, varying somewhat based on job title and location (according to payscale.com data for bachelor’s and master’s degrees). The payoff might not be immediate, however. For example, one student noted that he had to switch jobs at least once after graduating in order to obtain a position that made use of his increased skills and paid a higher salary.
Bottom line: What is a master’s degree in computer science good for?
My former students identified four areas of enhanced capability that included soft and technical skills. They obtained these largely through industry-relevant experiences, projects, and mentorship from committed faculty. They believed their employers noticed and valued their improved capabilities, which translated into a higher-paying career.
I hope that this information will be useful to you or to colleagues that might be considering whether to get a graduate degree. We will use this and other feedback to continue enhancing our own program in order to better meet the needs of our students. If you would like to contact me and ask questions, please feel free to send me a LinkedIn invitation.
I had an amazing experience this summer at the University of Georgia working in the Small Satellite Research Lab. The lab was founded by undergraduate students, myself included, partnering with professors, NASA, and the U.S. Air Force. Space seems impossibly far away and hard to get to, but with the increased popularity and strength of the small satellite community, it is now easier than ever to reach, even for self-funded, undergraduate engineering students.
We started as a small group of students and created a crowdfunding campaign with the goal of launching a small satellite into orbit. Most of the students on the project were at the University of Georgia (UGA). We had reached out to faculty members in the UGA geography department to see if they wanted a science payload to fly on our CubeSat. CubeSats are small satellites of a specific size. For example, a “1U” CubeSat is 10 cm wide, 10 cm deep, and 11 cm tall. The standard size has aided the commercialization of space.
Currently, we have two CubeSat projects and about 20 members. The CubeSats launch off the International Space Station. One will look at Earth in order to track sediment plumes, algal blooms, and chemical runoff around Georgia. The other will create 3D maps of large geographic features such as mountains. We couldn’t have dreamed that this project would end up where it is now — a lab run by undergraduate students with two fully funded satellite projects.
My role in the lab is to develop the algorithms that we need to accomplish our mission objectives. That mostly involves adapting existing algorithms for use on orbit. Running software on orbit has different limitations than on the ground, so the software needs to be adjusted accordingly. For example, when dealing with space, engineers must take account of power shortages, overheating, and time limitations that might compromise transmission of data. Fortunately, we know these constraints ahead of time. With careful planning and testing, we can insure that our code will run on orbit.
The process of developing cube satellites posed both unique opportunities and struggles. As undergrads, trying to figure out how to build two satellites, we are all learning together. And the experience of working at the Small Satellite Research Lab is incomparable to most undergraduate experiences, because of the nature of the project and the close relationships developed through solving problems in space. Balancing the demands of the project takes a close-knit group of scientists and engineers and communication between group members. Through the experience we have built a productive lab and became close friends.
Eight of our members (myself included) received scholarships to attend the Small Satellite Conference in Logan, Utah. At that conference we had the opportunity to attend six days of talks about every aspect of small satellite missions. We all learned more than we could have imagined. We were also able to network with industry professionals from organizations like NASA and SpaceX. That week opened our eyes to issues that we hadn’t thought about yet, and introduced us to new satellite hardware vendors. When we returned from the conference, we were equipped to onboard new lab members, finalize our payloads, design our ground station, and plan outreach events.
Despite ongoing encouragement and success, we continue to struggle with getting the funding that we need to make a lab that can support multiple space missions. For example, using space-grade hardware requires a cleanroom in order to assemble our satellite to meet the standards set by NASA and the U.S. Air Force, who have each funded our missions. The funding we’ve received for the projects assumes that there is already a lab that is outfitted with all the supplies necessary to build and test a CubeSat, so we face the additional hurdle of establishing our lab.
I’m proud to be part of a group that welcomes challenges instead taking the easy route — an important characteristic for the next generation of scientists and engineers solving problem in the limitless reaches of space. With creativity and persistence, the University of Georgia Small Satellite Research Lab is pushing itself and reaching new heights.
Helena Bales grew up in Portland and is a senior in computer science. In addition to her ongoing work at the UGA Small Satellite Research Lab, she works on campus as a software developer at the Valley Library. She spent last summer at NASA’s Johnson Space Center developing applications for the daily operation of the International Space Station. Her internships have fueled her interest in space and she plans to pursue a career in the aerospace industry after graduation.
This summer I had a great experience as in intern at Tripwire, a software company based in Portland that develops security solutions. What impressed me the most about Tripwire was how everyone there made me feel comfortable and part of the company. I remember getting coffee in the break room the first week, and multiple people stopped by to introduce themselves and ask about me. I got the sense of belonging fairly quickly. It empowered me. Although we only made small talk, I knew I could ask them for help without hesitation.
The fact that people are social at Tripwire really goes hand-in-hand with the work environment. There are multiple teams that develop and test the products. Cross-team collaboration at Tripwire is highly valued, because it’s crucial that different pieces of the puzzle are properly linked. For that reason, having the right social dynamics is really helpful.
My team gave me a small list of potential projects that I could choose to work on. I got a week to look over the projects I was interested in and choose something I found to be valuable. I really appreciated this because it didn’t box me in.
The first month was the hardest because I was trying to understand the work, the company and the culture. My team gave me the freedom to spend time on intricate problems, and when I ran into anything unusual they were always there to help me through it. They would also point me to who would be able to help me from another team.
One other thing I noticed about Tripwire (that I had not come across working at other companies) was how flat the organizational structure was. Not only was I in touch with my manager on a daily basis, but also my product owner, and even other engineering managers. I was absolutely delighted and surprised to see our CEO socializing and having a beer at a company event.
Portland’s tech culture is said to be unique, and I got a firsthand experience in it. Like you’d expect, going out to lunch was always a thrill. There were many food carts nearby, and the choices seemed unlimited. There was also a nearby Farmer’s market that set up shop every Thursday. These turned out to be a good place to socialize and it gave me a chance to meet people from other tech companies.
I loved my experience at Tripwire. Like I’d expect from any internship, not only did I learn about the company, but I also learned about myself. I was naïve when I thought the most important thing when accepting a job was the work and the people. I’ve come to learn that the work environment is just as important. I want find a job where the environment is conducive to learning, and positively supports new ideas. I am grateful to have had the chance to work there and get to know the people at Tripwire. When it’s time for me to find a job, I can confidently say Tripwire is on my list.
Author bio: Vedanth Narayanan (who goes by Vee) graduated from Oregon State in 2015 with a bachelor’s degree in computer science. He is currently working to get his master’s in computer science with an option in security. He previously worked for McAfee (now Intel Security), Intel, and OSU’s Center for Applied Systems and Software (CASS). He is very intrigued by the security landscape and software engineering. While he loves being in front of his computer, he is also grateful for the time away from it. During these times you will find him running, hiking, playing ultimate Frisbee or volleyball, at the Oregon coast, or cooking dinner with jazz playing in the background. An avid photographer, his camera is almost always less than ten feet from him. Although his comfort lies in landscape photography, he has recently taken an interest in portraits and lifestyle.
In their role as advisors, Lizbeth Marquez and Nick Malos help hundreds of students in the School of Electrical Engineering and Computer Science navigate their way through college. Their goal is to help students succeed and ultimately earn their Oregon State degrees. According to a recent report from the Commission on the Future of Undergraduate Education, only 60 percent of college freshmen get a bachelor’s degree within six years. While there are many reasons students don’t complete their degrees, Lizbeth and Nick have some advice to offer to help you succeed.
Get Organized College can be different from high school in that high school teachers tend to lead you through all the homework and due dates. In college, the professors post the assignments — often for the entire semester — and expect you to be prepared. Get a planner, use a smart phone app, or get a wall calendar — whatever it takes for you to know when assignments are due.
Find the right place to study It may be your dorm room or a cozy corner of the library, but find a place that works best for you to get your work done — while avoiding as many distractions as possible. There are many places to go such as the MU, the Valley Library, your residence hall, or most buildings on campus!
Seek a balance College life can be chaotic with various academic and social events. Make sure you stay balanced and don’t overload yourself. One way you can do this is by visiting OSU’s Mind Spa.
Get involved You may feel overwhelmed with being homesick or feeling like you don’t belong. We encourage you to consider joining a student group (and be careful not to go overboard), whether it’s academic, religious, athletic, cultural, or social. You’ll make new friends, learn new skills, and feel more connected to OSU.
Take advantage of the academic resources Most schools and colleges offer study tables or have tutors available. If you’re having difficulty, these resources are another tool available to you. Another idea: Talk to your classmates about getting a group together to study.
Explore your major and career options It is important to remember there is no one “right” or “best” major. You should select a major that aligns with your skills, interests, and goals. Talking with a career counselor in the Career Development Center can help you explore the options. Don’t be afraid to change your major. It is estimated that about 80% of undergraduate students across the United States change their major at least once (National Center for Education Statistics, n.d.).
Get to know your fellow students It can feel intimidating at first, but it is important to get to know your fellow students because they can be a great resource. What better way to find others who share your same interests?
Get to know your professors Talk to your professors and attend their office hours. I promise they are not as scary as you might think. Professors are here to help you learn the material, challenge you to think outside the box, and further your understanding of the subject. They are also a great resource when you need letters of recommendation for scholarships, internships, or graduate school. Just remember, the better they know you, the easier it is for them to write a quality letter.
Put in the time & effort Some of the easiest ways to succeed include:
Meet with your advisor It is important to speak with your advisor early and often. They are the ones who will provide you with your registration pin number. But more than that, they can assist with course selection and planning; registration; understanding major and degree requirements; and navigating the processes to find extracurricular opportunities, internships, jobs, and more.