Department of Computer Science and Engineering
Graduate Interdisciplinary Specialization/Minor | Graduate Program | CSE Department at the OSU

Graduate Interdisciplinary Specialization/Minor in Applied Software Engineering

The Graduate Interdisciplinary Specialization/Minor in Applied Software Engineering consists of the 15 cr-hr program outlined below, administered by the Department of Computer Science and Engineering and the Department of Electrical and Computer Engineering. Its purpose is to educate graduate students in industry-strength state-of-the-practice software technologies that will help them better carry out their primary graduate work when that work entails the development of significant custom software systems.

The Applied Software Engineering Specialization/Minor is not primarily about numerical analysis or high-performance computing. Instead, it focuses on current software technologies and practices that are widely used and followed in the software industry. The courses emphasize how and why designing and developing large software systems is different in kind from writing small scripts and other useful but small programs of the sort that might be needed to do calculations for undergraduate engineering and science homework or lab assignments.

Click here for a one-page printable flyer describing the highlights of the ASE program. Information from the ECE Department about the ASE program is available here.

Which Students May Take The Program?

The program is academically accessible to interested graduate students throughout the university with modest prerequisites: some calculus and some prior programming experience. Graduate students in Engineering, Mathematical and Physical Sciences, and Biological Sciences are nearly certain to have the required background from their undergraduate studies, as are many students from other disciplines where the Applied Software Engineering program could be useful (e.g., Social and Behavioral Sciences such as Economics, Geography, and Psychology).

According to Graduate School rules, graduate students majoring in CSE and ECE may not consider the Applied Software Engineering program as a "graduate interdisciplinary specialization". However, ECE graduate students may designate the program as a "graduate interdisciplinary minor" if they complete at least 14 cr-hrs of the coursework in CSE courses, including cross-listed courses taken under CSE course numbers. CSE graduate students may take courses in the program, but even completion of the program's curriculum will not be designated on their transcripts.

Why Should A Student Take The Program?

Computing has become the key enabler of fabulously rapid advances that have occurred, and that will continue for the foreseeable future, across nearly all disciplines of the academy and throughout all segments of society. Most graduate students are comfortable using shrink-wrapped software: they already can deal with computing as a commodity, i.e., as general-purpose "information technology". Some know how to write small and relatively simple computer programs. However, this capability is not enough for all graduate students. In order to conduct state-of-the-art research in many disciplines, especially in engineering and science, some students must design and develop sophisticated discipline-specific software systems. Unfortunately, few students in non-computing majors are formally educated or trained in the systematic design and development of non-trivial software systems. This is a prescription for trouble: such students can waste a tremendous amount of time and energy trying to build custom software; the software they develop may not work correctly, jeopardizing research findings, future funding, etc.; and/or the software they develop may turn out to be incomprehensible to their successors (and advisors) and therefore useless after they graduate.

Moreover, many engineering and science graduate students -- not just those majoring in computing but often those with traditional engineering and science degrees -- ultimately find employment with high-tech companies in jobs where they are expected to help design and develop important software systems. Many forward-looking companies now recognize that problems loom on the horizon if critical software systems are developed by well-meaning but under-educated employees who know little about systematic software design and development. Eventually these systems require enhancement, extension, integration with other systems, porting to new platforms, performance tuning, etc., at which point "the chickens come home to roost". Many companies find themselves having to provide significant on-the-job training to new employees in the use of industry-standard software engineering technologies and tools that could just as well be taught to students in universities without fear of making graduates too narrow or specialized. Prospective employees who already have the knowledge and skills to develop advanced software systems are very attractive to these employers.

The main intended learning outcome of the Applied Software Engineering program is, therefore, for students to be able to use industry-standard state-of-the-practice software technologies and tools, and thereby to be immediately productive in designing and developing software systems for use in their research and/or as employees in high-tech industry positions involving sophisticated software development.

What Is The Curriculum?

The curriculum consists of a total of 15 credit-hours and often can be completed in one academic year (starting in Autumn quarter). Students with little or no background in object-oriented programming take both classes in the Fundamentals Core. Students already having this background take only the second class in the Fundamentals Core. The remaining credits needed to obtain 15 total are taken in the form of technical elective courses, at least one of which is from the Elective Core. All courses are "U G 3" unless otherwise noted.

  1. Fundamentals Core (CSE 502 only if needed):
    • CSE 502: "Object-Oriented Programming for Engineers and Scientists" (Au)

      CSE 502, offered in Autumn quarter, serves to get engineering and science students with limited computing backgrounds "up to speed" on standard object-oriented concepts and programming language features that are routinely taught to undergraduate computing majors. Students who have this background already may skip this course and replace it with a course from the Technical Electives below.

    • CSE/ECE 668: "Applied Component-Based Programming for Engineers and Scientists" (Wi)
  2. Elective Core (select at least one):
    • CSE/ECE 767: "Applied Use-Case-Driven Object-Oriented Analysis and Design for Engineers and Scientists" (Sp, odd-numbered years)
    • CSE/ECE 794R: "Applied Enterprise Distributed Computing for Engineers and Scientists" (Sp, even-numbered years)
  3. Technical Electives (rest of 15 credit-hours):
    • CSE 541: "Elementary Numerical Methods" (Au, Wi, Sp, Su)
    • CSE 551: "Introduction to Information Security" (Wi)
    • CSE 616: "Object-Oriented Systems Analysis" (U G 4) (Au, Wi, Sp, Su)
    • CSE 621: "Introduction to High-Performance Computing" (Au)
    • CSE 630: "Survey of Artificial Intelligence I: Basic Techniques" (Au, Wi, Sp)
    • CSE 670: "Introduction to Database Systems I" (Au, Wi, Sp, Su)
    • CSE 680: "Introduction to Analysis of Algorithms and Data Structures" (Au, Wi, Sp, Su)
    • ECE 694Z: "Real-time and Embedded System Design Technologies" (irregular)
    • ECE 753.02: "Autonomy in Vehicles" (Wi, even-numbered years)

Other courses in software architecture, enterprise computing, software engineering management, etc., may be offered occasionally and may qualify as technical electives with prior approval of the program advisors. Detailed information about courses is available from the CSE Department's course repository page and from the ECE Department's course repository page.

What Is The Process For Entering And Completing The Program?

A student wishing to have his/her transcript designate completion of the Applied Software Engineering Graduate Interdisciplinary Specialization/Minor should begin by contacting one of the program advisors: Prof. Bruce W. Weide or Prof. Furrukh Khan. Then, it is necessary to follow the Graduate School rules for obtaining a Graduate Interdisciplinary Specialization; this basically means picking up a form, listing on it the courses to be taken, obtaining approval signatures from the home department advisor and from one of the GIS/M advisors, and delivering it to the Graduate School. Note that transcript designation requires completion of the course requirements of the program with a grade of B or better in each course to be counted.

It is perfectly reasonable for a student who does not wish to receive a transcript designation for the program to complete only part of the curriculum and to obtain whatever educational benefits he/she deems most helpful. No forms are required, no formal admission to the program is required; such a student may just take the courses that are most relevant and useful.

OSU logo