new motivations are required for freshman ...

3 downloads 0 Views 11KB Size Report
33rd ASEE/IEEE Frontiers in Education Conference. T3C-24. NEW MOTIVATIONS ARE REQUIRED FOR FRESHMAN INTRODUCTORY. PROGRAMMING.
Work in Progress

Session T3C

NEW MOTIVATIONS ARE REQUIRED FOR FRESHMAN INTRODUCTORY PROGRAMMING Maria Feldgen 1 and Osvaldo Clua 2 Abstract - The perception of software engineering practice prevailing in today's students changed a lot from the image we had of the profession when we began our studies. Freshmen perceive the profession they chose from their experience, where web and games were the most outstanding examples. The first course in programming traditionally addresses examples drawn from Math and Physics, and when motivation is required, from what we consider is the real world of professional development. But this real world is not the image that freshmen have as to what they will be doing for a living. So these kind of examples have lost their motivating power. Programming seems to be no more a vocational training for students pursuing a Software Engineering degree. We introduced web and game programming examples instead of classical programming exercises in our first programming courses. This approach proved to be more motivating to our students. Index Terms - CS1, freshmen programming, motivation, retention strategies.

INTRODUCTION "Computing is more than just a collection of facts and algorithms. It is a dynamic, vital discipline that offers many challenging and interesting problems, exciting results, and imaginative applications. The curriculum should try to impart this sense of excitement to the students; the material may be difficult, but it need not be dull", stated the 1991 Computing Curricula and the suggested motivation was: "... Examples involving searching and sorting techniques and elementary numerical analysis are used to motivate students". Skimming most of the table of contents of CS1 texts in "Pascal" or "C" will reveal the same standard outline with a lot of elementary numerical analysis exercises. These examples were the perception of software engineering practice we had of the profession when we began our studies and that of our students before the WEB age. In the WEB age it is popular knowledge that computers are used everywhere, but it is not clear what a typical industrial project looks like and how computers are used in an organization today. More than 98% of processors applied today are in embedded systems, and are no longer visible to the customer as "computers" in the ordinary sense The today "visible computing" are personal computers, with impressive human interfaces for games and web to navigate around the world. All recent students, from a very early age, experience 1 2

computers as multi-threaded, GUI-driven devices and they relate the profession they chose from their experience with this type of computing. And these are the programming jobs they want to have in their professional life. So the traditional kind of examples have lost their motivating power. How can we motivate a student with the poor dialog interfaces provided by a traditional Pascal program, solving a numerical analysis problem?

IMPLEMENTATION AND PRELIMINARY R ESULTS We have found that in order to cover the basic concepts of programming we had to stimulate student's interest. Traditional algorithms, control structures, data types and related concepts are abstract and difficult to explore, and they do not appear as stimulating issues by themselves. We introduced what students regard as their real world: games and web-programming. This approach helped us to promote an effective learning environment and encouraged class participation. Programming activities are well suited to accommodate all learning styles and make teaching and learning a fun activity. We begin our course with game programs using only integer variables and logical conditions modeling the rules. Class after class we introduce algorithms and control structures, to work out the games. After midterm we introduce complex algorithms and complex data structures to build card and board games, and game competitions with ranking and awards. We use CGI Web programming to let students play with fancy user interfaces. The organization of each program must be written in structured Spanish, before beginning the programming activity, which may be done by a classmate. This kind of exercises build the community sense we need in class. In the last years we observed that students finished the work at home and they were so proud that they showed it to friends, classmates and parents. We have the highest rate of attendance in class according to the last two years of University statistics. 60% of the students who finished the course, passed the examinations with high rates before beginning the next course and 95% did it after one semester. Before we introduced the games approach, 25% of the students left the course and 10% deserted from the Institution. Last year we observed a 10% drop out and no desertion; this 10% is taking the course again.

Maria Feldgen, University of Buenos Aires, School of Engineering, Argentina, [email protected] Osvaldo Clua, University of Buenos Aires, School of Engineering, Argentina, [email protected]

0-7803-7961-6/03/$17.00 © 2003 IEEE November 5 -8, 2003, Boulder, CO 33 rd ASEE/IEEE Frontiers in Education Conference T3C-24