Developing Highly-Valued Software Engineers

My education efforts are focused on supporting Oregon's economy and our students by training them to design and implement software. This goes beyond teaching technical skills, such as how to create an app. Rather, if we are to substantially promote economic growth and social progress (one of OSU's Signature Areas of Distinction), the university must develop leaders, not followers. This philosophy pertains to university education at every level, from creation of new knowledge (i.e., research) to application of existing knowledge (i.e., development).

Current Course:  CS561: Graduate software engineering methods

Formal graduate education 

Master's in Computer Science: Software Innovation Track

I will serve as the mentor for graduate students enrolled in this new opportunity to obtain a Master's degree in Computer Science by implementing novel software systems (rather than by doing research). Enrollment is now open. Read more and apply now.

CS569 Selected Topics in Software Engineering: Mobile and Cloud Development

I created this course as a way to help our graduate students get jobs in this hot new area of software engineering. In addition, running the course enabled me to evaluate various platforms and select those that would be useful for a future undergraduate version of the course (eventually called CS496).

CS569 Selected Topics in Software Engineering: Social aspects of software engineering

I created this special topics course to teach our Computer Science graduate students about how to design tools that enable software engineers to collaboratively create programs. In addition, students obtained assistance in discovering potential thesis topics related to this research area.

CS569 Selected Topics in Software Engineering: Platforms for end-user software engineering

I created this special topics course to teach our Computer Science graduate students about how to design tools that enable end users to create programs. Similar existing tools include Microsoft Excel and Adobe Dreamweaver.

Formal undergraduate education 

CS496 Mobile and Cloud Software Development

I created this course to prepare students for obtaining jobs in an area of software engineering that is rapidly growing in importance. In addition, having a formal course in mobile development serves as a structured complement to the mobile app development clubs that I started.

CS494 Web Development

This course trains students in how to create reliable, high-performance, secure, usable web applications. It goes beyond our department's lower-level web-development courses by providing the skills not only to use existing libraries and frameworks but also to create new content management systems and similar systems from scratch.

CS361 Software Engineering I

I organized this course so students spend the first half of the course using a traditional software engineering process, along with the associated documentation, requirements-elicitation, and specification activities. In the second half, they use a modern process (XP) that includes pair programming, refactoring, and other agile methods.

Informal education 

Faculty Sponsor for the Mobile Programming Club

There are jobs in other areas of software engineering, but salaries are currently going up fastest for mobile developers. The best way to learn a technology is actually apply it. Therefore, I helped students launch extracurricular training for developing mobile apps (Android and iOS), and I'm currently the faculty advisor the club.

App Hackathon

This competition promotes real-world learning by getting our students to create apps. It has three phases: brainstorm app ideas, implement apps in teams, and compete for prizes. In future years, the Hackathon will feed teams with commercially viable products into the OSU Business Accelerator.

Undergraduates Partnering Toward Innovation Commercialization (UPTIC)

The best way to guarantee our students jobs would be if they could all create jobs for themselves. Thanks to grants from OSU (internal) and NCIIA, we are training computer science students and business students to create startups after they graduate. They are creating prototypes as well as business plans, and they are competing for startup capital. Some teams might enter the OSU Business Accelerator after graduation.

Related funding

  • Prizes for the App Challenge Hackathon, Urban Airship 4/14-5/14 (grant: $525, my share: $525)
  • E-teams as vehicles for training students to harvest and commercialize universities' research, National Collegiate Inventors and Innovators Alliance (NCIIA) 4/12-6/14 (grant: $34,340, my share: $34,340)
  • Training undergraduates to harvest and commercialize universities' research, OSU BE Community 1/12-12/12 (grant: $19,760, my share: $19,760)