The Software Innovation Track enables students to obtain a master's in computer science by learning how to invent new kinds of software. It involves considerable programming, designing and evaluating of software. "Innovation" refers to the fact that systems created by students will be novel, improving in a significant way on existing systems. Specifically, this track includes the following:

  • Completing an innovative software development project of the student's choice
  • Completing two academic years of courses and seminars, providing preparation and support for the project
  • Obtaining and completing one paid internship for the summer between the two academic years

Further Details

The goal of the track is to help practicing software developers upgrade their skills so that they can eventually become software designers and architects. Therefore, the track places a strong emphasis on software architecture, software development, and applying new skills to a real-world project. Students design, code, deploy and evaluate software. Courses cover other topics in software engineering, human-computer interaction, security, databases, systems, and innovation management (which is a business topic related to the creation and development of novel products and associated processes).

Each student project satisfies the master's project requirements, and graduates' transcripts will indicate a Master of Science in Computer Science (MS). Students participating in the Software Innovation Track differ from traditional master's students only in that their projects are focused on innovative applications of computer science rather than research in computer science. The courses are selected accordingly in order to support this focus on the novel application of computer science rather than research.

Admissions Process

Interested applicants should apply to the Computer Science program using the same admission form as other master's applicants. Within the section of the application entitled "Program Specific Questions," follow these instructions:

  • For "Potential mentor(s)," enter the words "Software Innovation Track."
  • For "Top choice for research interest area," select "Software Engineering and Human-Computer Interaction."
  • For "Top choice for research interest area topic," select one or more topics that are of most interest.

Applicants may also simultaneously apply within the same form to do a traditional research-focused thesis. To do this, applicants may enter the names of relevant professors in the "Potential mentor(s)," in addition to the words "Software Innovation Track," and then select an appropriate option for the form's "Second choice for research interest area."

Applicants must comply with the standard application due date. We may contact top applicants in order to request further information. For example, we may request that applicants email further details about prior professional experience, and request a brief Skype interview to discuss each applicant's qualifications and interests. In addition, we anticipate sending a short questionnaire/quiz to the top applicants, which will help us understand what seminars, courses, or other training we will need to provide for new students.


Admissions Criteria

Software Innovation Track applicants must meet the standard master's admission criteria. Moreover, the track admissions process is selective and holistic. In particular, successful applicants are likely to possess most or all of the following qualifications:

  • Strong English and math skills, typified by having
    • Either American citizenship or a TOEFL score >= 91 or an IELTS >= 7.0,
    • AND a GRE Verbal percentile score of 30% or better,
    • AND a sum of GRE Verbal score and GRE Math score equal to 300 or better
  • Generally at least 1 year of prior paid software development experience (e.g., MECOP, or as an intern or a professional), as explained on the resume uploaded within the online application form
  • Prior background in the following areas from our school's undergraduate course equivalency form:
    • Courses or at least one year of professional experience in data structures, operating systems, programming language fundamentals, software engineering, and either HCI, usability or UI design
    • At least several months of experience with multiple programming languages, including at least one language currently in widespread demand among practicing developers (e.g., C++, Java, JavaScript, Python, or similarly common industrial languages)

Frequently Asked Questions

Do students write a lot of code?

Yes. Students must implement new software systems, which will include extensive amounts of coding (in addition to design, teamwork, deployment, and evaluation). Each student's capstone project involves creating an innovative software system of the student's choice. This differs from research in that research generates publishable knowledge whereas an innovation is always applied. (It is possible for a project to produce an innovation and also to produce knowledge; the key distinction here is that students in the innovation track will write a lot of code to create real systems, whereas not all research projects produce real software.) For example, a student's project might be a novel social media network, mobile app, embedded app, sensor-driven app, web application, or other kind of system.

What does "innovation" refer to?

The word "innovation" emphasizes the fact that each student's system must be novel and an improvement on existing systems. This improvement must be meaningful in the sense of better meeting software market needs; this is a requirements and business consideration, so the Software Innovation Track includes training in innovation management, which complements but does not substitute for technical computer science topics.

How much teamwork is involved?

Each student has a distinct project, within which other students play a minor supporting role as a team (in addition to leading projects of their own). Thus, each student leads a project and supports a few other projects. As a result, the Software Innovation Track is code- and design-intensive.

Is each student required to complete the summer internship?

It is expected that virtually all students will desire to complete the summer internship, and the track mentor will work to help students as they try to obtain internships. However, it is not mandatory for students to complete an internship.

Is it required to take two years on the program?

No. Although it is expected that virtually all students will take two years, nonetheless well-prepared, dedicated students may be able to complete the program in one year by simultaneously completing all of the courses. Courses are generally not offered during the summer.

Do all applicants need to meet all admission requirements?

The holistic nature of Software Innovation Track admissions means that some applicants might be selected even though they do not meet every one of the criteria above. Applicants unsure of their qualifications may contact the track mentor, Professor of the Practice Kishore Bhamidipati with questions; be sure to mention "Software Innovation Track" in the subject line.

Are stipends, scholarships, fellowships or other financial aid available?

The admission form allows applicants to indicate that they wish to be considered for graduate teaching assistantships (GTAs) and/or graduate research assistantships (GRAs). Whether students are awarded assistantships is separate from whether they are admitted to the Software Innovation Track -- one does not affect the other. If a Software Innovation Track student is selected for an assistantship, then the student will be expected to perform teaching or research responsibilities associated with the GTA or GRA (typically 10-20 hours per week), in addition to completing the course, internship and project responsibilities associated with the Software Innovation Track.

How much flexibility is allowed in the course, internship and project selection?

The track includes courses in software engineering, databases, security, and business innovation management. In addition, students with a weak background (as revealed by the quiz mentioned above) may need to take a few undergraduate courses to cover deficiencies. However, most students will typically have plenty of time to take extra courses in other topics of personal interest, such as machine learning, artificial intelligence, graphics, big data, or other subjects, though these are not required. Likewise, although we will attempt to help students to obtain an internship and to select a project, ultimately these choices are up to each student's individual preferences.

Is it ok to work while completing this program?

Yes, absolutely that is allowed. However, courses are generally in-person, and we typically expect students to be physically present at project-related meetings with other students and with the track mentor. Although at times it may be possible to conduct such meetings remotely (e.g., via Skype), students will find it necessary to live in Corvallis during the two academic years of the track. It is possible to move elsewhere for the internship during the intervening summer.