the introductory cs course exciting? appealing? motivating? · karen t. sutherland department of...

8
The Introductory CS Course Exciting? Appealing? Motivating? Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 [email protected] Abstract In an effort to make our introductory Computer Science course more interesting and mo- tivational to a broad range of students, we have been developing new learning modules. Our goal is to add these one by one to the course and evaluate their impact with student feedback and learning outcome results. This paper describes our motivation, the modules developed, the problems encountered, and the status thus far.

Upload: others

Post on 19-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

The Introductory CS CourseExciting? Appealing? Motivating?

Karen T. SutherlandDepartment of Computer Science

Augsburg CollegeMinneapolis MN 55454

[email protected]

Abstract

In an effort to make our introductory Computer Science course more interesting and mo-tivational to a broad range of students, we have been developing new learning modules.Our goal is to add these one by one to the course and evaluate their impact with studentfeedback and learning outcome results. This paper describes our motivation, the modulesdeveloped, the problems encountered, and the status thus far.

Page 2: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

1 Introduction

A large amount of literature exists addressing how introductory courses in our field aremissing the boat when it comes to women and students from under-represented groups. [1,2, 3, 5, 6] There are claims that topics are often taught in a way that makes them opaqueto all but the small percentage of students who already understand them. We believed thatour introductory course fell into this category and decided to do something about it.

The introductory Computer Science course at Augsburg College is required of CS, Mathe-matics and Management Information Science (MIS) majors. It is an elective for other sci-ence and business majors. Due to the fact that it is a prerequisite for all other CS courses,CS majors take it their first semester. Due to its reputation for being boring and difficult,other majors were taking it as late as the spring of their senior years. A common studentcomment was that they did not find anything “useful” in the course. We will never knowhow many potential CS majors made alternative decisions concerning major during thetaking of that course.

We offer a breadth-first introductory course. Topics covered include:

• Algorithm Design and Efficiency

• History of Computer Science

• Binary Numbers, Boolean Logic, Logical Circuits

• Computer System Organization

• Computer Languages and Compilers

• Programming

• Models of Computation

As Computer Science educators, we certainly consider these topics to be “useful”. We thusdirected our attention to developing ways to present the material so that the students wouldshare our enthusiasm for CS.

Those taking the course have wide ranging mathematical backgrounds. The College’smathematics placement level requirement for the course is that of second year high schoolalgebra. Incoming CS majors lacking a strong mathematical foundation take a concurrentmathematics course which will bring them up to the level required for subsequent courses.The math majors, usually taking it in their junior or senior years, are well beyond therequired mathematical proficiency. Other students often struggle with concepts such asBoolean logic.

The course was originally completely lecture based, which we saw as one of the reasons forthe “boring” label. A short in-class lab exercise at the time that programming was coveredwas the extent of hands-on activity.

Rather than a complete redesign, we have developed a series of hands-on modules relatingto key topics in the course. In this way, faculty teaching the course can choose as many

1

Page 3: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

or few modules as they wish. This also fits in well with Augsburg’s Weekend Collegeprogram where we often have adjuncts teaching the course who have minimal experiencein areas such as robotics. In addition, the author is on call to visit the class for any particularactivity.

The following sections cover each module developed thus far.

1.1 Java Graphics

The programming module was the first to be developed. We spend two weeks on intro-ductory Java programming, not enough time to understand the power of the language, butplenty long enough to become frustrated with case sensitivity and turned off by commandline interactions that are nothing like the GUIs which the students are accustomed to usingwhile interacting with a computer.

When we do this module, we have already used decision and repetition statements as wellas Boolean expressions at the algorithmic level. We discuss examples of Java “if” and “for”statements as a way of implementing these constructs. The students are then given a Javaapplet template and the Java syntax for drawing lines and the basic geometric shapes.

We also discuss the importance of being able to generate pseudo-random values in manyfields, including the social sciences and business. The Java syntax for using Math.random()to generate values to be used for making random choices is then provided.

After a one-hour closed lab covering compilation and running of an already written Javaapplet which used a for-loop to graph a line of circles on the applet window, they are givenan assignment with the only requirement being that it has to use at least one loop and onedecision statement and to look different each time it is run (use of Math.random()). Threeof the results can be seen in Figure 1.

Figure 1: Examples of Java graphics projects. Images are (left to right) by Alex Garver,Michael Murphy and Sarah Lindstrand. (Note the initials in the center creation.)

We have used this module in several offerings of the course over the past three years. Thegraphic creations have had a regular presence on our department’s bulletin board. Due tothe project’s emphasis on creativity, it has helped level the playing field between those stu-dents with programming experience and those with none. Most importantly, the graphicalresults show how loops and decision statements provide power for the programmer muchmore effectively than a column of numbers output on a terminal screen. Students now comeinto the course asking when we are going to do the Java graphics.

2

Page 4: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

2 Robotics

A collaborative grant with Prof. Maria Gini at the University of Minnesota and Prof.Jan Pearce at Berea College in Kentucky [4] has allowed us to develop robotics mod-ules for our introductory course. The grant provided funding to purchase Sony AIBOrobots at all three institutions. Unfortunately, the AIBOs were discontinued by Sony lastyear. We are currently using the AIBOs in class but are in the process of developingsimilar modules using small vehicles based on the Handy Cricket controller board (Seehttp://www.handyboard.com/cricket.) in an effort to make this module useful for institu-tions that do not have the AIBOs. The robots are shown in Figure 2.

Figure 2: Our current AIBO platform is on the left. Handy Cricket vehicles are on the right.

We have developed two modules using the AIBOs. The first is used in the beginning ofthe course when we are working on algorithms. The basic control structures emphasizedare selection and repetition. We provide a prewritten program for the AIBOs and handoutscontaining instructions for using them. We divide the class into groups, the size of whichdepends on class size. (We have four AIBOs.) Each group downloads code to the AIBO,observes as the code is run, then modifies the code to make the AIBO do something differ-ent. The modified behaviors are demonstrated to the class at the end of the session. Due tothe fact that the AIBO r-code that we are using corresponds well to algorithmic notation,students readily understand the commands. The initial program follows:

//--------------Comment line -------------:START

GLOBAL:angle:90GLOBAL:distance:100

PLAY:ACTION:SITWAITPLAY:ACTION:STANDWAIT

FOR:I:0:2 // for loopPLAY:ACTION:WALK:0:500WAITPLAY:ACTION:TURN:angleWAIT

IF:I:==:0:THEN // if statementPLAY:ACTION:KICK:angle:distanceWAITPLAY:ACTION:KICK:angle:distanceWAITENDIF

IF:I:==:1:THEN // if statementPLAY:ACTION:PALONE.AUTO.EAR

WAITENDIF

IF:I:==:2:THEN // if statementPLAY:ACTION:PALONE.AUTO.TAILH

WAITENDIF

NEXT

PLAY:ACTION:LIEWAITPLAY:ACTION:PALONE.AUTO.TAILSTOPWAITEXIT

3

Page 5: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

The second AIBO module is used when we are studying time complexity. The studentsagain work in groups. AIBO code is provided with three simple consecutive loops, onewhich makes the dog repeatedly walk a short distance then turn, one which has it wiggleits ears X number of times and one which makes it wag its tail Y number of times. Thestudents experiment with nesting the loops and watch the change in AIBO behavior. Forexample, nesting the third loop inside the second would cause it to wag its tail Y numberof times each of the X times it wiggles its ears. Each group must then submit answersto questions regarding the time complexity of the original as well as the modified code.Understanding of how nested loops behave has improved significantly, as demonstrated onexaminations.

Although the Crickets are not nearly as “lovable” as the AIBOs, we believe that the im-provements we have seen in student learning are due to the ability to see something tangibleoccur when changes are made in an algorithm rather than the appeal of the platform. TheHandy Cricket has a PIC microprocessor, 4096 bytes of memory, output for two DC mo-tors, two bus ports, a built-in infrared transceiver for communication and a beeper. It runson four AA batteries and sells for $59 at this time. The Crickets use a Logo type languagecalled, appropriately, Cricket Logo. There is a built-in bytecode interpreter with each bytecorresponding to a Cricket Logo primitive. A nice graphical user interface is provided tomake writing code easy. Commands are simple and easy to understand. Examples: “b,on”turns the motor in port b on. “b,rd” reverses direction of the motor in port b. Many studentshave used Logo in grade school and find it familiar and comfortable.

3 Sound Recognition

We also use the AIBO platform for a sound recognition module. Its development cameabout when the students discovered that the AIBOs responded to voice commands. Theywanted to try those voice commands. An initial lab was unsuccessful due to the fact thatfour groups of students were yelling commands at our four AIBOs at the same time withnot unexpected results. In spite of the instructor’s reaction to the scenario, most of thestudents had not expected it to be so difficult and did not understand why it was.

We borrow an oscilloscope from the Physics department and watch it while different stu-dents with a range of voices speak into a microphone. While they are speaking, groups ofstudents (planned) start whispering and then talking in the background as we all watch theprogressively noisier sine waves on the screen. At this point, we move to the AIBOs. Stu-dent groups pick a spokesperson for their robot. The others keep silent when commands arebeing given. When a command is mistaken for another similar sounding one, patience isexhibited. This leads to a discussion of voice recognition systems along with an increasedunderstanding of why one is sometimes misunderstood when dealing with the expandingnumber of such systems in our society.

4

Page 6: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

4 Linux

Student feedback on our old curriculum was unanimous in stating that a lecture on differentoperating systems was not useful because they could not relate to it. Most of the studentswho take this course have experience with only one operating system (Windows). A fewhave used a Mac. Very few have ever used Linux. For this module, lecturing on operatingsystems was replaced with reading a survey paper on Linux [7] which contains a shorthistory of operating systems in general and a description of Linux in particular. This isfollowed by a laboratory session in the department’s Linux lab. At this point in time wehave also discussed public domain software. The revelation that operating systems donot all cost hundreds of dollars was surprising to a large percentage of the students. Thestudents come to lab having read the paper and fill out a lab worksheet as they becomefamiliar with the new operating system.

The worksheet follows. Questions are easy to answer but take some sleuthing. The studentsfound the experience to be enjoyable. Several of them were later seen doing homework orreading email in the Linux lab. On the course exit survey for fall 2006, 12 out of 18 studentswho did this module claimed Linux to be an operating system they are somewhat familiarwith. None did so on the course entrance survey.

CSC 160 Linux Lab AssignmentThe assumption is that you have read the handout on the linux operating system.

1. Working in pairs, each person should log into a linux machine.

2. Check your email.

3. Following the directions given on the opening screen, open your AugNet folder.

4. Bring an MS Word or Excel file from your AugNet folder onto the desktop. (If you have none, go intothe Mac lab and create one.) Open the file on the linux machine. What software opens the file? Whatdoes the handout say about this software? Add a minor change to the file and save it in your AugNetfolder.

5. Logout

Email answers to the following questions to your instructor. These should be in a plain text file sent as anattachment to the message, not in MS Word and not in the body of the message.

• What is the name of the linux machine you are logged into? What are the linux machines namedafter? Where is your machine’s namesake?

• What distribution of linux is installed in the linux lab?

• Explain two differences between the linux OS and either Windows or Mac OS10.

5 Data Glove

This module is used at the time that we are discussing Human-Computer interaction (HCI).Many of the students have used data gloves when playing computer games. Most of themdid not know how the gloves actually interacted with the computer. We discuss how sensorson the gloves send signals to the computer based on which fingers are bent. Two programshave been written, one that streams numerical values for each finger onto the terminal

5

Page 7: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

screen and a second which moves a simple wireframe single jointed robot arm accordingto finger movements. The programs are written in C. The second uses OpenGL graphics.The students never deal with the code, only with the concepts of how the numeric data istransformed into commands to animate the graphics with the use of selection statements.Due to the fact that we have only two gloves, this lab is run during the Linux lab describedin Section 4. The students who are not using the gloves at a given time are working on theLinux project.

One of the gloves, (See http://www.5dt.com) can be seen in action in Figure 3. Future plansinclude extending this module so that we can use it in the Virtual Reality lab and thus alsotrack hand and arm movement.

Figure 3: Binod K.C., who is writing the code to control graphic displays with the glove.The single jointed wireframe arm can be seen on the screen.

6 Conclusion

Student response to our modifications has been very positive. The course is definitelymore fun to teach as well as to take. Non-CS majors are taking it earlier in their academiccareers. Majors are well prepared for subsequent courses. Students with weak analyticalbackgrounds are taking away useful skills and not feeling intimidated. The collaborativegrant with Minnesota and Berea is supporting a broad study of student participant attitudestoward Computer Science. Although we do not yet have enough data to provide statisticaldifferences, what we do have is pointing to an improvement in attitude and performancewith every hands-on participatory activity we add to this class. We consider this to be awork in progress, but one heading in the right direction.

6

Page 8: The Introductory CS Course Exciting? Appealing? Motivating? · Karen T. Sutherland Department of Computer Science Augsburg College Minneapolis MN 55454 suther@navigation.augsburg.edu

7 Acknowledgement

This project was supported by National Science Foundation grant DUE-0309816 and coop-erative grants DUE-0511304, DUE-0511352 and DUE-05111282. The author is indebtedto Professors Gini and Pearce for our hours of discussion on how to improve this experi-ence for all of our students. Students Jesse Docken (the AIBOs) and Binod K.C. (the dataglove) have helped in the development of these modules.

References

[1] FELDER, R., FELDER, G., AND DIETZ, E. The Effects of personality type on en-gineering student performance and attitudes.Journal of Engineering Education 91, 1(2002), 3–17.

[2] FELDER, R. M., AND BRENT, R. The intellectual development of science and engi-neering students. ii. teaching to promote growth.Journal of Engineering Education93, 4 (2004), 279–291.

[3] FISHER, A., MARGOLIS, J., AND M ILLER , F. Undergraduate women in computerscience: Experience, motivation, and culture. InProc. of the SIGSCE Technical Sympo-sium on Computer Science Education(Feb. 1997), pp. 106–110. Published in SIGSCEBulletin, Vol. 29, N. 1, March 1997.

[4] GINI , M., PEARCE, J., AND SUTHERLAND, K. Using the Sony AIBOs to increasediversity in Undergraduate CS programs. InIntelligent Autonomous Systems 9, T. Araiet al. (Eds.)(2006), IOS Press, pp. 1033–1040.

[5] L AZOWSKA, E. D. CRA testimony on the underrepresentation of women and mi-norities in computing. Given to the Commission on the Advancement of Women andMinorities in Science, Engineering, and Technology Development, Oct. 1999.

[6] SACKROWITZ, M. G. An unlevel playing field: Women in the introductory computerscience courses. InProc. of the SIGSCE Technical Symposium on Computer ScienceEducation(Feb. 1996), pp. 37–41. Published in SIGSCE Bulletin, Vol. 29, N. 1, March1996.

[7] W IRZENIUS, L. Linux: the big picture.PC Update 20(May 2003).

7