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
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.