+ All Categories
Home > Documents > [American Institute of Aeronautics and Astronautics 49th AIAA Aerospace Sciences Meeting including...

[American Institute of Aeronautics and Astronautics 49th AIAA Aerospace Sciences Meeting including...

Date post: 14-Dec-2016
Category:
Upload: earnest
View: 212 times
Download: 0 times
Share this document with a friend
29
1 American Institute of Aeronautics and Astronautics Structured Programming Education Requirements for Aerospace Engineering E. Allen Arrington 1 Sierra Lobo, Inc. at NASA Glenn, Cleveland, OH, 44135 A series of surveys were conducted to ascertain the need for and status of structured programming education for aerospace engineers. To provide a balanced view, surveys were sent to the aerospace engineering Department Chairs, employers in the aerospace industry and aerospace related government agencies and to recent graduates and young professionals working in aerospace fields. While the results from the surveys did support the concerns that were raised by employers about the lack of emphasis on structured programming education, they also showed that bridging the gap may be reasonably obtained. I. Introduction Over the past few years, managers in the aerospace industry have voiced concerns about the lack of educational background or understanding of structured programming among recently graduated aerospace or aeronautics engineering students. In the context in which these concerns were raised, structured programming skills refer to the ability to develop, write, debug and interpret computer code written in languages such as Fortran or C/C++. Furthermore, the structured programming ability was looked at as a skill that could be used in any number of aerospace engineering applications. Several examples have been cited of recent graduates being unable to complete even the simplest programming tasks. Specific examples are: New aerospace engineers who have no knowledge of Fortran coding language and are therefore unable to modify or work with legacy codes. Young engineers use MATLAB ® (The MathWorks, Inc., Natick, MA) or Excel ® (Microsoft Corporation, Redmond, WA) for higher order analysis, even though these applications can be runtime inefficient. Engineers are unable to complete certain basic tasks such as developing flow charts for program operation. The Aerospace Science Group (ASG) raised the issue with the Technical Activities Committee (TAC) of the American Institute of Aeronautics and Astronautics (AIAA). The expressed concern was that the aerospace engineering curricula lacked the proper emphasis on structured programming and may be over-emphasizing the use of other, less powerful tools. The TAC delegated the investigation of this concern to the New Initiatives Subcommittee (NIS). While TAC sponsored the study, NIS kept the AIAA Academic Affairs Committee (AAC) informed of the project. NIS began a study to determine if there is a problem with the amount and type of computer programming education included in aerospace engineering curricula, and, if this is the case, to develop recommendations on structured programming education, based on the results of the study. II. Information Collection After initial inquiries within industry and government (employers) and academia showed no clear answers, NIS conducted a series of surveys to ascertain the state of programming education for aerospace engineering undergraduates. The following surveys were completed: Academia: Survey of the aerospace engineering departments to determine what programming and computational tool skills are being taught and to gauge the schoolsunderstanding of the needs of industry. NIS sent the survey to Aerospace Department Chairs Association membership in the summer of 2007. Employers: The purpose of this survey was to determine what programming skills the aerospace industry needs and to get the employersopinions on where to place the educational emphasis. Volunteers and contacts were solicited from the membership of all of the Technical Committees within TAC to provide the sample of 1 Engineering Manager, Test Engineering Services, 21000 Brookpark Road, MS 6-2, Associate Fellow. 49th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition 4 - 7 January 2011, Orlando, Florida AIAA 2011-466 Copyright © 2011 by the American Institute of Aeronautics and Astronautics, Inc. All rights reserved.
Transcript

1

American Institute of Aeronautics and Astronautics

Structured Programming Education Requirements for

Aerospace Engineering

E. Allen Arrington1

Sierra Lobo, Inc. at NASA Glenn, Cleveland, OH, 44135

A series of surveys were conducted to ascertain the need for and status of structured

programming education for aerospace engineers. To provide a balanced view, surveys were

sent to the aerospace engineering Department Chairs, employers in the aerospace industry

and aerospace related government agencies and to recent graduates and young professionals

working in aerospace fields. While the results from the surveys did support the concerns that

were raised by employers about the lack of emphasis on structured programming education,

they also showed that bridging the gap may be reasonably obtained.

I. Introduction

Over the past few years, managers in the aerospace industry have voiced concerns about the lack of educational

background or understanding of structured programming among recently graduated aerospace or aeronautics

engineering students. In the context in which these concerns were raised, structured programming skills refer to the

ability to develop, write, debug and interpret computer code written in languages such as Fortran or C/C++.

Furthermore, the structured programming ability was looked at as a skill that could be used in any number of

aerospace engineering applications. Several examples have been cited of recent graduates being unable to complete

even the simplest programming tasks. Specific examples are:

New aerospace engineers who have no knowledge of Fortran coding language and are therefore unable to

modify or work with legacy codes.

Young engineers use MATLAB® (The MathWorks, Inc., Natick, MA) or Excel

® (Microsoft Corporation,

Redmond, WA) for higher order analysis, even though these applications can be runtime inefficient.

Engineers are unable to complete certain basic tasks such as developing flow charts for program operation.

The Aerospace Science Group (ASG) raised the issue with the Technical Activities Committee (TAC) of the

American Institute of Aeronautics and Astronautics (AIAA). The expressed concern was that the aerospace

engineering curricula lacked the proper emphasis on structured programming and may be over-emphasizing the use

of other, less powerful tools. The TAC delegated the investigation of this concern to the New Initiatives

Subcommittee (NIS). While TAC sponsored the study, NIS kept the AIAA Academic Affairs Committee (AAC)

informed of the project. NIS began a study to determine if there is a problem with the amount and type of computer

programming education included in aerospace engineering curricula, and, if this is the case, to develop

recommendations on structured programming education, based on the results of the study.

II. Information Collection

After initial inquiries within industry and government (employers) and academia showed no clear answers, NIS

conducted a series of surveys to ascertain the state of programming education for aerospace engineering

undergraduates. The following surveys were completed:

Academia: Survey of the aerospace engineering departments to determine what programming and

computational tool skills are being taught and to gauge the schools’ understanding of the needs of industry. NIS

sent the survey to Aerospace Department Chairs Association membership in the summer of 2007.

Employers: The purpose of this survey was to determine what programming skills the aerospace industry needs

and to get the employers’ opinions on where to place the educational emphasis. Volunteers and contacts were

solicited from the membership of all of the Technical Committees within TAC to provide the sample of

1 Engineering Manager, Test Engineering Services, 21000 Brookpark Road, MS 6-2, Associate Fellow.

49th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition4 - 7 January 2011, Orlando, Florida

AIAA 2011-466

Copyright © 2011 by the American Institute of Aeronautics and Astronautics, Inc. All rights reserved.

2

American Institute of Aeronautics and Astronautics

managers and employers polled for their opinions. So while most of the respondents to the employer survey

were AIAA members, some responses were received from outside AIAA. The survey of employers was

completed in May 2008.

Young Professionals: The final survey was added to the project to provide the complete picture, as after all,

these are the young men and women that are in the middle of the discussion. This survey asked the new

engineers what they were taught, what they are now using in their jobs, and what is important to them. The

AIAA provided a distribution list of all of the Young Professional members in the society. A Young

Professional is defined as someone under the age of 35 years old. This survey closed at the end of July 2008.

The surveys were designed to determine the following points relative to the issues raised within AIAA:

Is there truly an issue with the amount and type of structured programming education included in the aerospace

engineering curriculum? Perhaps the issues raised by the ASG were isolated examples.

If there is some deficiency in structured programming education, how large is the gap between what is taught

and what is needed in the aerospace industry? If needed, the data from the surveys will be used to make

recommendations on accreditation changes to bolster programming education.

III. Review of Survey Results

All three surveys had acceptable response rates, as shown in table 1. The following sections summarize the key

findings from each survey, however, more detailed discussions of the data are provided in appendices. The data

from each survey are presented independently in this section, but are combined in a later section to provide a more

complete view of the overall situation deduced from the collective dataset. A complete listing of the questions for

each of the three surveys is provided in Appendix A. Detailed reviews of data collected from the surveys of the

Department Chairs, Industry and Young Professionals are contained in Appendices B, C and D, respectively.

Table 1. Summary of structured programming education survey participation.

Survey – Target Audience Survey

Requests Sent

Completed

Surveys

Response Return

Percentage

Academia (Aerospace Engineering Department Chairs) 77 28 36

Employers (managers) 163 96 59

Young Professionals 4124 810 20

A. Survey of Aerospace Engineering Departments The point of the Department Chair’s survey was to determine what programming skills the Chairs believe are

important, not only to their departments, but also their perception of the importance of programming skills to the

employers in industry, academia and government. The survey also tried to gain insight into the process the

departments use to develop their curriculum.

The data shows that MATLAB rated the highest in importance to the Aerospace Engineering Departments and

also had the most ratings of “very important”. The Department Chairs also believe MATLAB is the most important

tool to their constituents*. C/C++ was the second highest rated in importance to the Department Chairs of the

specific languages or tools†. However, the Chairs indicated that Excel is more important to the constituents than

C/C++.

Based on the data collected only from the survey of the Aerospace Engineering Department Chairs, it is clear

that the schools are making a valid effort to provide structured programming education to the aerospace engineering

students, given the constraints of including this training within a specified number of credit hours. The majority of

the responding schools (78 percent) are teaching C/C++ and 50 percent are teaching Fortran. In fact 89 percent of

the responding schools are teaching some form of structured programming (C/C++, Fortran and/or BASIC). Some

of the concerns that were raised may be real, based on other survey results, particularly that MATLAB is the highest

* “Constituents”, as used in this document, are from the point of view of the Department Chairs, and refers to the

employers (from industry, government and academia). † The “Other” category was actually rated second highest overall in importance to the Department Chairs, but as

there was no data to ascertain what languages or tools were included in this category the category was not given as

much overall weighting.

3

American Institute of Aeronautics and Astronautics

rated tool in terms of importance and that all of the schools that answered the survey are teaching MATLAB. Also,

the perception by the Chairs that MATLAB and Excel are more important to the employers than structured

programming skills is also a concern.

However, the schools are constrained when setting their curricula. A contributing factor in the establishment of

curriculum is the constraint to fit all of the required training into a limited number of credits. One department

indicated that they consolidated programming requirements from two courses into one in order to provide some

training and stay within credit number rules. Another department chair works with other departments to provide the

programming classes needed for the aerospace engineering students.

B. Survey of Employers NIS sent the second survey to managers who have the responsibility to hire aerospace engineers. The survey

polled 163 managers of which 96 managers responded (59% response rate). In terms of general background, 65

percent of the responses were from industry, 30 percent from government and 5 percent from academia.

Overall, the data and comments collected through the survey show that there is a wide range of programming

and computational tool skills needed. However, the main theme is supporting structured programming skills such as

Fortran and C/C++. There is still strong support for MATLAB, but not at the expense of structured programming

skills. The comments from the employers made it clear that they want engineers that can do programming. While the

specific language may vary, possessing the skill is critical.

The comments also provided information as to why structured programming skills are important for an

aerospace engineer. There are two distinct issues identified:

The ability to work with, including modifying, legacy codes. This was listed as an issue in 43 percent of the

comments.

The managers felt that programming is a basic skill for an aerospace engineer, as identified in 75 percent of the

comments. By basic skill, the managers indicated that it is a tool needed to complete tasks on a daily basis that

the skill is important in requirements development and that understanding structured programming provides

fundamental problem solving skills and therefore a logical approach to addressing any task.

One specific comment from the employer survey seems to sum up the overall theme:

“Fortran and/or C++ classes should be required; structured languages are more "generic" than software

packages, and therefore more portable and readily available. Many (many) legacy codes are written in Fortran.

Structured-language programming instills a logical approach to problem solving that transfers to engineering

analysis in general.”

C. Survey of Young Professionals The young professional survey bridged the two previous surveys and therefore examined two distinct parts of

their careers: first as a student and second as a professional. The young professionals were the largest group

surveyed and the large data set provided not only a snapshot in time in terms of educational and professional

aspects, but also allowed for some trending of results over time.

In general, the young professionals indicated that their education in structured programming did prepare them

well enough for their professional careers. On a 1 to 5 scale, where 1 is “poorly prepared” and 5 is “highly

prepared”, the average rating was 3.4 and this preparedness rating was basically constant from 1996 to 2008.

However, over the same period of time, there was also a decrease in education provided in programming skills,

although the percentage of respondents who indicated that they received at least some programming education was

still very high. For example, for the period of 1996 to 2004, about 90 percent of the respondents indicated that

structured programming was part of their undergraduate engineering education; however this percentage dropped to

about 80 percent or lower from 2005 through 2008. Over the same period, educational background in MATLAB

generally increased from about 80 percent to over 95 percent by 2008.

The young professionals were also given the opportunity to provide comments on their education relative to

structured programming, computational tools and how that training has translated into their professional careers.

There was a lot of information collected from the comments, and there is still much more data to be mined.

However, some of the ideas taken from the comments are summarized below.

How the respondent rated the need for any programming skill seems to depend on what they are doing in their

job. If their job is heavy on programming, but their education was not, then the suggestion was that more

4

American Institute of Aeronautics and Astronautics

programming education is needed. However, if the job was not programming related, then any programming

education was seen as a waste of time.

The job function is also a factor as to the usefulness of the type of education. For example, structures engineers

need CAD related training. Aerospace graduates who are working with legacy codes generally bemoaned the

lack of Fortran background.

Fortran was a polarizing subject. It was either a “must have”, generally by the aerospace graduates, or a “dead

language”.

There were several comments that showed an appreciation for learning one language as it provided a basis for

not only learning other languages, but also taught good problem solving skills. The following comment from the

survey captures these thoughts:

“As a freshman, I took a class in "C" (offered through the civil engineering department, oddly enough, because

the CS/EE department at MIT taught their introductory courses in a more esoteric language) This class

provided me with a good background in programming and gave me a marketable skill that I later used in

summer internships. Since then, I've found that picking up new software languages is often simply a matter of

learning a new set of syntax, but I'm grateful that that first class taught me how to structure a problem solution

in the form of a computer program. I'm actually happy that the class I took was not taught through my major

department (nor was it designed to cater only to civil engineering students), as it focused more on the

fundamentals of good programming, and not on particular aerospace applications -- the class taught me how to

solve problems in general, not how to solve a specific set of problems.”

There were many positive comments about having the programming education built into the engineering

courses. While this setup put a little more pressure on the student to also learn a programming language and the

subject matter for the course, the comments indicated that it was an effective method to learn the language and a

fair means to get an appreciation for the usefulness of programming skills since it was tied to major course

work.

“I felt well prepared. Although I didn't have Fortran training, since I was exposed to C++ and Matlab, and

therefore to basic coding practices, picking up a new language was not hard. By and large, it seems to me that

most programming skills are picked up as a secondary aspect of many classes - aka programming is required

for homework and projects. This is fine with me, although it does take some work on the part of the student.”

Many of the respondents indicated that they were self-taught in terms of the programming skills needed to

complete course assignments.

There were several comments from engineers that had been in the workforce for a number of years indicating

that their education in programming was more than sufficient, but that they were seeing deficiencies in more

recent graduates with respect to programming skills.

“I felt my training was more than adequate. However, as a new manager currently hiring new grads, I am

amazed at the lack of programming skills in new engineering grads. They may be taught a lot about how to run

software and use computers, but apparently universities no longer believe software development is part of

engineering practice.”

There were several comments indicating that the lack of formal education was greatly hindering the

respondent’s ability to do their job or that they were reluctant to take on tasks involving programming. The

most extreme comment of this type is listed below:

“I have a masters degree in dynamics and controls, despite the fact that C was never emphasized. The entirety

of my education was using MATLAB. Now "in the real world" I am not asked to work on controls systems, as I

do not have the C experience that is expected. According to potential employers, this lack of object oriented

programming (C and C++) education has left a glaring hole in my resume. Now, I graduated with honors, so I

can only blame this lack of knowledge on my school, due to the fact that the coursework was not required for

either the undergraduate or the graduate degree.”

5

American Institute of Aeronautics and Astronautics

IV. Analysis of Results

The information from each of the individual surveys provides only part of the story. The next step is to combine

the three data sets in order to glean additional insight.

The first item was to compare the importance rating data from the department chair and employer surveys, as

shown in Figure 1. The figure compares the importance ratings of the various programming languages and tools.

The figure contains the ratings set by the Department Chairs for the importance to their department as well as the

Chair’s perception of the importance to employers in industry, government and other institutions, and compares

these ratings to the employer’s importance rating of each language and tool. Of note is the comparison of the Chair’s

perception of the importance to the constituents and the employer’s ratings. In general, the constituent’s rating and

the employer’s rating agree for main programming languages. For C/C++, the Department Chairs provided a rating

of about 3 for their constituents while the employers indicated that the importance at about 3.4. The Department

Chairs did recognize that Fortran is even more important to their constituents, particularly industry and government,

as listed those ratings at 3.3 and 3.4, respectively, compared to the 3.7 rating from the employers. However, the

Chairs overestimated the importance of MATLAB to their constituents, showing ratings of 4 or higher, while the

employer’s average rating was 3.5. The importance of Excel to their constituents was underestimated by the Chairs.

1.0

1.5

2.0

2.5

3.0

3.5

4.0

4.5

5.0

C/C++ Fortran BASIC MATLAB Excel

Rat

ing

of

Imp

ort

ance

AE Departments

Constituents-Industry

Constituents-Government

Constituents-Other institutions

Employers

Figure 1. Importance ratings of the various programming languages and tools from the

Department Chair and Employer surveys.

Figure 2 summarizes the data collected from the Department Chair and employer surveys relative to what is

taught and what areas employers feel should be taught. Data in this figure motivates several interesting conclusions.

First, when looking at the structured programming data (C/C++ and Fortran) it would appear that the schools are

teaching this at a rate much higher than employers require. This is somewhat misleading. Many comments from the

employers indicated that the specific programming language was not as important as the understanding of how to

program. Therefore a composite data point called Structured Programming was created based on the employer data

(the far right data column in Figure 2). This data represents the total number of employers who indicated that any

type of structured programming should be taught. The encouraging point is that 81 percent of employers indicated

that some level of structured programming should be taught and a like number (78 percent) of the schools surveyed

are teaching C/C++. In fact, if the Department Chair survey data is combined as it was for the employer survey data,

then 89 percent of the responding chairs indicated that there is some sort of education provided in structured

programming at the undergraduate level.

6

American Institute of Aeronautics and Astronautics

Conversely, there is a large gap between the schools and employers in terms of the emphasis that should be

placed on MATLAB and Excel. As indicated in Figure 2, 100 percent of the responding Department Chairs

indicated that MATLAB is being taught in some form at the undergraduate level. Compare that to the 30 percent of

employers that feel MATLAB should be taught. A similar trend is seen for Excel (65 percent of schools are teaching

it versus about 15 percent of employers that feel this training is necessary).

While MATLAB and Excel are very important tools used in industry, the comments from the employers

indicated that developing a working knowledge of these tools was considered “training”, not “education”. The

employers would rather have the schools focus on educating the aerospace engineering students on how to think in a

programming language; the flow of the code, how to make the code efficient, etc. These skills could then be applied

to any programming language or tool.

Figure 3 compares the levels of education provided, as indicated by the Department Chair survey data, to

education received, per the young professional survey data. The young professional data is presented for both the

entire data set (all survey responses) and the aerospace engineering students/graduates only. Overall, the level of

education matched closely with the level of education received, as is probably expected. Granted, the datasets do not

match exactly in terms of the schools represented in either sample, so some variation is expected. The only large

difference is in the C/C++ data where 78 percent of the schools are teaching this language, but only about 60 percent

of the young professionals indicated receiving education in that skill. However, when looking at the general

category of Structured Programming, both the Department Chairs and the Young Professionals data show very high

percentages in terms of the education levels (89 and 87 percent, respectively).

Figures 4 and 5 provide usage or importance ratings comparisons for the various programming languages and

computational tools from the employer survey and young professional survey. Figure 4 shows the average

importance rating for several of the languages and tools. Overall, the employers and the young professionals rated

each item about the same, although the young professionals were consistently lower on the programming languages

(C/C++, Fortran and BASIC). Similar trends are seen in Figure 5, which shows the percentage of “very important”

ratings for each programming language or tool. The data presented in both charts tends to support the concern raised

0

10

20

30

40

50

60

70

80

90

100

C/C++ Fortran BASIC MATLAB Excel Structured Programming

Per

cetn

age

po

siti

ve r

esp

on

ses

Undergraduate Training

Graduate Training

Stand-alone Course

What employers require

Figure 2. Summary of results relative to what programming languages or tools courses are being

taught (from the Department Chair survey) and what courses the employers would like to see

taught.

7

American Institute of Aeronautics and Astronautics

by employers that the young professionals may not be using the higher level programming languages for some tasks.

However, as the populations of employers and young professionals that were surveyed probably did not overlap

completely, there is a greater margin for disagreement.

To pull together the results from all three surveys, the importance rating of the various languages and tools from

the Department Chairs, employers and young professionals are plotted in Figure 6 (this is a combination of the data

presented in Figures 1 and 4).

Using the employer data as the reference for the industry need of each language or tool, the following

observations are made:

The employers and young professionals are in close agreement on the importance of tools like MATLAB and

Excel and consistently rate these tools as quite important for use in industry. The Department Chairs rate

MATLAB as the most important of all the languages and tools, while Excel is considered of lower in

importance.

However, when looking at the programming languages, the young professionals ratings are considerably lower

than the employers. Again, the Department Chairs data splits on the importance of the programming languages,

rating C/C++ on par with the employer’s rating, but rating Fortran lower and more in-line with the young

professional rating.

National Aeronautics and Space Administration

www.nasa.gov 1

0

10

20

30

40

50

60

70

80

90

100

C/C++ Fortran BASIC MATLAB Excel

Per

cen

tage

of

Po

siti

ve R

esp

on

ses

Dept. Chairs

YP (all)

YP (AE)

Structured

Programming

Figure 3. Comparison of survey data in terms of courses taught. The Department Chair survey

data (Dept. Chairs) shows what is being taught. The data from the young professional survey

provides information as to the education received. The young professional data is presented for

the entire data set, YP (all), and aerospace engineering graduates only, YP (AE).

8

American Institute of Aeronautics and Astronautics

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

4.5

5.0

C/C++ Fortran BASIC MATLAB Excel

Imp

ort

ance

Rat

ing

Employers

Young Professionals

Figure 4. Importance rating of selected programming languages and computational tools according to the

results of the employer survey and young professional survey.

0

10

20

30

40

50

60

70

C/C++ Fortran BASIC MATLAB Excel

Per

cen

tage

of

"Ver

y Im

po

rtan

t" R

atin

gs

Employers

Young Professionals

Figure 5. Number of “very important” ratings for each programming language or tool from the employer

survey and young professional survey results

9

American Institute of Aeronautics and Astronautics

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

4.5

5.0

C/C++ Fortran BASIC MATLAB Excel

Rat

ing

of

Imp

ort

ance

AE Departments

Employers

Young Professionals

Figure 6. Summary of the importance rating results from the three surveys (combines results from Figures 1

and 4).

V. Summary of Results

The following is a summary of the primary observations from the collected survey data.

A. Department Chair Survey:

The Department Chair survey results indicated that the majority of the aerospace engineering departments do

include some structured programming education in the curriculum. 78 percent of the Chairs indicated that they

include training in C/C++. Overall, 89 percent of the schools that responded include some form of education in

structured programming.

All of the responding Department Chairs indicated that there is some education in MATLAB included in the

aerospace engineering curriculum.

MATLAB was rated as the most important tool to their departments by the Department Chairs. C/C++ was

rated as the second most important.

The Department Chairs slightly overrated the importance of MATLAB to their constituents. They also slightly

underrated the importance of C/C++.

B. Employer Survey:

Employer survey data indicated that there is a wide range of programming and computational tool skills needed.

However, the main theme from the data is that structured programming skills should be included in the

undergraduate aerospace engineering curriculum.

There is a strong need for MATLAB in industry, but training in MATLAB at the collegiate level should not be

done at the expense of structured programming skill.

10

American Institute of Aeronautics and Astronautics

Overall, the employers want aerospace engineers that are competent in structured programming. The specific

language varies, but many of the respondents indicated that the specific language is not important, but rather the

education in how to think and solve problems is the key and that proper education in programming provides this

skill set.

The employers indicated that Fortran is and will be a relevant programming language due to the need to work

with and modify legacy codes.

The percentage of schools teaching structured programming and the percentage of employers who indicated

programming should be included in the curriculum were both around 80 percent. This is a positive point and

may be an indication that there is not a major disconnect.

However, only 30 percent of employers indicated that MATLAB should be included in the undergraduate

aerospace engineering curriculum, while all of the responding Department Chairs indicated that they do teach

MATLAB.

C. Young Professional’s Survey:

The young professional survey data provided a good sanity check to both the Department Chair and employer

survey data. Adding the young professional survey seemed to give a more balanced perspective to the overall

study.

The young professional survey data showed very good agreement with the Department Chair survey data in

terms of the amount of training being provided in the various programming languages and computational tools.

There was also general agreement with the employer data in terms of the importance and usage of the

programming languages and tools, although the ratings from the young professionals were lower for Fortran and

C/C++.

There were many comments from the young professionals stating that they had missed the significance of

programming while in school since that part of their education was not emphasized or was not tied to the major

field of study. Conversely, the young professionals that completed a curriculum where programming skills were

integrated into their major course work indicated that they had a much better understanding of programming

and were in general better prepared for their careers.

The trend over time seems to be a slight decrease in the number of schools providing structured programming

education and an increase in education in MATLAB at the undergraduate level. This observation is from the

young professional survey data, and while these are subtle trends, they are trends that need to be checked if not

reversed.

D. General Observations

The following are the primary conclusions that were drawn from the review of the information collected from the

three surveys:

While aerospace engineering departments are providing educational background in structured programming,

comments from the young professional survey indicate that there is often no connection between this training

and the primary aerospace engineering courses.

There may be an over emphasis in the schools on providing education in tools such as MATLAB and Excel.

While these tools are very important to the aerospace industry, the employers have indicated that education

resources should be expended on structured programming. The thought here is that providing the education in

structured programming also teaches the engineering students problem solving and organizational skills that can

be applied in other aspects of their careers.

VI. Conclusions and Recommendations

This study was setup to investigate concerns raised by managers in the aerospace industry regarding the

apparent lack of knowledge in structured programming exhibited by recent aerospace engineering graduates. A

series of surveys were conducted to gauge the state of programming education and the use of programming

languages and tools in the aerospace industry. The surveys were addressed to the Aerospace Engineering

Department Chairs, aerospace managers and employers and young professionals in the aerospace engineering field.

The data from these surveys indicate that most aerospace engineering departments are providing structured

programming education as part of the curriculum for an aerospace engineering degree. However, the basic concerns

raised by the employers and comments from the young professionals collected in the survey indicate that there is not

a close tie between the programming and the mainstream aerospace engineering courses. The young professional’s

11

American Institute of Aeronautics and Astronautics

survey data showed that many of the recent aerospace engineering graduates did not have an understanding of the

need for structured programming and that what training they did receive in school was not related to their major

field of study, so it was little use at that time.

The survey data also indicate that the Department Chairs’ place an over importance on tools like MATLAB and

Excel. These tools are very important to industry, but the employers indicated that training in these tools should not

come at the expense of education in structured programming. The employer survey data indicate that education in

structured programming also provides foundational skills in problem solving and organization skills that are critical

for any engineer.

Reference 1 outlines the lessons learned in the Mechanical Engineering Department at the University of

California, Davis. In 1998 the ME department dropped Fortran in favor of MATLAB. However, after four years, it

was obvious that the programming skills of the students were significantly lower than the skills of those students

who learned Fortran. Examples were given of both undergraduate and graduate students who had difficulty in

handling a variety of design and research projects that required programming skills. In 2003, the ME department

updated the curriculum to include a programming course that combined C and MATLAB, with optional material

available in Fortran. Five years later, the ME department at UC Davis had achieved their goal of providing their

students a better and more balanced programming education. The students who completed the combined C and

MATLAB training were much more proficient in solving engineering problems using either C or MATLAB alone.

It is understood that adding classes on structured programming to an already full curriculum is a difficult

problem facing the Department Chairs. However, adding classes may not be required as most of the schools are

already teaching some level of programming. The recommendation is for the departments to review how structured

programming and computation tools are being taught in their aerospace engineering curriculum and to adjust these

existing courses so that they better tie in to the primary aerospace engineering course work. By providing more

emphasis on programming and less on tools like MATLAB and Excel in existing courses, and also incorporating the

programming skills into the aerospace engineering courses, the concerns can be addressed and corrected.

While this is certainly not a trivial task, it appears that it is achievable. There are examples of schools that have

made these types of adjustments in their courses to better address programming education. Georgia Institute of

Technology began a program in 1999 to teach programming skills to all students enrolled at the school (reference 2).

The classes were provided by the College of Computing. While MATLAB was used as the language taught, as the

educational program evolved over the next several years, it did prove successful in instilling computing skills in the

graduates. One of the key lessons learned was that the faculty from the other department must be included in the

development of the computing courses for majors outside of computer science. In this way, the programming skills

are given the needed relevance to the major area of study through the student’s collegiate and professional careers.

During the 1980s, the undergraduate aerospace engineering curriculum at West Virginia University was set up

in such a way that structured programming was an integral part of the overall education‡. The first aerospace

engineering course, Introduction to Aerospace Engineering (AE10), was taught first semester of the sophomore year.

This course focused on basic engineering principles as well as programming (FORTRAN77 and BASIC). These

programming skills were used to complete basic analysis and problem solving related to the engineering principles

being addressed in this class. For the second semester of sophomore year, the students moved on to the second half

of Introduction to Aerospace Engineering (AE11), where they started getting into more specific topics in aerospace

engineering such and basic aerodynamics and aircraft performance. The students were required to use the

programming skills learned the previous semester when completing class assignments. As the engineering concepts

became more advanced, their programming skills had to evolve in order to keep pace. So, the students were growing

their knowledge in both aerospace engineering and in the programming tools needed to be successful engineers. This

concept of integrating the programming skills in the aerospace engineering courses continued through the remainder

of the curriculum, although it was not applied in all courses.

So, while the concerns raised by the aerospace industry relative to structured programming education are real,

the solution may not be that difficult to achieve. The aerospace engineering departments are providing the structured

programming education, but it needs to be refocused so that the students can understand the importance and

relevance to their careers as aerospace engineers.

There is also a lesson for the employers. The data from the Department Chair survey showed that input from

industry is one of the primary drivers in the development of the department’s curriculum, and the Chairs indicated

that they are using this input. So there could be a disconnect between what is being presented to the Aerospace

Engineering Departments and the true needs from some areas of industry. It is recommended that the employers

‡ Personal recollection of the author.

12

American Institute of Aeronautics and Astronautics

ensure that their requirements for education and skills are being clearly communicated to the schools. Perhaps the

input being provided by individuals representing industry on advisory panels is not truly representative of the needs

of all of industry.

Appendix A. Survey Questions

The following is a listing of the questions that were asked as part of the three surveys used in this study. Some

of the more detailed questions listed are shown as screenshots of the actual on-line survey. Many of the boxes

requiring input contained drop-down menus for selections, which are also shown in the screenshots.

Department Chair Survey

National Aeronautics and Space Administration

www.nasa.gov 1

Yes

No

Intro AE Classes

Aerodynamics

Fluids

Numerical Methods

Engineering Analysis

Finite Element Analysis

Instrumentation Lab

Thermo/Fluids Labs

Heat Transfer Labs

Stability and Control

Structures

Propulsion

Other

Less than 4 weeks

4 to 5 weeks

6 to 8 weeks

8 to 10 weeks

More than 10

weeks

13

American Institute of Aeronautics and Astronautics

Employer Survey

14

American Institute of Aeronautics and Astronautics

National Aeronautics and Space Administration

www.nasa.gov 2

Aerodynamic Analysis

Data Reduction and Analysis

Flight Dynamics

Flight Mechanics

Fluid Dynamics

Guidance, Navigation and Control

High Fidelity Code Development

Mission Analysis

Propulsion Analysis

Structural Analysis

Thermal and Reactive Flows

Uncertainty Analysis

Other

Note that questions 6 and 8 simply asked the respondent to define “Other” from the previous question.

15

American Institute of Aeronautics and Astronautics

Young Professionals Survey

This survey was divided into two sections, the first addressing the respondents educational experience and the

second looking at their professional careers.

The first four questions collected demographics data relative to the respondents’ educational background:

1. Year of birth.

2. Undergraduate degree completed (Aeronautics/Aerospace, Mechanical, Electrical, other engineering or non-

engineering).

3. Year of graduation.

4. School Attended.

The fifth question asked what they were taught with respect to structured programming or tools as part of their

undergraduate studies. This question was basically copied from question 1 of the Department Chair survey. Question

6 asked for the definition of “Other” if that choice were selected in question 5.

The next three questions provided demographics information on the respondents’ professional career:

7. General work area (industry, government or academia).

8. Job title.

9. Description of job functions.

Question 10 asked for details of the programming languages and tools used as part of their job duties. This was

a copy of question 9 from the employer’s survey (question 11 again asked for the definition of “other” if that option

was selected.

Lastly, the survey sought the opinion of the respondent relative to their educational background and

programming in general.

12. How well did your college training prepare you for your professional duties in terms of programming and the

use of computational tools? Please rate on a 1-5 scale where 5 indicates "highly prepared" and 1 is "poorly

prepared.

13. Here's your opportunity to provide feedback on any point relative to structured programming or computational

tools, such as the training you received during your time in school, how closely or training applies to the tasks

you are doing in your work career, is there any particular skill that you were not taught that you now need, etc.

Note also that the final question of each survey asked for an email address of the respondent in case they would

like to be made aware of the results of the study.

Appendix B. Summary of data from the Aerospace Engineering Department Chair Survey

The Department Chair’s survey consisted of five questions. The point of the survey was to determine what

programming skills the Chairs believe are important, not only to their departments, but also their perception of the

importance of programming skills to the employers in industry, academia and government. One question tried to

gain insight into the process the departments use to develop their curriculum.

Question one tried to ascertain which classical structure programming languages and computational tools were

taught as part of the aerospace engineering curriculum. Provisions were made to indicate if a language or tool was

taught as a stand-alone subject or in conjunction with another class or classes. The results of question 1 are

summarized in Table 2.

The skills listed in the first column were the default options listed in the survey, and included a catch-all answer

of “Other”. Unfortunately the survey was not designed to allow the respondent to define the other languages or tools

(this oversight was corrected for the surveys of employers and young professionals). Not every respondent provided

information for each language or tool, therefore the data is listed as both the percentage of positive responses as well

as the number of positive responses out of the total number of responses.

The information in Table 2 indicates that the majority of aerospace engineering schools are providing some

level of education in structured programming. For example, education in C/C++ is provided by 78% of the

responding schools and 73% indicated that they provide C/C++ as a stand-alone course. On the other hand, all of the

respondents indicated MATLAB is taught and used in classes; however, only 29% offered a stand-alone MATLAB

course.

16

American Institute of Aeronautics and Astronautics

Table 2. Response from the Department Chairs to question 1 of the survey regarding what structured

programming and computational skills were being taught as part of the aerospace engineering curriculum at

each institution.

Language or Tool Undergrad.* Graduate* Stand-

alone

Course*

Average

no. of

weeks

Taught with Topic

C/C++ 78%

(18/23)

25%

(4/16)

73%

(11/15)

10 Introduction to Aerospace

Engineering; Numerical

Methods

Fortran 50%

(11/22)

38%

(6/16)

47%

(7/15)

10 Numerical Methods

BASIC 13%

(2/16)

0%

(0/12)

0%

(0/3)

4 Instrumentation Lab

Structured Programming

Combined

89%

(24/27)

33%

(6/18)

78%

(15/19)

--- ---

MATLAB 100%

(27/27)

44%

(7/16)

29%

(5/17)

7 Stability and Control;

Numerical Methods

Mathcad®

(Parametric Technology Corp.,

Needham, MA)

29%

(5/17)

8%

(1/12)

20%

(2/10)

5

ProENGINEER®

(Parametric Technology Corp.,

Needham, MA)

55%

(11/20)

9%

(1/11)

39%

(5/13)

8 Engineering Analysis

SolidWorks®

(Dassault Systems, Velizym

France)

39%

(7/18)

8%

(1/13)

43%

(3/7)

8

Excel 65%

(13/20)

8%

(1/13)

9%

(1/11)

5 Introduction to Aerospace

Engineering

Other 77%

(10/13)

30%

(3/10)

44%

(4/9)

6 Labs

*Percentage of respondents that are teaching the tool, (positive responses/total responses)

The second question gauged the importance of the programming languages and tools. The survey asked the

Department Chairs to rate the importance of each language and tool on a 5-point scale, with 1 meaning not very

important and 5 meaning very important. The survey also asked the Chairs to provide their understanding of the

importance of each language or tool in industry, government and other institutions. The data from this question is

summarized in Table 3. Three numbers summarize Department Chair opinions relative to each language or software

tool: the first number is the average 5-point scale rating of all responses, the second number (in parentheses) is the

total number of responses, and the third number is the total number of responses that rated this item as “very

important” (5 on the 5-point scale).

The data shows that MATLAB rated the highest in importance to the Aerospace Engineering Departments and

also had the most ratings of “very important”. The Department Chairs also believe MATLAB is the most important

tool to their constituents§. C/C++ was the second highest rated in importance to the Department Chairs of the

§ “Constituents”, as used in this document, are from the point of view of the Department Chairs, and refers to the

employers (from industry, government and academia).

17

American Institute of Aeronautics and Astronautics

specific languages or tools¶. However, the Chairs indicated that Excel is more important to the constituents than

C/C++.

Question 3 asked the Department Chairs to briefly describe the factors and processes that their department

considers in establishing its curriculum. Many of the respondents indicated that there were multiple factors that

affected the makeup of the curriculum. Input from the department and faculty, ABET accreditation requirements and

input from industry sources (advisory boards, recruiters, alumni) were the primary influences. In fact, there was at

least one respondent that questioned the need for the survey, as the departments were already getting direction on the

employers needs relative to programming skills.

Table 3. Summary of answers from question 2 of the survey of the Department

Chairs. The point of the question was to gauge the importance of programming

languages and tools to the schools and their constituents. The set of three numbers

for each entry are: the average rating of importance, (total number of responses),

number of responses indicating a rating of “highly important”.

Language or

Tool

Your

Department

Industry Government Other

Institutions

C/C++ 3.6 (24) 6 3.1 (17) 3 3.0 (13) 2 2.9 (9) 1

Fortran 3.0 (24) 4 3.3 (18) 4 3.4 (13) 3 2.6 (8) 0

BASIC 1.5 (20) 0 1.4 (14) 0 1.4 (10) 0 1.3 (6) 0

MATLAB 4.5 (25) 13 4.1 (18) 7 4.1 (12) 5 4.4 (8) 4

Mathcad 2.1 (19) 2 2.1 (14) 0 1.6 (10) 0 2.2 (6) 0

ProENGINEER 2.7 (22) 3 3.3 (18) 3 2.3 (11) 0 1.7 (7) 0

SolidWorks 2.3 (18) 2 2.6 (13) 1 1.9 (9) 0 1.7 (6) 0

Excel 3.2 (23) 6 3.6 (16) 5 3.6 (10) 2 2.7 (7) 0

Other 4.0 (9) 4 3.4 (7) 1 2.8 (5) 0 2.7 (3) 0

Another contributing factor in the establishment of curriculum is the constraint to fit all of the required training

into a limited number of credits. One department indicated that they consolidated programming requirements from

two courses into one in order to provide some training and stay within credit number rules. Another department

chair works with other departments to provide the programming classes needed for the aerospace engineering

students.

Questions four and five provided some demographics information about the aerospace engineering classes. The

average size of the undergraduate aerospace engineering graduate class for the responding departments was 47

students, while the class size varied from 17 to 100. The survey also tried to ascertain the approximate percentage of

the undergraduate students who entered the workforce or continued on to graduate studies. The data indicated that

25 to 30 percent of the students continued on to graduate school after completing their undergraduate degree. Of

those entering the workforce, about 55 percent went to work for industry and 25 percent to government employment.

¶ The “Other” category was actually rated second highest overall in importance to the Department Chairs, but as

there was no data to ascertain what languages or tools were included in this category the category was not given as

much overall weighting.

18

American Institute of Aeronautics and Astronautics

Appendix C. Employer Survey Data Summary

The first set of questions gathered the demographics of the survey respondents. The survey first asked for the

primary technical area for each participant (Table 4). The survey next looked at the programming skills required by

their organization. One question asked the type of tasks that were conducted on a regular basis by the engineers.

Table 7 contains their responses. While the tasks cover a fairly wide area in terms of program usage and skills

required, 90 percent of the managers listed the development and/or modification of analysis tools in standard

programming languages as one of the tasks for their engineers.

Table 4. Demographics from employer survey with

respect to primary technical area of responsibility.

Technical Area Percentage of

responses

Aero/Mechanical Engineering 24.5

Modeling; CFD 20.2

Flight Mechanics/Control 16.0

Propulsion 12.8

Testing 11.7

Fluids 7.4

Weapons Systems 7.4

General Engineering 5.3

Mission Analysis 5.3

Electrical Systems 2.1

Table 5. Size of engineering staff managed

by respondents of the employer survey.

Number of direct

reports

Percent of responses

Less than 10: 18.9

10 to 20: 21.1

21 to 40: 28.4

41 to 60: 5.3

More than 60: 26.3

Table 6. Percentage of staff that hold

BSAE degrees.

Percentage of staff

with a BSAE degree

Percentage of

responses

Less than 10: 14.7

10 to 25: 21.1

25 to 50: 21.1

50 to 75: 14.7

More than 75: 28.4

Another question tried to determine the types of software used by their engineers. Table 8 contains the results.

While 90 percent of the respondents indicated that their engineers use commercial-off-the-shelf (COTS) software

packages, nearly 86 percent also indicated that their engineers develop custom code for use within their

organization.

Next the employers were asked to provide more specifics as to the technical areas their engineers supported and

the importance of each programming language or tool to each technical area. Tables 9 and 10 contain the results.

The managers were given the opportunity to rate the importance of each language or tool for up to two technical

areas. Table 9 summarizes their opinions. In some cases, the total number of responses exceeds the total number of

completed surveys (for example, there were 96 surveys completed, but in Table 9 there are 116 responses from the

19

American Institute of Aeronautics and Astronautics

survey indicating usage of C/C++ since some mangers indicated that C/C++ was used in more than one technical

area).

Table 7. Summary of the type of tasks conducted by the engineers in the areas managed by each respondent

to the employer survey.

Type of Task Percentage of managers who have

engineers performing these tasks.

Run in-house codes without source code modification: 85.9

Develop specialized high-level program code: 58.7

Develop and/or modify analysis tools in standard programming languages: 90.2

Develop and/or modify software involving hardware interfaces: 42.4

Develop object oriented software: 40.2

Develop and/or modify test flight qualified software: 28.3

Other: 8.7

Table 8. Summary of the types of software used by the engineers in the areas managed by each respondent

to the employer survey.

Type of Software Percentage of managers who use each type of

software in their work area.

COTS software/analysis packages: 90.1

Develop customized modules for COTS packages: 58.2

Use/modify source code from vendors: 50.5

Develop custom source code internally for in-house use: 85.7

Develop software for sale or use by other organizations and

provide technical support:

20.9

Develop test flight qualified software: 26.4

Develop/modify machine-level code: 14.7

Other: 3.3

The information included in Table 9 for each programming language or tool is:

Number of responses: total number of responses from the primary and secondary tasks.

Average importance rating (scale of 1 to 5, where 1 in not “very important” and 5 is “very important”).

Number “very important” (5) rating responses.

Percentage of ratings listed as “very important” (5).

20

American Institute of Aeronautics and Astronautics

Table 9. Summary of the usage and importance ratings of the subject programming languages and tools from the employer survey.

Language/Tool C/C++ Fortran BASIC MATLAB Mathcad ProENGINEER SolidWorks Excel Other

# responses 116 116 45 105 44 33 31 108 47

Average rating 3.43 3.73 2.02 3.50 2.07 2.18 1.68 4.20 4.49

# of 5 responses /

% of responses 41 35.3 48 41.4 2 4.4 39 37.1 3 6.8 4 12.1 2 6.5 63 58.3 34 72.3

Table 10. Breakdown by specific technical tasks of the usage of each programming language or tool based on data from the employer survey. For each

language/tool the first column indicates the number of responses (R) and the second column is the percent of responses (total number of responses listed

at the bottom of the column).

Language or Tool: C/C++ Fortran BASIC MATLAB Mathcad ProENGINEER SolidWorks Excel Other

Technical area R % R % R % R % R % R % R % R % R %

Aerodynamic analysis 12 11.4 21 20.4 4 13.3 10 10.2 2 7.7 1 5.3 2 18.2 9 9.1 4 8.5

Data reduction 14 13.3 10 9.7 12 40.0 32 32.7 9 34.6 0 0.0 0 0.0 48 48.5 4 8.5

Flight mechanics 6 5.7 11 10.7 1 3.3 10 10.2 2 7.7 0 0.0 0 0.0 2 2.0 3 6.4

Fluid Dynamics 5 4.8 10 9.7 0 0.0 6 6.1 0 0.0 0 0.0 0 0.0 1 1.0 4 8.5

GNC 19 18.1 13 12.6 2 6.7 18 18.4 3 11.5 1 5.3 2 18.2 3 3.0 6 12.8

High-fidelity code devel. 18 17.1 8 7.8 1 3.3 1 1.0 0 0.0 0 0.0 0 0.0 1 1.0 2 4.3

Mission analysis 6 5.7 4 3.9 2 6.7 4 4.1 2 7.7 1 5.3 0 0.0 8 8.1 4 8.5

Propulsion analysis 4 3.8 6 5.8 1 3.3 1 1.0 0 0.0 0 0.0 0 0.0 3 3.0 1 2.1

Structural analysis 9 8.6 12 11.7 3 10.0 5 5.1 3 11.5 4 21.1 2 18.2 9 9.1 6 12.8

Structural design 2 1.9 1 1.0 0 0.0 0 0.0 2 7.7 10 52.6 4 36.4 0 0.0 2 4.3

Thermal and reactive flows 2 1.9 4 3.9 0 0.0 5 5.1 1 3.8 0 0.0 0 0.0 3 3.0 1 2.1

Uncertainty estimation 0 0.0 0 0.0 0 0.0 3 3.1 0 0.0 0 0.0 0 0.0 6 6.1 0 0.0

Other 8 7.6 3 2.9 4 13.3 3 3.1 2 7.7 2 10.5 1 9.1 6 6.1 10 21.3

Total responses: 105 103 30 98 26 19 11 99 47

20

Am

erican In

stitute o

f Aero

nau

tics and

Astro

nau

tics

21

American Institute of Aeronautics and Astronautics

Table 9 shows the managers gave equal overall importance to the structured programming languages (C/C++

and Fortran) as they do to tools like MATLAB and Excel. The numbers as a function of language and tool (116 for

C/C++ and Fortran, 105 for MATLAB and 108 for Excel) clearly illustrate that both languages and COTS are

critical to industry. Excel had the highest overall rating at 4.2#. The programming languages and MATLAB all had

about the same rating. Excel also had the highest number “very important” ratings (58 percent of the total number of

ratings), while C/C++, Fortran and MATLAB again had similar results in terms of number and percent of “very

important” ratings.

The information in Table 10 further delineates between programming language and tool. The primary view for

this table is along the vertical columns for each language or

tool, as this gives a breakdown of the usage of each by

technical area. For example, Fortran is used fairly evenly

across the spectrum of technical areas, but its highest usage

is in aerodynamic analysis (20.4 percent), while Excel,

which also has some usage in most of the areas, is

predominately used in data reduction (48.5 percent).

MATLAB and C/C++ are utilized in most every technical

area with both getting a lot of work in the guidance,

navigation and control (GNC) arena (both about 18

percent). However, MATLAB has its highest usage (32

percent) for data reduction tasks (C/C++ has a fairly good

usage for data reduction at 13 percent). Note that for

fidelity code development, C/C++ has the highest usage of

all the languages or tools (17 percent) while tools like

MATLAB and Excel have almost no usage for this

technical area.

Next the survey asked the managers their opinions as

to what they thought should be taught as part of an

aerospace engineering undergraduate degree curriculum

with respect to programming languages and related tools.

The question was left as an open-ended response so that the

respondent was not constrained with options from a pull-

down menu. It was hoped that by giving the respondent this

freedom of choice that no option would be inadvertently

omitted. Table 11 contains the results. For this question,

86 respondents provided input. Also, many of the

respondents indicated more than one language or tool that

they felt should be included in the educational background

of aerospace engineering graduates.

The structured programming languages (C/C++ and

Fortran) had the highest percentage of positive responses.

Regardless of the specific language, many of the

respondents also indicated that programming skills should

be taught. Some of the comments from the managers indicated that as long as the student is educated in how to

program and how to think through the steps and logic of developing a code to accomplish a task, the language was

not important. So if an aerospace engineering graduate was educated using Fortran, but the employer used C++, for

example, the employer would be willing to provide training in the syntax of C++, since the underlying education in

programming thought was already in place. As such, it seemed prudent to also combine all the responses that

included some form of structured programming to get the overall magnitude. As shown in Table 11, 81.4 percent**

# The “Other” category had the overall highest rating by the employers (4.49), but there was no consistent language

or tool selected when defining these other options. In some cases, an in-house developed code was listed as the most

important. While not every respondent identified the tools or languages used in the “Other” category, the most often

listed items were Python, PEARL, C#, CATIA® (IBM, Armonk, NY) and NASTRAN.

** In computing this percentage, any respondent who listed any form of structured programming (C/C++, Fortran,

general programming skills, etc.) was included in the total. Some respondents did indicate multiple programming

languages; however, they were only counted once in the total calculation.

Table 11. Summary of the opinions of the

mangers surveyed as to what they felt should be

included as part of the undergraduate aerospace

engineering curriculum in terms of programming

and computational tool.

Programming Language or Tool Percent of 86

responses

Fortran 39.5

C/C++ 43.0

Pascal 1.2

General Programming Skills 33.7

Structured Programming (total) 81.4

MATLAB 30.2

Excel 14.0

LabVIEW® (National

Instruments, Austin, TX)

1.2

Object oriented 12.8

Java® (Oracle Corporation,

Redwood, CA)

4.7

Simulink® (The MathWoks, Inc,

Natick, MA)

4.7

Python™ (Python Software

Foundation)

3.5

22

American Institute of Aeronautics and Astronautics

of the managers indicated that one or more structured programming languages should be taught as part of the

aerospace engineering curriculum.

Table 12 provides a more detailed analysis of the information on what should be taught. Here, the opinions from

the employer survey data have been broken out by technical discipline. The following definitions are used in Table

12:

Technical Area Identified: The number of respondents that were identified as working in each technical area.

Detailed input: The number of managers that were identified in each technical area that did provide opinion as

to the educational requirements in programming languages and tool.

For each programming language or tool listed there are two numbers reported under each technical area. The

first is the total number of positive responses and the second is the percentage out of the total number of

responses for that technical area.

Structured Programming (total) is the defined in footnote**.

Table 12. Breakdown by technical area of the opinions of managers as to programming education needs in

aerospace engineering curriculum.

Technical Area: AE and ME M&S and

CFD

Flight

Control

Propulsion Testing Fluids

Identified 23 19 15 12 11 7

Detailed input 19 16 12 8 7 7

Fortran 10 52.6 6 37.5 4 33.3 5 62.5 3 42.9 4 57.1

C/C++ 5 26.3 9 56.3 7 58.3 2 25.0 6 85.7 2 28.6

General

Programming

7 36.8 6 37.5 12 100 5 62.5 2 28.6 3 42.9

Structured Prgm

(total)

16 84.2 14 87.5 12 100 8 100 6 85.7 6 85.7

MATLAB 7 36.8 4 25.0 5 41.7 1 12.5 6 85.7 3 42.9

Excel 5 26.3 2 12.5 0 0 0 0 3 42.9 1 14.3

The summary in Table 12 indicates that while different technical areas prefer specific programming languages,

all of the disciplines are strongly in favor of including structured programming as part of the undergraduate

aerospace engineering curriculum. The tools such as MATLAB and Excel in general have good support from all the

areas. However, in no technical area does either MATLAB or Excel exceed the structured programming total. Only

in the Testing area were both MATLAB and structured programming considered highly desirable for inclusion in

the curriculum.

From this same survey question (question 11) there were two other interesting, yet conflicting, pieces of data.

8.1% of the respondents indicated that there is an overemphasis on MATLAB or that MATLAB should not be

taught as it is not a viable substitute for structured programming skills. However, 7 percent of the respondents listed

MATLAB as required education without requiring any structured programming skills. Unfortunately, no technical

data were available for either of these areas.

Appendix D.- Summary of Data from Young Professional’s Survey

As a starting point, demographics data were collected regarding the age of the respondents (Figure 7),

graduation date (Figure 8) and major field of study (Table 13).

23

American Institute of Aeronautics and Astronautics

The survey also collected data on the school attended by each respondent. There were 809 responses that

identified their school. Of these, 662 of the respondents graduated from U.S. schools while 147 attended elsewhere.

The results came from 125 U.S. universities and 109 foreign schools. Table 14 lists the schools with the highest

representation in the survey results. The top ten schools in terms of number of responses accounted for about 24% of

the total number of responses. There were 46 schools that had at least 5 responses (all U.S.)

0

10

20

30

40

50

60

70

80

90

100

19

88

19

89

19

90

19

91

19

92

19

93

19

94

19

95

19

96

19

97

19

98

19

99

20

00

20

01

20

02

20

03

20

04

20

05

20

06

20

07

20

08

20

09

20

10

20

11

20

12

BS

Gra

du

ate

s

Graduation Year

Figure 8. Graduation date demographics for the respondents of the young professional survey.

0

10

20

30

40

50

60

70

80

90

41

39

37

35

33

31

29

27

25

23

21

19

17

Nu

mb

er

of

res

po

nd

en

ts

Age of respondent

Figure 7. Age demographics of the respondents to the young professional survey.

24

American Institute of Aeronautics and Astronautics

The survey polled the young professionals about their

educational background with respect to programming

languages and tools. This was the direct counterpart to the

question on the Department Chair survey about the

education offered. Table 15 summarizes the responses

from all participants while Table 16 contains results only

from aerospace engineering graduates.

The data show that most of the young professionals

did receive some education in structured programming.

Over half of the respondents indicated training in Fortran

and about 60 percent in C/C++. The majority of the

responses also indicated that structured programming

training was provided in a stand-alone course (nearly 70

percent for C/C++ and over 50 percent for Fortran).

However, tools such as MATLAB and Excel were

taught at a much higher rate than the structured

programming languages. The survey results show that 90 percent of the undergraduate and 72 percent of the

graduate level aerospace engineering students received training in MATLAB. There was a lower occurrence on

stand-alone courses for MATLAB (32 percent).

Looking at the bulk data set does not tell the entire story.

Since graduation year is part of the overall dataset, it was possible

to look for trends over time in terms of what was being taught.

Figure 9 shows the trend in the percentage of respondents that

received either education in structured programming or MATLAB

for a given year. Only the data from the period of 1996 through

2008, inclusive, were used as there were at least 35 responses in

the data set for each of these years. The data show that both

structured programming and MATLAB were taught with a high

frequency over this time period. However, the trend appears to

decrease in structured programming and increase in MATLAB

over time. Over 96 percent of the respondents that graduated in

1996 indicated that they received some form of education in

structured programming, but the percentage dropped to a low of

almost 70 percent by 2005. Over the same period, the percentage

of students receiving education in MATLAB generally increased

from about 80 percent in 1996 to over 98 percent in 2006. The

trend toward a decrease in structured programming education is

more evident at the graduate level, where the percent of students

receiving this education was about 30 percent from 1996 through

2002, but has dropped sharply since to less than 5 percent as by

2008.

Next the information from the young professional survey

pertaining to their professional careers was reviewed. The general

work area distribution for the young professionals was 60 percent

industry, 29 percent government and 11 percent academia. Table 17 provides a breakdown of the job titles and/or

primary functions of the respondents. The top five categories account for 56 percent of the responses.

Table 18 summarizes the survey input about the programming languages and tools that the young professionals

use on their jobs. Table 18 is set up exactly the same as Table 9 (manager feedback data) and uses the same

definitions. The young professionals tend to use tools like Excel (highest usage rating at 4.13) and MATLAB (3.49

rating) over the structured programming languages (both C/C++ and Fortran had usage ratings below 3). However,

when looking at the usage breakdown by technical task (Table 19), the young professionals generally are using the

correct application for a given job. For example, Fortran is used most for aerodynamic analysis tasks, C/C++ has its

highest usage for GNC and high-fidelity code development, MATLAB is used most for data reduction and GNC,

and Excel is used predominantly for data reduction tasks.

Lastly, the young professionals were asked to rate how well their education prepared them for their jobs,

relative to the use of structured programming and computational tools. Again using a 5 point scale where 1 means

Table 13. Distribution of responses to the young

professional survey by undergraduate degree.

Total Responses 821

Discipline Number of

responses

Percentage

of total

Aeronautics/Aerospace 533 64.9

Mechanical 187 22.8

Non-engineering 38 4.6

Other engineering 32 3.9

Electrical 31 3.8

Table 14. Schools with the highest

representation in the survey results.

School Number of

responses

Embry-Riddle (AZ and FL) 28

Virginia Tech 26

MIT 21

Maryland 21

Purdue 20

Georgia Tech 18

Texas A&M 16

Illinois 16

Cal Poly – San Luis Obispo 15

Iowa State 15

Colorado 14

U of Texas in Austin 14

25

American Institute of Aeronautics and Astronautics

“poorly prepared” and 5 indicates “highly prepared. Figure 10 shows the distribution of ratings for all respondents

and for the aerospace engineering graduates only. For both data sets, the distribution is skewed toward the positive

response indicating that most students felt that their educational background prepared them well for their careers

when dealing with programming tasks. For both the entire dataset and the aerospace engineering students, 77

percent of the respondents rated the preparation from their education at 3 or higher. Looking at the trend over time

(Figure 11), there is very little change in the average preparation rating from 1996 through 2008. The average rating

is fairly stable around 3.4 indicating that the young professionals feel that they have been fairly well prepared.

Table 15. Summary of results from the young professional survey regarding what was taught in terms of

programming languages and tools. This table contains the results from all technical disciplines.

Language or

Tool

Undergrad* Graduate* Stand-alone

Course*

Average no.

of weeks

Taught with Topic

C/C++ 61%

(387/637)

22%

(72/331)

67%

(276/413)

10 Introduction to Aerospace

Engineering; Numerical Methods

Fortran 52%

(323/626)

35%

(115/331)

51%

(183/359)

10 Numerical Methods

BASIC 11%

(57/512)

4%

(10/276)

14%

(29/213)

7 Introduction to Aerospace

Engineering

MATLAB 85%

(570/673)

75%

(283/378)

31%

(142/454)

9 Stability and Control, Numerical

Methods

Mathcad 27%

(143/530)

15%

(43/282)

10%

(24/232)

7 Engineering Analysis

ProE 28%

(150/530)

7%

(19/282)

27%

(68/253)

9 Structures, Introduction to

Aerospace Engineering

SolidWorks 25%

(134/533)

8%

(22/282)

19%

(45/236)

7 Structures

Excel 77%

(486/631)

45%

(145/326)

24%

(84/356)

9 Introduction to Aerospace

Engineering; Engineering Analysis

Other 64%

(257/403)

34%

(71/209)

39%

(86/223)

10

*Percentage of respondents that were taught the language or tool, (positive responses/total responses)

26

American Institute of Aeronautics and Astronautics

Table 16. Summary of results from the young professional survey regarding pertaining to what was taught in

terms of programming languages and tools. This table contains the results from only the respondents that

indicated they were aerospace engineering students.

Language or Tool Undergrad.

*

Graduate* Stand-alone

Course*

Average

no. of

weeks

Taught with Topic

C/C++ 58%

(244/419)

20%

(38/190)

66%

(165/251)

10 Introduction to Aerospace

Engineering; Numerical Methods

Fortran 55%

(230/420)

34%

(66/195)

54%

(123/229)

10 Numerical Methods

BASIC 8%

(27/337)

4%

(6/162)

12%

(14/122)

7 Introduction to Aerospace

Engineering

MATLAB 90%

(406/453)

72%

(155/214)

32%

(91/284)

9 Stability and Control, Numerical

Methods

Mathcad 24%

(82/346)

11%

(17/161)

10%

(13/135)

6 Engineering Analysis

ProENGINEER 28%

(95/345)

4%

(7/158)

25%

(38/151)

9 Introduction to Aerospace

Engineering, Structures

SolidWorks 27%

(95/357)

7%

(11/161)

20%

(29/146)

7 Structures

Excel 77%

(319/416)

41%

(75/185)

22%

(49/224)

9 Introduction to Aerospace

Engineering, Engineering

Analysis

Other 60%

(158/268)

28%

(33/119)

38%

(53/138)

9 Structures, Introduction to

Aerospace Engineering

*Percentage of respondents that were taught the language or tool, (positive responses/total responses).

27

American Institute of Aeronautics and Astronautics

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1996 1998 2000 2002 2004 2006 2008

Pe

rce

nt

of R

esp

on

de

nts

th

at R

ece

ive

d t

his

Tra

inin

g

Graduation Year

Structured Programming (undergraduate)

Structured Programming (graduate)

MATLAB (undergraduate)

Figure 9. Trend in the percentage of students receiving education in programming languages or tools over the

period of 1996 through 2008.

Table 17. Summary of the job titles and/or primary functions from the respondents of the young professional

survey.

Job Title or Primary

Function

Number of

Reponses

Percent of total

Response

Job Title or Primary

Function

Number of

Reponses

Percent of total

Response

General Engineer 112 15.4% Electrical Engineer 9 1.2%

Aerospace Engineer 88 12.1% Thermal Systems 8 1.1%

Systems Engineer 76 10.5% Controls Engineer 7 1.0%

R&D 70 9.7% unemployed 6 0.8%

Design 63 8.7% Maintenance Engr. 5 0.7%

Student 40 5.5% Safety Engineer 4 0.6%

Project Engineer 33 4.6% Manufacturing Engr. 4 0.6%

Test Engineer 33 4.6% Pilot 3 0.4%

Manager 24 3.3% Acoustician 3 0.4%

GNC Engineer 22 3.0% Unknown 3 0.4%

Teacher 19 2.6% Other 4 0.6%

POWER/PROP 18 2.5% Data Systems 2 0.3%

Space Systems 18 2.5% Lawyer 1 0.1%

Non-engineering 15 2.1% Icing Systems 1 0.1%

Software Engineer 13 1.8% Cryogenics 1 0.1%

Military 10 1.4% Hydrodynamics 1 0.1%

Simulation 8 1.1% Sales Engineer 1 0.1%

28

American Institute of Aeronautics and Astronautics

Table 18. Summary of the usage and importance ratings of the subject programming languages and tools from the young professional

survey.

Language/Tool C/C++ Fortran BASIC MATLAB Mathcad ProENGINEER SolidWorks Excel Other

# responses 471 463 196 694 185 196 197 759 334

Average rating 2.66 2.99 1.88 3.49 1.63 1.92 1.86 4.13 3.97

# of 5s / % of

responses 101 21.4 133 28.7 22 11.2 282 40.6 5 2.7 26 13.3 19 9.6 439 57.8 188 56.3

Table 19. Breakdown by specific technical tasks of the usage of each programming language or tool based on data from the young professional

survey. For each language/tool the first column indicates the number of responses (R) and the second column is the percent of responses (total

number of responses listed at the bottom of the column).

Language or Tool: C/C++ Fortran BASIC MATLAB Mathcad ProENGINEER SolidWorks Excel Other

Technical area R % R % R % R % R % R % R % R % R %

Aerodynamic analysis 28 7.8 54 14.9 6 7.0 40 6.5 1 1.4 2 2.4 1 1.2 42 5.9 18 6.1

Data reduction 52 14.4 56 15.4 36 41.9 216 35.1 19 25.7 2 2.4 2 2.3 344 48.3 51 17.4

Flight mechanics 24 6.7 24 6.6 2 2.3 38 6.2 2 2.7 0 0.0 1 1.2 9 1.3 3 1.0

Fluid Dynamics 19 5.3 41 11.3 3 3.5 15 2.4 5 6.8 4 4.8 1 1.2 15 2.1 12 4.1

GNC 66 18.3 28 7.7 3 3.5 92 15.0 3 4.1 1 1.2 2 2.3 12 1.7 14 4.8

High-fidelity code devel. 54 15.0 36 9.9 1 1.2 15 2.4 2 2.7 0 0 0 0.0 1 0.1 8 2.7

Mission analysis 34 9.4 28 7.7 4 4.7 50 8.1 4 5.4 0 0 1 1.2 43 6.0 20 6.8

Propulsion analysis 12 3.3 26 7.2 8 9.3 26 4.2 8 10.8 1 1.2 1 1.2 34 4.8 7 2.4

Structural analysis 10 2.8 24 6.6 3 3.5 37 6.0 13 17.6 9 10.8 15 17.4 48 6.7 43 14.7

Structural design 1 0.3 2 0.6 0 0 5 0.8 8 10.8 49 59.0 48 55.8 16 2.2 39 13.3

Thermal and reactive

flows 6 1.7 21 5.8 3 3.5 7 1.1 0 0.0 2 2.4 0 0.0 13 1.8 10 3.4

Uncertainty estimation 7 1.9 8 2.1 3 3.5 27 4.4 3 4.1 1 1.2 1 1.2 31 4.4 2 0.7

Other 47 13.1 15 4.1 14 16.3 47 7.6 6 8.1 12 14.5 13 15.1 104 14.6 66 22.5

Total responses: 360 363 86 615 74 83 86 712 293

28

Am

erican In

stitute o

f Aero

nau

tics and

Astro

nau

tics

29

American Institute of Aeronautics and Astronautics

0.0%

5.0%

10.0%

15.0%

20.0%

25.0%

30.0%

35.0%

54321

Pe

rce

nt

of

Re

spo

nd

en

ts

Preparation Rating (5=highly prepared)

All Responses

Aerospace Engr.

Figure 10. Summary of responses from the young professional survey regarding how well their education

prepared the respondents for their careers relative to structured programming and computational tools.

1

2

3

4

5

1995 1997 1999 2001 2003 2005 2007 2009

Pre

pa

rati

on

Rat

ing

Graduation Year (undergraduate degree)

Figure 11. Trend in average preparation rating over time.

References

1. Cheng, H. H., “C for the Course,” Mechanical Engineering, September 2009, p 50-52.

2. Guzdial, M., “Teaching Computing to Everyone,” Viewpoints (Communication of the ACM), May 2009, vol.

52, p 31-33.

Acknowledgments

Throughout this project, the author received significant support, advice and input from several individuals. Of

key importance was Dolores Krausche, of the Florida Center for Engineering Education, as she provided excellent

insight on the overall project and helped to fine tune each of the surveys. Also, the Aerospace Sciences Group

Deputy Directors, Jim Keenan, Tom Beutner and Bill West each helped with the development of the surveys and

review of the data analysis. Mr. West in particular provided great input during the review of the first draft of the

paper.


Recommended