0% found this document useful (0 votes)
7 views

A First Course in Computer Programming f

The document discusses the renovation of the introductory computer programming course (ME 30) for Mechanical and Aerospace Engineers at San Jose State University to enhance algorithmic problem-solving skills and familiarity with programming languages like C and Matlab. The course now incorporates hands-on laboratory experiences using microcontrollers and emphasizes the importance of computational software relevant to mechanical engineering. Feedback from students has been positive, indicating a successful shift towards a more comprehensive and applicable programming education in the curriculum.

Uploaded by

ilyaallach082
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

A First Course in Computer Programming f

The document discusses the renovation of the introductory computer programming course (ME 30) for Mechanical and Aerospace Engineers at San Jose State University to enhance algorithmic problem-solving skills and familiarity with programming languages like C and Matlab. The course now incorporates hands-on laboratory experiences using microcontrollers and emphasizes the importance of computational software relevant to mechanical engineering. Feedback from students has been positive, indicating a successful shift towards a more comprehensive and applicable programming education in the curriculum.

Uploaded by

ilyaallach082
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

A First Course in Computer Programming for Mechanical

Engineers

Burford Furman and Eric Wez San Jose State Universiy

Abstract-The irst course in computer programming for ability in C or Matlab.


Mechanical and Aerospace Engineers at San JO! State Until the fall 2009 semester, ME 30 had been taught with
University is undergoing substantial renovation to better serve a focus on numerical computation and developing precise
the educational needs of the students in the program. The
coding habits in C rather than taking a broader pedagogical
renovated course emphasizes development of algorithmic
perspective that emphasizes:
problem solving skills and familiarity with the C programming
language, Excel, and Matlab. Extensive use is made of Ch, a C a). developing algorithmic solutions to engineering
interpreter, for learning the C language. A major innovation in problems
the course is the use of a microcontroller with a custom­ b). exposing students to computational sotware widely
designed sensor/IO board as an experimental platform that the used by mechanical engineers
students use for several laboratory experiments. Student
c). applying progr mming to the control of physical
feedback regarding the renovations after the irst two course
systems (Mechatronics).
offerings during the 2009-10 academic year has been positive.
Further enhancements of the microcontroller-based The former state of afairs has contributed to several
experiments are expected through the use of a second problems 'downstream' in the ME curriculum. The Irst
generation sensorlIO board currently under development. problem is that, by and large, even relatively 'good' students
who took ME 30 and had a curriculum focus in mechatronics
I. INTRODUCTION did not feel conIdent that they could write a program in C to
solve a particular problem starting rom a blank page. "If you
M
E 30 COMPUTER ApPLICATIONS is the Irst course in
the mechanical and aerospace engineering (MAE) gave me a program, I think I could modiy it, but not write it
programs at San Jose State University that exposes students rom scratch" was the response I got rom one graduating
to computer programming. In its current form, ME 30 is senior when I asked him about his skill in progr mming
structured as a two semester-unit course with one lecture gained rom our curriculum. Such a sentiment is not atypical.
hour and three laboratory hours per week, which meets for One contributing factor to this problem is the length of time
approximately 15 weeks. ME 30 is a prerequisite for ME 106 between when students take ME 30 and when they need to
Fundamentals of Mechatronics. ME 30 is required for both use what they lened to program microcontrollers in ME
ME and AE undergraduate students, and ME 106 is required 106. For some students the gap can be up to two years or
for all ME students. more. Another related issue has been a lack of coverage in
The class level of students who take ME 30 is roughly ME 30 of topics in C that are especially important to
distributed as 4% reshman, 43% sophomore, 38% junior, embedded programming, such as bitwise operators, bit
and 15% senior, graduate, or other classiIcations (as masking, memory-mapped 10, etc. Many students who did
reported by the spring 2010 entrance survey, n=77) [1]. ME well in ME 30 feel unprepared when they face these topics in
30 has no prerequisites, so preparation, especially in math ME 106.
and physics, varies signiIcantly among students. About 71% The second problem has to do with damping enthusiasm
have completed the second semester of calculus, 41% have for pursuing mechatronics as an area of specialization in the
completed diferential equations, and about 66% have ME program. Our ME program has three curricular focus
completed the Irst semester of physics (mechanics). areas: Design, Thermal/Fluids, and Mechatronics. The
Very few students coming into ME 30 have had any curriculum stem in Mechatronics was established in 1995
experience programming computers, though they use through the help of a National Science Foundation grant and
computers extensively for word processing, web surIng, generous industry support [2]-[3]. Prior to 1995,
email, and social networking. Over 80% report little to no approximately 80% of ME students chose Design as their
focus area. Several years ater we started the stem in
Mechatronics, the number of ME majors focusing in
Manuscript received March 7, 2010. Revised on May 24, 2010.
8. Furman is a professor in the Department of Mechanical and mechatronics grew to be about equal in proportion (40%) to
Aerospace Engineering at San Jose State University, San Jose, CA 95192- those focusing in design. Ater the dot-com bust in 2001, the
0087 USA (phone: 408-924-3817; fax: 408-924-3995; e-mail: bjurman@ number of ME majors focusing n Mechatronics began to
sjsu.edu).
decline, so that currently, approximately 19% are focusing in
E. Wertz is a senior sotware engineer with thirty years of experience in
sotware development at Hewlett-Packard, GO Corp, EO Inc, Charles Mechatronics, 54% in Design, and 27% in ThermallFluids.
Schwab, and RSA Data Security. (e-mail: ericwertz@hotmail.com).

978-1-4244-7101-0/10/$26.00 ©2010 IEEE 70


We investigated causes for the decline in interest in solving skill early in the course. Table A1 in Appendix A
Mechatronics and identiied several likely factors. One had lists the schedule of the topics covered in ME 30.
to do with chnges in the job market. The mid to late 1990's Immediately following an overview of the course and an
saw an explosion in innovation centered in Silicon Valley overview of computers and sotwre used by MAEs, we
(literally in our 'backyard'), especially in sotware and with cover the process of how to develop an algorithmic solution
the Intenet, but also signiicantly in semiconductor to a computational problem. We do this by introducing
equipment manufacturing. During that fervent period, a pseudocode, lowcharts, and the stepwise reinement
graduate with some background in Mechatronics was a good process. Before we have the students move into coding per
match for job opportunities in the Valley, and students se, we have them go through the steps of developing
naturally gravitate toward studies that will help them get a pseudocode and lowchart solutions by hand to smple
job when they graduate. However, with the dot-com bust, the problems, such as inding the larger of two numbers, or
light of manufacturing overseas, and the 'off-shoring' of calculating the sum of a series of numbers entered by a user,
jobs in sotware and electrical engineering, interest in etc. When the students do start writing code, the discipline of
Mechatronics has waned. This decline is of concen, because thinking trough the logic of an algorithm prior to coding is
urther erosion of interest could lead to the curriculum stem reinforced in homework and laboratory assignments by
becoming unviable. requiring them to submit pseudocode or a lowchart (or both)
A second factor for the decline in interest in Mechatronics along with their program. During a laboratory session, the
is that the path of studying Mechatronics is viewed by many teaching team has experimented with not giving any help to a
students as being 'hard'. This perception is due in part to the student until he or she has irst developed the program logic
progr mming involved in ME 106 and the subsequent in pseudocode or a lowchart.
capstone course, ME 190 Mechatronics System Design. It is
understandable that students would tend not to pursue a path III. EXPOSURE TO COMPUTATIONAL SOFTWARE
of study that expects them to do more of what they are not We resisted the temptation in renovating ME 30 to focus it
conident in doing. solely on embedded systems progrmming, despite the fact
A third factor for the decline in interest in Mechatronics is that ME 30, while required in both the ME and AE
that mechanical engineering students are not naturally programs, is a pre-requisite only for ME 106. Several
attracted to computers and progrmming. Most of our considerations went into planning what sotware would be
students choose to pursue mechanical engineering because covered in the renovated class.
they are interested in designing and building things First, C was maintained as the primary language medium
(especially cars) rather than progrmming computers. Unless in which students lean the undamental concepts of
they've had some prior experience with mechatronics (such structured progr mming. This was done in large part,
as robotics), most have little idea that there are some really because C is still the language of choice for embedded
'cool' things that can be done when mechanical hardware, systems progr mming [4], and as mentioned above,
electronics, and sotware (read, 'computer proramming ) '
knowledge of C is expected of students entering ME 106.
are combined. Other reasons for teaching C are that it [5], [6]:
We are therefore renovating ME 30 to address some of the l
Is well suited for lening structured programming
problems explained above. The major educational goals in l
Supports a modular approach to progrmming
the renovated course are to: l
Provides a good balance of high and low-level
l
Develop algorithmic problem solving skill unctionality
l
Expose students to computational sotware widely l
Is concise, eficient, and fast
used by mechanical engineers in industry l
Has simple syntax and semantics
l
Expose students to Mechatronics early in the program l
Is used widely and has many libraries available
to better prepare them for ME 106 and to revive l
Is a good starting point for lening other
interest in the Mechatronics curriculum stem progrmming languages
The followng sections will outline the approach we are l
Is non-proprietary
taking in the new ME 30 to adress these goals. l
Is stable and standardized (lSO/IEC 9899)
We deal with the notorious diiculty of teaching C to
II. DEVELOPMENT OF ALGORITHMIC PROBLEM SOLVING beginning progr mmers through the use of Ch, a C
SKILL
intepreter developed by Prof. Harry Cheng at the University
As relected in the comment by the graduating senior of Califonia, Davis [6], [7]. Ch is a complete C interpreter
quoted above, one of the most diicult parts for students that supports all language features and standard libraries of
leaning how to program is starting rom a blank page and the ISO C90 Standard [7], yet it provides a "kinder, gentler"
coming up with an algorithm to solve a particular problem at way to len C. Extensive documentation for Ch and
hand. We are attempting to address this shortcoming by additional description of its features can be found at the
placing more emphasis on developing algorithmic problem SotIntegration website [8].

71
A second consideration regarding which sotware would B. Microcontroller Plaform
be included in the renovated ME 30 was the absence of any The major criteria we employed to select a suitable
formal exposure to Matlab in the ME and AE curriculum. microcontroller 'platfom' was that it should inexpensive
Prior to fall 2007, our E10 Introduction to Engineering (approximately $20-$30 US), current, easy for beginners to
course, included Matlab training in some of its laboratory use, compatible with other courses in the mechatronics area,
sessions. However, beginning in the fall 2007 semester, and that it have a signiicant user community. We looked at a
Matlab was dropped to make room for other content. Matlab number of the most popular platforms in wide use (e.g.,
is widely used in academia and industry and is viewed by Microchip starter/dev kits, Atmel STK500, AVR Butterly,
many educators as the language of choice for reshman Parallax Stamp, Freescale Tower, Cypress PSoC) as well as
engineering students [9]. Because of Matlab's importance, a number of third-party development hardware (e.g., Olimex,
especially in Mechtronics and controls, we include two MELabs, Futurlec) that have been in wide use over the past
weeks of coverage around weeks 13 and 14. Students ind ive years, and we inally settled on the Arduino platfom as
Matlab relatively easy to lean especially ater the prior shown in Figure 1.
weeks spent with C.
We try to alleviate the major drawbacks of Matlab: its
proprietay nature and its relatively high cost by also
exposing students to GNU Octave at the same time we cover
Matlab. GNU Octave is an open-source, reely available,
high-level language primarily intended for numerical
computations that is highly similar to Matlab [10]. Octave
provides a way for students to lean much of the
functionality of Matlab without becoming dependent upon it
[11].
The third consideration in choice of sotware has to do
with the students' ability to use a spreadsheet for engineering
computation and presentation of data. The spreadsheet is
arguably the most important computer application that
Fig. I. Arduino board. The Arduino is an embedded development
engineers should know and be able to use well [12]-[16]. platform based on the A Tmega328, an 8-bit microcontroller rom
Our E10 class does cover some of the basics of Excel for Atmel [17] - [18].
engineering applications, but most students need more
Arduino is a name for a number of interrelated and
practice with spreadsheets and more instruction in how to
overlapping elements of hardware and sotware [17] - [18].
create high quality charts. In the two weeks we allocate to
It can be used to designate the physical layout and
Excel, we also cover advanced features such as the Solver
interconnects of the original hardware board, the entire series
and VBA macros.
of boards and compatibles in the family, the IDE, the variant
of the C language that is mostly used for programming it, the
IV. EXPOSURE TO MECHATRONICS
C-language APIs for the family, or any combination of all
these depending on the context. Compatible boards designed
A. Student Enthusiasm for Mechatronics
and produced by others may not be called Arduinos, but are
Our experience rom ME 106 is that students really enjoy
oten named *duinos, or said to be 'Arduino-compatible'. To
the hands-on nature of mechatronics and leaning how to
date, all Arduino-compatibles use 8-bit microcontrollers
bring together electromechanical hardware, sensors, and
rom Atmel's AVR family.
microcontrollers into a functioning 'intelligent' system.
Everything that is produced by the Arduino team is open­
However, by the time most of the students take ME 106, they
source - hardware and sotware alike. Most, if not all, of the
have already decided on their area of specialization, and, as
sotware on which the Arduino sotware is built is also open
mentioned earlier, the majority chooses Design over
source, particularly the cross-compiler, the IDE, and the Java
mechatronics or Thermal/Fluids. However, for some
language used by the IDE.
students, the positive experience in ME 106 causes them to
There is a substantial and growing community of
switch focus to Mechatronics for their elective courses and
developers of and for the Arduino - hardware, sotware,
senior capstone course or to at least want to lean more about
documentation and users [18].
Mechatronics. We thought it prudent therefore to capitalize
on the enthusiasm around Mechatronics by exposing the ME . Experimenter Shield
30 students to microcontrollers and embedded programming. A ubiquitous hardware accessory that many in the Arduino
Exit surveys also indicate that satisfaction with ME 106 and community develop for extending the unctionality of the
Mechatronics is correlated with a student's ability to write Arduino is a 'shield'. A shield is a printed circuit board
sotware. (PCB) designed to be connected on top of an original

72
Arduino that follows the connector layout of the original
Arduino PCB. The Arduino website contains a long list of
shield designs contributed by the user community [19].
We designed our own shield so that we could readily
provide means for digital input, digital output, analog input,
and pseudo-analog (PWM) output directly on the project
board without needing extra equipment and components and
without requiring extra knowledge of mechatronics rom the
students. Figure 2 shows the irst prototype of the
Spartronics Experimenter Shield (SES). Thirty of these
boards were fabricated in the fall of 2009 to use in ME 30
that same semester.

Fig. 3. The Spartronics Experimenter Shield (SES) ver. 1.0. This


version of the SES expands the functionality of the irst prototype to
also include a temperature sensor, photoresistor, dual seven-segment
LED display, eight momentry push-button switches, eight LEOs,
and on-board piezo speaker. The SES vl.O can be used with the
original Arduino (and its clones) as well as with the Seeeduino Mega,
a Arduino Mega-type board based on the ATmegal280
microcontroller [20], which is available from Seeed Studio [21].
segment display (along with the other elements mentioned
earlier) accessible. With the standard Arduino and SES v1.0,
only the letmost four switches and four LEDs (along with
the other elements) are accessible. Jumpers on the boards
allow pins associated with the switches, LEDs, and speaker
to be disabled and used for other purposes. We plan to
Fig. 2. First prototype of the Spartronics Experimenter Shield (SES). present a more complete description of the design and
The SES is a low-cost, high-function, add-on platform to the Arduino operation of the SES in a subsequent paper [23].
that can be used to demonstrate both embedded programming as well
as PCB/circuit assembly techniques. The irst prototype of the SES D. Laboratoy Assignments Using the Arduino and SES
board contains a potentiometer for analog input, a momentary push­
button switch for digital input, n ROB LED, and a two-pin header In the fall 2009 semester, when the Arduino and the
(for a speaker (not shown)). prototype SES were irst introduced, we had one lecture and

This early version of the SES features a potentiometer for one laboratory assignment for the students to get familiar

analog input, a momentary push-button switch for digital with embedded hardware and programming. The lecture

input, an ROB LED, and a two-pin header for a piezo covered the Arduino hardware, proper handling to minimize

speaker. ESD damage, the concepts of digital and analog input and

Figure 3 shows the more complete version 1.0 of the SES output, reading rom and writing to pins, and PWM output.

that is planned for use in the spring 2010 semester and The laboratory experiment consisted of several exercises

beyond. This board uses a professionally fabricated PCB and (which will be explained in more detail below):

includes more elements, such as a temperature sensor, 1. Oetting familiar with the Arduino and its integrated

photoresistor, dual seven-segment LED display, eight development environment (IDE)

momentary push-button switches, eight LEDs, motor/servo 2. Practicing with digital 10

header, and on-board piezo speaker. 3. Practicing with analog 10

A unique feature of the new SES is that it can be used with The irst exercise had four parts. In part 1, the students

the original Arduino (and its clones) as well as with the connect the Arduino to the PC and download a pre-written

Seeeduino Mega, an Arduino Mega-type board based on the program (called a 'sketch' in the Arduino community) to the

ATmega1280 microcontroller [20] available rom Seeed Arduino that blinks an LED on the main Arduino board at

Studio [21]. The 'duinoMega-type boards are based on the 0.5 Hz. In Part 2, the students are asked to modiy the code

ATmega1280 microcontroller [20]. The ATmega1280 has rom Part 1, so that the LED blinks at 2 Hz. In Part 3, the

four times as much lash memory, SRAM, and EEPROM student is asked to modiy the code rom Part 2, and blink

(128 kB, 8 kB, and 4096 bytes respectively) and 86 10 pins the green channel of the ROB LED on the SES. In Part 4, the

compared to 23 on the ATmega328 [22]. When the SES is students are asked to modiy the code rom Part 3 so that the

used with the Seeeduino Mega, its additional 10 pins make program blinks the red, green, and blue colors (in that order)

all eight switches, mono-color LEDs, and the dual seven- of the ROB LED on the SES.

73
The second exercise has two parts. In Part 1, the students be done using an of-the-shelf television IR remote in case
write a program that ns on the blue LED when the switch students were unable to complete the requirements of the ull
is pressed, and ns it of when the switch is not pressed. In assignment. The complementary goals were to demonstrate
Part 2, the student is asked to write a program that ns on the values in both being able to leverage known-good
the green LED when the switch is not pressed, and ns on starting points in a design, as well as breaking down a larger
the red LED when the button is pressed. problem into more manageable pieces that can be attacked
The third exercise has two parts. In Part 1, the students separately - and parallelized as time and resources permit.
write a program that controls the brightness of the green The laboratory assignment consisted of four exercises.
LED by reading the pot voltage and setting the brightness The rst exercise built upon the color mixing challenge rom
according to the rotation angle of the pot: all the way in one the last part of the previous week's lab project, however it
direction ns the LED off; all the way in the opposite added two requirements. First, mixing of the RGB LED
direction tuns the LED to ull brightness; and in between, colors could only occur only when one of three designated
the brightness varies in proportion to the angle of the pot. In switches respectively were pressed and held down. Second,
Part 2, the students are asked to write a program that mixes the program would have to continuously output the raw pot
the red and blue LEDs in proportional amounts as the pot voltages (0 to 1023) for the respective color and two mapped
wheel is ned. When ned all the way in one direction, values, one for the respective PWM value (0 to 255) and the
the LED is just red. When ned all the way the other other a digit (0 to 9).
direction, the LED is just blue. In between, the amount of red The remaining three exercises had pairs of teams work
and blue vary inversely as the pot wheel is ned rom one together to set up IR communication between two Arduinos.
extreme to the other. We gave the students an application progrmming interface
Unlike the other laboratory assignments, we had the (API) and implementation code for several unctions that
students work in pairs to develop and debug the Arduino would enable them to send and receive arbitrary sequences
programs. This was done in part because of limited of digits (0 - 9). In the irst of the three exercises, the
hardware, but also in part to provide the students with some transmit team had to write a program that continuously sent a
comradeship in facing a new and different programming stream of digits: 1, 2, 3, 4, and 0 with 250 ms delays between
situation. them. The receive team had to write a program to light up the
For the spring 2010 semester, which is just ending at the red gumdrop LEDs on the Experimenter board
time of this writing, we allocated two lectures and two corresponding the digit sent. In the second exercise, the
laboratory periods for embedded hardware and transmit team had to write a program that allowed a user to
progrmming. The irst of these lectures and labs repeated set the mixed color of their RGB LED and send it to another
what we did in fall 2009. The lecture in the second week Arduino. The receive team had to write a program to capture
extended concepts of modularizing C programs (i.e., into a the RGB data that was sent by the transmit team, and display
user-interface description (.h ile(s» and implementation (.c the same mixed color on their RGB LED. The transmitting
ile(s», went into more detail about analog output via PWM, Arduino had to encode the mixed color of its RGB LED as a
and introduced the laboratory assignment for the week. In the sequence of three values, each in the range of 0 - 9. Finally,
laboratory for the second week, we had the students work in the third exercise, the transmit team had to write a
with the Arduino, Spartronics Experimenter, nd a small program that allowed a user to send one of eight tones in an
inrared (lR) transceiver board that we designed and octave scale determined by pressing four switches on the
fabricated by hand. The core elements of the transceiver Experimenter and by the setting of the pot: CCW of 'center'
were a TSOP2438 IR receiver module and an LTE-302-M allows the lower four notes to be sent; CW of center allows
IRLED. the higher four notes to be sent. The tones were to be coded
We wanted the experiment in the second week to build by a digit in the range of 0 to 7. The receive team had to
upon what the students leaned in the previous week nd give write a program to capture the tone data and play the
them a taste of how a relatively sophisticated application corresponding tone on their Arduino.
(essentially an IR remote control) could be implemented with
a microcontroller, a few simple components, and sotware v. OUTCOME ND FUTURE PLNS
that thy could write. We were guided by the desire to Feedback rom the students about the renovated course
demonstrate a practical solution to a problem that could be has been positive so far. Table 1 below includes excerpts of
understood completely in both its sotware and hardware the results rom questions asked in the exit survey:
implementation. Another goal was to enable multiple teams In response to open-ended questions about what they liked
to solve a single-system solution in cooperation with each best about ME 30 many students had eusive praise for the
other, as complete success was not achievable having only microcontroller laboratoy project. For example:
one side (transmitter or receiver) unctioning correctly. We HI liked working with the microcontroller where
designed the experiment to be compatible with a consumer­ you can proram the device to actually do
product IR remote control, so that intermediate testing could something, instead ofjust seeing the output on the

74
screen. More hans-on work with devices like the to purchase components and to get boards fabricated, as well
Arduino would be reat. " as help rom the technicians in the College of Engineering

TABLE I Central Shop in fabricating the irst prototype of the SES.


EXCERPT OF RESULTS FROM EXIT SURVEY (N=46)
REFERENCES
I I I I I I
( I) (2) (3) ( 4) (5) Std.
Avg.
None A little Moderate High Very High Dev. [I] asset, the Academic ,urvey ystem and £valuation 1001. [Online].
I. How much did ME 30 increase your knowledge of programming? Available: http://asset.t1tc.shu.edu/servlets/asset.Asset
0 I 2 I 9 I 24 I II I 3.96 I 0.79 [2] T. R. Hsu "Mechatronics for Undergraduate Mechanical Engineering
2. How much did ME 30 increase your skills in C programming? Education", 1995 ASEE Annual Conference Proceedings, Vol. I, pp.
0 I 2 I 12 I 21 I II I 3.89 I 0.82 1312-1324.
3. How conident are you that you can solve an engineering problem [3] B. J. Furman, T. R. Hsu., J. C. Wang, F. Barez, A. Tesfaye, P. Hsu, P.
by writing a program in C, Excel, or Matlab/Octave? Reischl, "Laboratory Development for Mechatronics Education,"
Session 1626, Proceedings of the ASEE Annual Conference,
I I 4 I 24 I 13 I 4 I 3.33 I 0.84 Washington, D. c., June 23-26,1996. Available:
http://www.asee.orlconferences/paper-search-form.cfm
With regard to the second week of experiments with the [4] M. Barr. (2009, August I). "Real men program in C." [Online].
Available: http://www.embedded.com/218600142
microcontroller, the students had their hands ull negotiating
[5] B. Furman, "1* Teach C! *1," presentation for the MESA09 panel
the entire scope of work that we had envisioned, and were session on the selection of computer languages for teaching
generally unable to complete both sides of the IR remote­ introductory programming for mechanical engineers, August 31,
2009, unpublished.
controlled system. In the upcoming semester we expect to
[6] H. H. Cheng, "C for the course," Mechanical Engineering Magazine,
ront-load the exercise with completion of the receiver-side Sept. 2009, pp. 2 - 4.
of the system and use a standard IR remote as the control [7] H. H. Cheng, "Ch: a CIC++ interpreter for script computing," CIC++
Users Journal, January 2006, pp. 6-12. [Online]. Available:
source. Many students commented in the exit survey how
http://iel.ucdavis.edu/publication/2006/CUJ proo.pdf
much they liked working in pairs on the microcontroller [8] White papers on Ch. [Online]. Available:
exercises, and that they felt they accomplished and leaned http://www.sotintegration.com/docs/whitepaper/
more in pairs rather than working alone. We plan to continue [9] G. Bjedov and P. K. Andersen, "Should freshman engineering
students be taught a programming language?", Frontiers in Education
and expand the approach of having the students work in pairs Conference, 1996. FIE '96. 26th Annual Conference., Proceedings of
for other assignments. Volume I, Nov. --9, 1996 pp. 90-92.
[10] GNU Octave. [Online]. Available:
Finally, we also plan to survey the students coming into http://www.gnu.orlsoware/octave/
ME 106 to see if the renovations made in ME 30 make a [I I] R. Stallman, "Why schools should exclusively use free software,"
Dec. 15, 2009. [Online]. Available:
difference as to the level of preparedness for embedded
http://www.gnu.orphilosophy/schools.html
programming and to the level of interest in mechatronics. [12] A. Banta, "Using computer spreadsheets in engineering and
education," Proceedings of the Frontiers in Education Conference,
ApPENDIX A - ME 30 COURSE SCHEDULE 1988, Oct. 22-25, 1988, pp.238-243.
[13] A. EI-Hajj, K. Y. Kabalan, and S. V. Khoury, "A linear control system
Table A1 below shows the schedule of topics covered in simulation toolbox using spreadsheets," IEEE Control Systems
ME 30. Magazine, vol. 20, issue 6, Dec 2000, pp. 8-14.
[14] M. Campbell-Kelly, "Number crunching without programming: the
TABLE A I evolution of spreadsheet usability," IEEE Annals of the History of
SCHEDULE O F TOPICS COVERED N M E 30 Computing, vol. 29, issue 3, July-Sept. 2007 pp. 6-19.
W eek TOPIC [15] N. Aliane, "Spreadsheet-based control system analysis and design,"
IEEE Control Systems Magazine, vol. 28, issue 5, October 2008,
Course overview, overview of computers nd sotwre
pp.108-113
used by mechanical and aerospace engineers
[16] J. Hihn, S. Lewicki, and B. Wilkinson, "How spreadsheets get us to
2 Algorithm development and the structure of a C program
mars and beyond," HICSS '09. 42nd Hawaii Intenational Conference
3 Structured programming - selection structures
on System Sciences, Jan. 5-8, 2009, pp. I - 9.
4 Structured programming - repetition structures
[17] Arduino. (20 I 0, February 7). In Wikipedia, The Free Encyclopedia.
5 Modular programming using functions
[Online]. Retrieved 17:09, February 8, 2010, from
6 Pointers and arrays - part I
http://en.wikipedia.orlwlindex.php?title=Arduino&0Idid=34241212
7 Pointers and arrays - part 2
:
8 Strings
[18] Arduino web site, http://www.arduino.cc/[Online].
9 Embedded programming - part I
[19] http://www.arduino.cc/plaground/Main/SimilarBoards. [Online].
10 Embedded programming - part 2
[20] ATmega l 280 product card. [Online]. Available
II Spreadsheets for engineering computation - part I
http://www.atmel.com/dvn/Products/product card.asp?part id=3633 .
12 Spreadsheets for engineering computation - part 2
[21] Arduino and related products.[Online]. Available
13 Matiab/Octave for engineering computation - part I
http://www.seeedstudio.com/depot/arduino-familv-c-27.html.
14 Matiab/Octave for engineering computation - part 2
[22] ATmega328 product card. [Online]. Available
15 Course review
http://www.atmel.com/dvn/products/product card.asp?part id=4720 .
[23] E. B. Wertz and B. J. Furman, "The Spartronics Experimenter Shield:
Design and Theory of Operation," February 23, 2010, unpublished
manuscript.
ACKNOWLEDGMENT

The authors acknowledge the inancial support received


rom the Mechanical and Aerospace Engineering Department

75

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy