Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education...

6
Session T1A 1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37 th ASEE/IEEE Frontiers in Education Conference T1A-1 Matlab for First-year College Engineers Alexander Haubold Columbia University, Fu Foundation School of Engineering and Applied Science, New York, NY 10027 [email protected] Abstract - We present our approach to introducing Matlab to first-year engineering students without declared majors. Matlab is a widespread tool for computation, which has experienced a significant increase in usage. Upper-level courses in particular require students to complete assignments and projects using this versatile software. However, without a separate required course offering in the first-year curriculum, students oftentimes find themselves learning Matlab once they reach advanced courses. Taking into account the various applications of Matlab for different departments and first-year students who are undecided on their majors, a separate course for Matlab may prove excessive and lack sufficient focus. We embed a sequence of six Matlab lectures in an introductory engineering design course required by all first-year engineering students. The lectures focus on introducing the fundamental data structure of a matrix, programming constructs of loops, conditionals, and functions, and basic numerical and graphical statistical analysis. The selection of topics accounts for some of the most common applications across engineering majors, drawing playful examples from image and signal processing and statistical analysis. We discuss our experiences and curriculum developments for a period of four years over which the Matlab sequence evolved. We also address some of the logistical matters of using homework assignments versus examinations. Index Terms – Engineering design, first-year curriculum, Matlab, numerical computation. INTRODUCTION Mathworks Matlab has experienced a significant increase in usage in engineering classrooms [1]. Where traditionally programming languages like C, Fortran, and Java were selectively required for students to homework assignments and projects, Matlab has found wide acceptance as a numerical computation tool. With its universal approach to using the matrix as a fundamental data structure, its large library of pre-made functions, and readily available tools for audio and image manipulation, Matlab finds application in all fields of engineering. Faculty has recognized this advantage over the alternative of using other programming languages for numerical computation in the classroom. With Matlab, students are no longer burdened by the high overhead of acquiring language-specific knowledge. In many ways, Matlab offers standardization, which is not available in comparable packages. We teach Matlab in our first-year undergraduate engineering design course to give students an early albeit broad introduction to a tool, which they will inevitably use in higher-level courses [2]. Engineering students do not declare their major until the second year, making it important to not direct the material at any one major. The instructional material is therefore designed to convey fundamental knowledge about Matlab, and introduce a few selected topics for popular majors. COURSE OBJECTIVES In our first-year undergraduate engineering course, students are introduced to the field of engineering design through community service learning while they work in teams of three to eight members [3]. Teams work on various community projects in categories such as disabilities, environment, education, architectural designs, and information technology. The course approaches first-year engineering as a practical introduction while conforming with several ABET criteria, including development of professional and communication skills, practice in application of engineering principles, and focus on formulation, research, and solution finding for engineering problems. A typical student project involves a real client from the community who presents a real problem to a student team. Students research the problem space, suggest solutions, and work on a selected solution for the duration of the semester. The client interacts with students on a continual basis and ensures that the proposed solution meets the criteria. Clients include public school administration, staff from after school programs, and managers from non-for-profit organizations. To date, students have worked with the New York City Department of Parks, various public schools in particular in low-income areas of New York, organizations catering to children with disabilities, and over 50 other organizations and individuals. Students typically provide prototype solutions by the end of the course, whether in physical form or through the use of 3D modeling software. The design process for all projects include background research, market analysis, interviews with clients, presentations on preliminary results, design and construction of solutions, and delivery of completed products in a final presentation. Our instruction on Matlab and related engineering topics specifically facilitates stages of technical research, data

Transcript of Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education...

Page 1: Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education Conference T1A-1 Matlab for First-year College Engineers Alexander Haubold Columbia University,

Session T1A

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference

T1A-1

Matlab for First-year College Engineers

Alexander Haubold Columbia University, Fu Foundation School of Engineering and Applied Science,

New York, NY 10027 [email protected]

Abstract - We present our approach to introducing Matlab to first-year engineering students without declared majors. Matlab is a widespread tool for computation, which has experienced a significant increase in usage. Upper-level courses in particular require students to complete assignments and projects using this versatile software. However, without a separate required course offering in the first-year curriculum, students oftentimes find themselves learning Matlab once they reach advanced courses. Taking into account the various applications of Matlab for different departments and first-year students who are undecided on their majors, a separate course for Matlab may prove excessive and lack sufficient focus. We embed a sequence of six Matlab lectures in an introductory engineering design course required by all first-year engineering students. The lectures focus on introducing the fundamental data structure of a matrix, programming constructs of loops, conditionals, and functions, and basic numerical and graphical statistical analysis. The selection of topics accounts for some of the most common applications across engineering majors, drawing playful examples from image and signal processing and statistical analysis. We discuss our experiences and curriculum developments for a period of four years over which the Matlab sequence evolved. We also address some of the logistical matters of using homework assignments versus examinations. Index Terms – Engineering design, first-year curriculum, Matlab, numerical computation.

INTRODUCTION

Mathworks Matlab has experienced a significant increase in usage in engineering classrooms [1]. Where traditionally programming languages like C, Fortran, and Java were selectively required for students to homework assignments and projects, Matlab has found wide acceptance as a numerical computation tool. With its universal approach to using the matrix as a fundamental data structure, its large library of pre-made functions, and readily available tools for audio and image manipulation, Matlab finds application in all fields of engineering. Faculty has recognized this advantage over the alternative of using other programming languages for numerical computation in the classroom. With Matlab, students are no longer burdened by the high overhead of acquiring language-specific knowledge. In many ways, Matlab

offers standardization, which is not available in comparable packages.

We teach Matlab in our first-year undergraduate engineering design course to give students an early albeit broad introduction to a tool, which they will inevitably use in higher-level courses [2]. Engineering students do not declare their major until the second year, making it important to not direct the material at any one major. The instructional material is therefore designed to convey fundamental knowledge about Matlab, and introduce a few selected topics for popular majors.

COURSE OBJECTIVES

In our first-year undergraduate engineering course, students are introduced to the field of engineering design through community service learning while they work in teams of three to eight members [3]. Teams work on various community projects in categories such as disabilities, environment, education, architectural designs, and information technology. The course approaches first-year engineering as a practical introduction while conforming with several ABET criteria, including development of professional and communication skills, practice in application of engineering principles, and focus on formulation, research, and solution finding for engineering problems.

A typical student project involves a real client from the community who presents a real problem to a student team. Students research the problem space, suggest solutions, and work on a selected solution for the duration of the semester. The client interacts with students on a continual basis and ensures that the proposed solution meets the criteria. Clients include public school administration, staff from after school programs, and managers from non-for-profit organizations. To date, students have worked with the New York City Department of Parks, various public schools in particular in low-income areas of New York, organizations catering to children with disabilities, and over 50 other organizations and individuals. Students typically provide prototype solutions by the end of the course, whether in physical form or through the use of 3D modeling software. The design process for all projects include background research, market analysis, interviews with clients, presentations on preliminary results, design and construction of solutions, and delivery of completed products in a final presentation.

Our instruction on Matlab and related engineering topics specifically facilitates stages of technical research, data

Page 2: Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education Conference T1A-1 Matlab for First-year College Engineers Alexander Haubold Columbia University,

Session T1A

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference

T1A-2

analysis, and effective communication of statistical results. For the successful completion of their project, students are required to find and present on data related to their project. The motive behind presenting such data is to make a convincing argument on the feasibility and/or importance of their project. This typically includes a discussion on demographic distributions and regression of past data for prediction of future trends. However, students are free to choose a point of interest to consider.

COURSE LECTURES

The sequence of six Matlab lectures is grouped into three themes: theory, programming, and data analysis. Introduction to the basic theory in numerical computation is intended to even the otherwise widely varying experience of first-year students. Fundamental concepts in programming are essential for computation, in particular when basic methods of matrix manipulation do not suffice. Data analysis is common to all fields of engineering and provides the foundation of statistical evaluation. A mapping of themes and individual lecture topics to engineering majors is presented in Table I. While the theme of programming is applicable only to selected engineering majors, they comprise the majority of student interest.

I. Theory

Lecture 1 – Interface and the matrix data structure

This lecture serves to build an understanding of the Matlab interface, basic mathematical operations, and the fundamental data structure of the matrix. Parallels of the interface are drawn to a typical calculator: the command window is the calculator’s keypad and display, the memory workspace is a graphical view of the calculator’s memory, etc. Because of its analytical nature, the workspace of Matlab deserves to be emphasized greatly – from experience, students do not use it enough to understand and correct problems in their work.

Starting with conventional calculator-like operations, students are introduced to scalar and variable arithmetic, including a discussion on some elementary functions available in Matlab. Vectors as one-dimensional extensions of scalars are covered next, followed by matrices as one-dimensional

extensions of vectors. Topics of matrix arithmetic, such as scalar-matrix operations and matrix-matrix operations, are discussed as part of this session, and important concepts of elemental operations versus matrix operations are pointed out. Vector range notation and the closely related topic of matrix indexing, some of the most powerful data manipulation tools in Matlab, deserve the most amount of time during this first lecture. Finally, scripting is briefly touched upon as a convenient method of collecting expressions to facilitate weekly exercises and assignments.

Lecture 2 – Practical examples of vectors and matrices

During the first lecture, students work only with purely theoretical and mostly random numerical data, similar to the material presented in typical math classes. The second lecture serves to strengthen this material by drawing parallels to real data. We select playful audio and image examples, both of which effectively convey applications of vector and matrix data structures and data manipulation. Besides using audio and image files as examples of data, this lecture serves to demonstrate the powerful set of functions, which are standard in the Matlab distribution. Without obtaining instruction on the intricacies of image formats, image encoding, representation of sound on a bit/byte level, or even file manipulation, users of Matlab can easily work with these data. Images are practical and convenient examples of matrices, because students have an inherent understanding of images, drawing on their multimedia and television related savvy. Simultaneously to making images a motivating example for matrix manipulation in Matlab, students are taught some fundamental theory about images. This includes the RGB (red, green, blue) color space used for display technology, numerical representation of RGB, and data bandwidth issues related to images and their temporal extrapolation to video. Because most engineering students have a natural interest for the field of technology, the theory on bandwidth tends to be very popular and motivating. A comparison is presented in class (see Table II). Comprehension of the magnitude of information data size is important, in particular for the fields of computer science, computer engineering, and electrical engineering.

TABLE I ENGINEERING MAJORS AND RELEVANCE OF MATLAB TOPICS

Theory Programming Data analysis

Mat

lab

Use

r In

terf

ace

Vec

tors

, Mat

rices

Imag

es –

The

ory

Aud

io –

The

ory

Prog

ram

min

g –

Loop

s

Prog

ram

min

g –

Con

ditio

nals

Func

tions

Imag

e an

alys

is,

synt

hesi

s

Aud

io a

naly

sis,

synt

hesi

s

Dat

aset

/spr

ead-

shee

t pro

cess

ing

Plot

ting,

Mes

hing

Stat

istic

s

Applied Physics & Applied Mathematics Biomedical Engineering Chemical Engineering Civil Engineering Computer Engineering Computer Science Electrical Engineering Earth and Environmental Engineering Industrial Engineering Mechanical Engineering

Page 3: Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education Conference T1A-1 Matlab for First-year College Engineers Alexander Haubold Columbia University,

Session T1A

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference

T1A-3

FIGURE 1

EXAMPLES FROM IMAGE PROCESSING: (LEFT) ORIGINAL IMAGE; (MIDDLE) CONTRAST AND BRIGHTNESS ADJUSTMENT USING SIMPLE MATRIX-SCALAR OPERATIONS;(RIGHT) COLOR SPACE CONVERSION USING LOOPS, CONDITIONALS, AND THRESHOLDS.

Color images are represented as three-dimensional matrices in Matlab, encoding rows, columns, and color. The relatively high dimensionality makes them excellent candidates as examples for matrix indexing. For purposes of demonstrating data structure manipulation, the lecture focuses particularly on addressing discrete scalars and extracting sub-matrices using vector range notation. Analysis of image data is motivated by selecting pixels from the image, extracting their representative numerical values, and theoretically determining the color value. Validation is found by visually examining the color image.

Matrix data manipulation is motivated by drawing parallels to image manipulation software, such as Adobe Photoshop. Multiplication operations between matrices and scalars are related to a simple color contrast adjustment model, where multiplication of numbers larger than 1 increase, and division thereof decrease contrast. Similarly, addition operations between matrices and scalars are compared to a simple brightness adjustment model, where addition of integers larger than 1 increase, and subtraction thereof decrease brightness. Drawing analogies between the image domain and matrix manipulation provide immediate visual feedback, which, besides adding instructional value to the course, many students consider interesting as determined by student evaluations (see Figure 1).

Exercises with images in Matlab also animates a discussion on data types, since image data is represented by a much more restricted set of values. Concepts of discrete values and limited ranges are conveyed during this lecture.

To further motivate the use of vectors, the inherently sequential and therefore one-dimensional data of sound is used in conjunction with Matlab’s sound functions. Having had significant personal exposure to digital audio through trend-setting technology such as the CD player or the iPod, most engineering students have a natural interest in the topic of audio representation. Using a single channel audio file, students are presented with tools for loading, playing back, and plotting this type of data. Key concepts from the audio domain, such as frequency and sampling rate are discussed in class. Data manipulation for vectors similar to that used on images is motivated using parallels to sound editing functions. Volume amplification and attenuation are demonstrated using matrix-scalar multiplication and division.

II. Programming

This section focuses on programming constructs, which primarily address students in the fields of computer science and engineering, electrical engineering, and applied math, where algorithmic design are key concepts. Programming constructs include loops, conditionals, and the use of functions.

Lecture 3 – Loops

This lecture is primarily focused on the theory and practice of writing loops. Practical exercises build on the material discussed in lecture 2. Instead of analyzing existing image and audio data, this lecture uses loops to synthesize, i.e. artificially produce data in these domains. The theory of loops is conveyed first through simple constructs, which use the vector range notation and a loop variable to access individual elements of a vector. The lecture then simulates Matlab’s built-in vector-vector operations, such as elemental multiplication. Because these operations are not readily available in other programming languages, their benefit in Matlab can be illustrated by comparing it to the alternative of using loops. This example also strengthens key concepts, like vector indexing and the use of functions to determine vector length. The discussion on vectors establishes the theory which is next applied to higher-dimensional structures, i.e. nested loops for two-dimensional matrices.

TABLE II MATRICES REPRESENTING IMAGE DATA: COMPARISON OF BANDWIDTH

Pixels Size in pixels

Size in Mega bytes

Example matrix (lecture 1)

4 x 5 20 0.0

Small image (standard in 1990)

320 x 240 x 3 230,400 0.2

Computer display (standard in 2006)

1280 x 1024 x 3 3,932,160 3.7

DVD Video (standard in 2006)

720 x 480 x 3 x 30 31,104,000 29.7

Computer display refreshing at 40 times / sec

1280 x 1024 x 3 x 40 157,286,400 150.0

Page 4: Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education Conference T1A-1 Matlab for First-year College Engineers Alexander Haubold Columbia University,

Session T1A

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference

T1A-4

As a practical example for one-dimensional loops used for vector manipulation, the lecture presents an exercise on synthesizing a sound effect of a raindrop. The raindrop sound is generated by concatenating a sequence of short vectors, each representing a sampled sine wave at a different frequency. A single loop over a selected number of frequencies is defined and, using a common formula for sampling a sine wave to produce a set of samples for a given frequency, the vector containing the final sound effect samples is gradually constructed (Figure 2).

Upon successful completion, this exercise leads to a discussion on topics related to signal processing, namely audio sampling rates, undersampling, and audio quality versus sampling rate. While not directly related to programming loops, this discussion intends to present some simple yet interesting topics in signal processing.

A second exercise for one-dimensional loops, which sets the foundation for nested loops, draws on the discussion of images and color from lecture 2. The goal of this exercise is to generate an image of gradient color values, such as a gradient of black to red. The equivalent tool can be found in most image processing software packages. This exercise places emphasis on using loop variables for both indexing into the synthesized image matrix and computing color intensity values. For simplification, the color gradient is generated along only one row, requiring students to work with one loop variable. In a related assignment, the loop construct is extended to a nested loop, where two loop variables are used to vary color in two dimensions (Figure 2).

Lecture 4 – Conditionals and Functions

This lecture focuses on conditional statements and use of functions. Along with loop constructs, these two topics complete the discussion on the foundation of programming with Matlab.

The theory on simple conditional constructs are presented using the familiar problem of checking the denominator for zero values before performing division. While Matlab allows these operations without bringing a program to halt, other programming languages are not as forgiving. Generally, proper error checking requires the use of conditionals to prevent unexpected failures of programs. In a following

exercise, the use of conditionals is extended beyond the simple if-else construct to include the evaluation of a series of conditionals as well as boolean operators. The example is drawn from evaluation of elemental matrix operations, which require that the size of matrices are comparable. If the size of one or both dimensions do not meet this criteria, Matlab produces an error but does not inform the user about which dimension caused the error. To simulate a more user-friendly error message, a series of conditional statements are used in this exercise to evaluate all possible error combinations with appropriate error messages for a selected elemental operation between two matrices.

To build on the previously discussed topic of color images and to provide an application of conditionals in a loop construct, the final exercise simulates the conversion between color spaces. Specifically, a 24 bit full-color image is converted to a 3 bit color space, where only 8 base colors are available. Using nested loop constructs to iterate over the three-dimensional image matrix and conditional statements to compare color intensity values to a selected threshold value, every intensity value in the matrix is changed to a binary high or low intensity (see Figure 1). Topics of interest related to this problem include the popular method of thresholding, bandwidth for mobile devices, where color intensity of high granularity are not required, and the evolution of display technology.

The exercise on color intensity thresholding also leads to a short demonstration of animation in Matlab. Instead of defining the previously used threshold as a constant, the value can be made variable. With a simple extension of encapsulating the code in another loop iterating over variable thresholds, the temporal dimension is encoded. The animation based on variable thresholds can be reviewed with ease in Matlab.

Students have thus far used a number of pre-defined functions. For the second half of this lecture, they are introduced to writing functions. Emphasis is placed on error checking using pre-defined methods commonly found in Matlab functions, as well as variable function inputs and testing for proper definition of optional arguments using conditionals.

FIGURE 2

EXAMPLES FROM SOUND AND IMAGE SYNTHESIS USING LOOPS: (LEFT) RAINDROP SOUND EFFECT; (MIDDLE) 1D GRADIENT; (RIGHT) 2D GRADIENT.

Page 5: Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education Conference T1A-1 Matlab for First-year College Engineers Alexander Haubold Columbia University,

Session T1A

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference

T1A-5

FIGURE 3

EXAMPLES FROM DATA ANALYSIS: (LEFT) PLOTTING, LABELING; (MIDDLE) STATISTICAL MEASURES: MIN, MAX, MEAN; (RIGHT) POLYNOMIAL REGRESSION.

III. Data Analysis

Statistical analysis and functions for graphing are some of the most popular features of Matlab. These tools find application in all fields of engineering and science, and are thus indispensable for instruction. In a first-year engineering design course based, these tools are also the easiest to link to individual projects, because all projects benefit from some statistical analysis.

Lecture 5 – Data sets, plotting, meshing

This lecture demonstrates the use of datasets, importing of such data into Matlab, and basic elements of graphical analysis. Datasets of observations are crucial factors of evaluation in engineering. Datasets come in various sizes, some as small as ten and others as large as millions of observations. However, some popular graphical spreadsheet programs, while easy to use due to their interactive nature, are not designed for evaluation of large datasets. As a fusion between a programming language and a large library of commonly used analytical functions, Matlab is especially useful for the topic of data analysis.

For the purpose of simplicity, students are introduced to the graphical importation tool, which is a graphical interface of functions otherwise available in Matlab. The lecture provides an example spreadsheet of gasoline price development in various regions throughout the U.S. over a ten year period. The spreadsheet is properly delineated with row and column header information, which is used to demonstrate the separation between numerical and non-numerical data in matrices. Differences of numerical data types were discussed in lecture 2 by introducing images and their restricted set of discrete intensity values. Differences and parallels between numerical and textual data are outlined in this session, in particular for the purpose of labeling graphs.

Two-dimensional plotting and three-dimensional meshing are covered using examples of line and bar graphs, labeling of figures, manipulation of axes’ labels and tick marks, and overlaying of various data sets (Figure 3).

Lecture 6 – Basic statistical analysis

After the introduction of graphical analysis tools, students now work with some basic statistical functions and an

example method of regression. Mean, standard deviation, variance, minimum, and maximum values are common measures used in statistics. Similar to many other functions, these five selected ones share the same syntactic rules for vectors and matrices. Drawing on the dataset from lecture 5, statistical and graphical evaluation are demonstrated in this session (Figure 3).

Regression is a statistical tool, which is often used for prediction of trends in datasets. Fitting of data to a function is achieved relatively easily in Matlab with pre-defined functions. While there exist various types of methods for data fitting, e.g. to periodic, exponential, and logarithmic functions, this lecture focuses on fitting to polynomials with various degrees.

For an introductory exercise, a second-degree polynomial is fitted to a sampled sine wave of one period (Figure 3). While the fit is almost perfect, drawbacks are demonstrated as the fitted curve is extended beyond the original data set’s domain. Clearly, a fit to a periodic function is required.

Using the dataset of relatively variable gasoline prices, the following exercise attempts to find a polynomial fit. The exercise leads to a discussion on optimal fitting versus finding reasonable trends.

ASSESSMENT

Assessment of student learning has evolved since the introduction of Matlab lecture series. Initially, we assigned individual homework following each lecture to reinforce the covered lecture material. We soon noticed that students were completing the assignments by referring to the tutorials and seeking help, but were still unclear about the fundamental concepts. However, as long as the student completed his/her homework and received a credit for the assignment, the student did not seek additional help for clarifying any unclear concepts.

The introduction of an exam at the end of the Matlab lecture series served as the solution to this problem. Students were required to learn concepts rather than relying on course materials and previous examples to finish assignments. The comprehensive exam allowed for us to monitor true student understanding of fundamental concepts. The format of the exam tested for theory as well as implementation of code.

Page 6: Session T1A Matlab for First-year College Engineers · 37th ASEE/IEEE Frontiers in Education Conference T1A-1 Matlab for First-year College Engineers Alexander Haubold Columbia University,

Session T1A

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference

T1A-6

TABLE III RESOURCE REQUIREMENTS BREAKDOWN FOR THE MATLAB LECTURE-SERIES. Resource First Time Requirement Subsequent Requirement Teaching Assistants 4 hours/week 4 hours/week Preparation of Lecture material 15 hours/lecture 1 hour/lecture

Actual Lecture 1.5 hours/lecture 1.5 hours/lecture However, students were not permitted to use a computer to write code.

We also required that student groups include computational analysis using Matlab for their group projects due at the end of the term. Since one of the goals of the course is to show students the real-world application of concepts learnt in class, this was the ideal solution to show students the usefulness of Matlab. We notice that the quality of project also improved with this requirement. Often times, student teams would propose solutions that were unfeasible due to considerations that were not calculated during the scope of their design project. Thus, the addition of numerical analysis to all projects required for students to rethink actual feasibility and in essence increased the success rate of completion as more projects could now be taken to prototyping and implementation stages.

CHALLENGES

A curriculum in a first-year engineering design course with students without major selection offers challenges that are uncommon in topically directed courses. The most significant concern arises from the expected lack of field-specific knowledge by students. Students’ high school backgrounds offer little common ground due to the national and international diversity of standards. Levels of instruction in natural and life sciences vary significantly with some students excelling at related first-year college courses, and others requiring much additional study. It is commonplace for course evaluations to contain a uniform distribution of ratings and comments, ranging from too fast/difficult to too slow/easy. It would be reasonable to separate the class into several sections of varying degrees of difficulty; however, this approach is principally not the goal of a first-year design course.

A second challenge arises from the variety of project categories in a given semester. With more than 30 projects with different problems and implementation goals, it is infeasible to provide instruction on detailed numerical computation satisfying all. We have therefore selected the broadly applicable topic of statistical analysis as a common ground for all projects.

In an earlier version of the course, engineering design focused on a narrower topic of personal transportation vehicles. Matlab lectures linked concepts from physical mechanics to student projects and students were required to present on calculations related to their design projects. We found that this topic proved challenging due to the relatively small number of students who excelled in this field. Three lectures were designed for topics on the physics of the Segway Human Transporter, including computation of estimated battery life. The lecture material set up the theoretical framework of various forces (aerodynamic drag, rolling

resistance caused by friction, drag caused by mass and acceleration), which described the amount of force required to move the mass of the vehicle and the person at some velocity. Equations were introduced for energy from batteries, regenerative breaking, battery inefficiency, propulsive efficiency, etc. With a complete setup of functions, students computed the distance traveled on a hypothetical terrain of inclines, declines, and level surfaces. While these lectures were much more closely related to engineering, the material was not absorbed very easily. We have observed that comparatively, a sequence of topically less specific lectures is perceived with more engagement.

RESOURCE REQUIREMENTS AND SUSTAINABILITY

The implementation and resource requirement for the Matlab lecture-series is comparable to any other college lecture course. Since the series is embedded into an engineering design course, the total duration for the Matlab aspect is limited to 6 weeks. Table III shows the resource breakdown for the onset of the lecture series followed by subsequent administrations.

Teaching assistants hold office hours and grade papers. The preparation of the initial course material requires the most amount of time (approximately 90 hours). However, time allocation necessary for sustainability drops significantly once the course material is created. Thus, sustainability of the Matlab lecture series within an engineering design course structure is highly manageable.

CONCLUSION

In this paper, we have presented an approach to effectively introducing the use of Matlab in a first-year undergraduate engineering design course at Columbia University. Introducing students to the software package at an early stage is helpful for the students during their more technical courses when professors assume some basic familiarity with the software package. The general student reaction to the use of Matlab has been positive. Providing basic instruction that students of all skill-levels can understand provides for a better learning experience. Using interesting engineering design examples aids in showing students the real-world implementation of this powerful computational tool.

ACKNOWLEDGMENT

The author would like to thank the Fu Foundation of Engineering and Applied Science at Columbia University and the Gateway Coalition.

REFERENCES

[1] Azemi, A., Stoock, C. "Utilizing MATLAB in undergraduate electric circuits courses" Frontiers in Education Conference Proceedings, 2, 1996, pp 592-602.

[2] http://www.aquaphoenix.com/lectures

[3] Dutta, P., Haubold, A. “Engineering design via team-based service-learning projects: Case survey of five unique project genres.” American Society of Engineering Education (ASEE) Annual Conference, 2007.