IPP: A Web-Based Interactive Programming Portfolio - Semantic Scholar

2 downloads 319 Views 633KB Size Report
program under review through the use of Java applets. .... Java, the Web, and Interactive Portfolios ... application development tools, the button, label, and text.
IPP: A Web-Based Interactive Programming Portfolio John K. Estell Computer Science Department Bluffton College Bluffton, Ohio 45817 [email protected] Abstract The portfolio is a well-established method for documenting student learning outcomes. This paper presents the development of a web-based interactive programming portfolio methodology at our institution. This methodology allows the reviewer to easily interact with the computer program under review through the use of Java applets. Both an evaluation form as well as detailed rubrics for the evaluation of the portfolio entry is accessible from the web page containing the portfolio entry. These resources allow reviewers to easily submit their feedback electronically to our students. 1.

The Portfolio

The traditional format of the programming portfolio is a physical document, typically a ring binder that allows for the easy insertion or removal of items. Entries usually consist of program source code listings, sometimes combined with text-based example runs or graphics-based snapshots showing particular moments of program execution. Unfortunately, such material fails to capture the essence of the programs in action. Furthermore, the notebook format forces the organization of the portfolio to be sequential because of the nature of the print medium; however, the structure of ideas is not sequential. As early as 1945 Varmevar Bush noted that the human mind operated by the association of thoughts and proceeded to describe his "memex" system that is considerably similar to the Web environment of today [2]. The concept of hypertext, presented by Ted Nelson in 1965, brought forth the possibilities of using the computer to form documents of arbitrary structure [5]. With the advent of the personal computer and the development of hypertext systems in the

Permission to make digital or hard copies of all or part of this work for personal or classroom use is grented without fee provided that cop=es ere not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. 'To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SIGCSE 2001 2101 Charlotte, NC, USA © 2001 A C M ISBN 1-58113-329-410110002...$5.00

rnid-1980s, it was a simple jump for educators to promote the use of electronic portfolios. Hypertext allows a better structural representation of the thought process involved in the learning process, as it can better show how a portfolio entry was the product of the synthesis of a variety of ideas. With the rise of the World Wide Web there has been increased interest in the development of electronic portfolios. The nature of the Web as an interactive multimedia facility that can provide information on demand opens up new possibilities for the use of portfolios in many disciplines. Portfolios have been identified as a way to document and assess student outcomes. Interest in the use of portfolios has increased due to their promotion by accreditation agencies, such as ABET, as an acceptable means for documenting and assessing student outcomes [3]. However, only in the last couple of years have major efforts been undertaken to create and use Web-based electronic portfolios. The RoseE-Portfolio system, first started in 1998, is an example of such a system [7,8]. Their system allows students at Rose-Huiman to access their portfolio at any time over the campus network, providing secure access for the purposes of uploading documents and adding reflective statements. Faculty members are able to review and critique student portfolio entries at their convenience simply by accessing the appropriate web pages. Additionally, external evaluators can access portfolios to provide an additional viewpoint to a student's body of work. While the use of electronic portfolios is just one of several methods available for assessing student outcomes, it does add a measure of both breadth and depth of information that is not available through other methods. Applying the concepts of an electronic portfolio to the subject of computer programming is straightforward. It is simple to create a Web document containing listings and descriptions of one's computer programs, especially as the source code is already stored in an electronic format. The pages within this document may include links to downloadable source code and executable files. The problem with this approach is the amount of effort required by the reviewer to evaluate the material. It is worthwhile to download the source code only if one possesses a suitable compiler or interpreter for the language in which the

149

program is written. Furthermore, despite the claims of the portable nature of high-level programming languages, a sufficiently robust program can easily contain platformdependent code that would prevent its compilation and execution on different systems without some degree of modification. The downloading of an executable file also suffers from platform dependencies; in addition, there is an element of risk as the code could contain a hidden virus.

links to three different orderings of entry information: alphabetical, chronological, and subject. The pages for the alphabetical and chronological ordering of portfolio entries are straightforward, with each item consisting of a link to the portfolio entry followed by a brief description of what that particular entry is about. The alphabetical ordering allows for quick access to a known portfolio entry whereas the chronological ordering allows for easy analysis of the student's development over time. Subject ordering is used to focus the student's attention onto our learning outcomes, the key concepts embodied by their programs. For this index the subjects are listed alphabetically and are coupled with one or more links to the relevant portfolio entries. One of the benefits of this ordering scheme is that a reviewer can easily determine whether the student has grasped a particular subject without having to go through all of the portfolio entries.

Research using various search engines on the Web has failed to turn up many student programming portfolios at the present time. The majority of those found had the appearance of being student-initiated and not established as an instructional requirement. The lack of guidance is apparent at these sites, in terms of both portfolio and web site design. Almost every site examined simply presented a list of programs. There was neither elements of reflection upon the ideas and concepts found in each of the entries for a typical portfolio, considered vital for the learning experience [6], nor was there evidence of specific learning outcomes. If programming portfolios are to be effectively used in the computer science curriculum, then students must be provided with some form of structural guidance for the development of portfolio entries and for proper web page design. In addition, the accessibility issue concerning program entries needs to be addressed so that reviewers can efficiently examine executable code without having to go through various contortions for the downloading and execution of such code.

The portfolio entry, an example of which is shown in Figure 1, consists of a number of fields used to document and reflect upon the program. Note that the applet and corresponding source code are not contained on the portfolio entry page. Instead, they are stored on a separate page and are accessed via a link in the "Program" field. This is done in order to allow the viewing of a portfolio entry without forcing the reviewer to also download the source and executable code. If the reviewer finds the program to be of interest, the executable applet is only one click away. By following the link the reviewer can evaluate the program without having to deal with a bunch of floppy disks or with scripting programs designed for handling electronic submissions, and without needing to explicitly download and compile the source code.

2. Java, the Web, and Interactive Portfolios At our institution Java is the language used in the objectoriented programming (OOP) courses taken in the sophomore year, In order to explore OOP concepts through the writing of programs, applets are introduced early in the course curriculum. This requires that students obtain a fundamental understanding regarding event-driven graphical user interface (GUI) programs. A minimal, but sufficient, amount of coverage is presented at this time regarding the use of Syrnantec's Visual Caf6 Java rapid application development tools, the button, label, and text field GUI components, a small number of methods associated with these components, and how one handles action events generated by components. As our students have previously been instructed as to web page development, once this material is covered they are able to write simple Java applets.

P~elTe¢~ ima Ataah~r:

The Interactive Programming Portfolio (IPP) is a webbased electronic portfolio that is introduced once our students have a basic understanding of event-driven GUI programming using applets. It is initially presented to our students through the examination of an example portfolio developed for this purpose. The home page for the IPP is very simple, containing text identifying that this is a particular student's programming portfolio and providing

fro]low ~

to vkw g~pkt uad code)

Jt~aizSonc¢

Data:

16 ~

D e ~

~ograJ~ ~x~'at~s ~ e use of a paaeJ md ~ml~lie c~:~ne~ts oa a d~gb~:[ panel ire stillenabled. Also, t:t.a JTenttAreeaszaus,t be put m JScrdlPmaes.

2000

Program last modified: N/A

Cmq~m.t, nts:

Act~aEveea:, ,IB.non..Tl, abel. 3'Pmel. YFeztAreaJ;~'olff'me

~[sW COn¢slJ~.

U~

l~b¢~:

~ai.t p ~ o p n is my rest 'Tailrace*m Ihe senxseIhat wha~I set Qut to I:y ~ not possible lz my kn.owledg~. I vouded to knowif ~ cosnpontm,~ m a dis~*,l>l=d JPand would also bcco~nc dizabk~ Tais wo'~.ddhave been ~e~ul ~'one wae~edto disabled rebd:ed eompocer~ o~ a .~'w,d ~f~e ~ser ~ekcted aa opUoa kwo~d smn~t~e ~ o m l m ~ o cq~abledCOml:,O¢~ ~ v i ~ a ~ y The rcsu,~was a faik~'e~J]Pa~e~s~ be ~abled btr. O~,e~rcc,mpoeez~ axe s ~ enabler

a JPlmd and a JTe~.Area m m apl~,

ALSO.Ihe lpro{p~mldemoealrllted file need to have a JTextArea m a J,~:l'o~Pm:teJn order to hltve the ~cr¢~b m the are akeidy ~so~,~ed wilh i~ A W T ccuaterpmt. Ilk was not put m the JScsc.llPmae.there would be no ~c~[ b ~ avmbble for ¢

Figure 1. Example IPP Entry.

150

The IPP has been used in our OOP courses for students to demonstrate competence in OOP through a combination of self-designed and instructor-assigned applets. Students best learn programming by writing programs; the IPP is used to encourage them to explore aspects of the Java language on their own by providing a vehicle to showcase their ability. While the number of applets submitted by our students averages twelve per semester, it should be noted that students are not, and should not be, judged based on the quantity of applets generated. Students are periodically provided with a list of concepts covered in the course; they are to incorporate and exercise these concepts in their programs. As long as the student can demonstrate an understanding of the set of concepts provided, it matters not whether it took three or six or whatever number of applets to illustrate this understanding. Instructor-assigned applets are used, albeit sparingly at an average rate of three per semester, as a comparative assessment tool and as a way to ensure that our students write programs incorporating certain language constructs at particular points in the course. Deadlines are strategically set for these instructor-assigned applets to ensure that students stay on pace with the current set of topics being covered in the lecture. To further keep students on track with their studies, the traditional assessment methods of quizzes and exams are also used in conjunction with this portfolio method. This assignment paradigm has shown itself to be an effective motivational tool for most students. Students work on programming topics that are of interest to them. Because of this interest the average student writes more code and places greater effort into ensuring its correctness than is normally encountered in the typical programming assignment. 3.

The design of the IPP rubric evaluation procedure is motivated by the concept that successful portfolios require authentic audiences [6]. Accordingly, the evaluation forms for the IPP are made available on-line to anyone who wishes to provide feedback to the student. Simply clicking on a link that is provided with each portfolio entry allows access to the primary evaluation form, shown in Figure 2.

p..n.,, vo.~a~k v.~

3, UT~er~fa~e ~e~a.~

c A

~" B

c C

c 1)

c

4.~_h_~

~A

rB

c C

cD

c~

Co~/~I~?

¢ s t l a b l e d p~anel voulcl ~ g t l l p a s s eveng~ a~.on~ ~o ~ po~n~* Th~n~.S ~Or ~he h e l p £ U l ~ l p !

Figure 2. IPP Evaluation Form. This form indicates the particular web page under review, presents the evaluation criteria categories - coding style, web page design, example quality, user interface design, and documentation - and provides text boxes to allow reviewers to enter their name, e-mail address, and comments. A reviewer needs only to fill in the required information then click on the submit button. A CGI script written in Perl processes the submitted form information and automatically mails it to the student's electronic mailbox; an example of what a student receives in his or her mailbox is presented in Figure 3.

Rubrics and On-line Assessment

One of the difficulties with the use of portfolios is that of assessment. In the traditional model, a student provides a body of work to be graded by the instructor. The student in this model is motivated to tailor the presentation of material in the portfolio toward the one person who will assign a grade to the body of work. Unfortunately, the student is often unaware of the criteria that will be employed by the instructor. This failure to properly communicate goals and expectations takes away from the long-term learning experience desired from the use of a portfolio. Students need to know what is expected of them; instructors need to communicate this information to their students. The development of the rubric as an assessment tool has helped to solve this problem. Rubrics are scoring guides that provide sets of standard descriptions for a group of outcome parameters that form the basis of the evaluation. For each outcome there are descriptions relating to the full range of quality levels of student work. The use of the rubric promotes objectivity in the assessment process; accordingly, the construction of a rubric must be developed through a carefully thought-out process.

iX-Commnt;s= ~Ot,ISERz I'Iomll]La/4.?3 [ o . ] X'-'Colment8: " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

¢1,/1.r~98; U) .... -----------------------

i (reDO) )d;tp~//©8.blu, fFton.edu/"Jso~ice/poPtfolio/panelte:st/home.html (suo,31ect) l~oPt ~o l~Lo ~oodJbaCk (n~ute) LemJu~,J.egue Holmte~in ; (emil) )to].stein~scm.ol.f/ (webPageg~8 ) B :(©odinggtylal~ A ~(t.ntez~FaceDem ~ n ) B (.lity) I (~ocu.Jwnt a t :Lon ) R (comnts) !Uery I I w o l i n O pPoIll'-~Jl | ~t8 n o t Ival,~l t ~ t t ; d ~ a ] b l e d l ~ n e l ~,muld s t i l l ~ s s evento a l o n l ¢ol~pononts. Thanks f o p the h e l p f u l ¢ i p ! i(£ubait)

~u]~it

Evaluatlon

~o i t s

Porto

I

Figure 3. Mail Received by Student from IPP Evaluation.

151

In order to provide an uncluttered evaluation form, links are provided for each of the criteria categories that lead to detailed descriptions on their own popup web pages. An example of one of these pages is given in Figure 4.

experiences from the greater amount of feedback. By supporting reflection we assist students to develop metacognifive skills that allow them to think about learning and learning how to learn successfully [4]. Given the everchanging nature of the computer science profession, this is a skill to be called upon many times in one's career.

~L~:~.._~) g~s.!~ | User lnte~bc¢ 1 Ex~vn~l~afltredht~ I Doeume~io~

4.

Rubric Guidelines - Coding:Style The slytt, ~maployc~din the whting of a comput~ ~og~m is very imporlanl as it provid~ villtlable d~umentalion ~ tho SOUCCecode Stmpte things such ¢s proper ~d~tt ~dion, stmctunh t ~ of comments and rraman,n~uhranal~le n~raae can be ~1 ~able later O n ' X 1 s is modtaea ~ , a ~ d or ~l~.~a; ~ r c 0 ~ y , t1~ u ~ a ~ 0 t st/le. ~ as lhat detibenil~ly shOWn n lhe ~tt~mational:Obfuscaled C Cods C~s~I. can rende~ra ~ ! executing program into a w0dPdSssarray of b~es when mai~ainence ~eedssto be pen~orrned. V~|aMe liamt~l V~t/l~l:4etlat'r~l~must be meatdng,~ aod Shoutd;~'~erence ~ s,~med n r w.~y~ the ~anabl~iS tin,ragusea to r~pm~nL Clinic.~md lwo-cha~acterlong ~,am~ aho~d be avO~d~ (exce~on: tmdit~o~ I t ~ construct ¢ourdmg ~nables).

Commeltll~.

pmg~rr,J'la~ m~flif~iort datm m~.t~dbe pm$~mt~C o ' I t

S should

paa is doing. ~nvtr~mt~ t.hada s p e a r ~s na~ad~dttam~gNml the,code, to pro~ida programmer in~onn~iflon.

.yJ Figure 4. Example IPP Rubrics Page. The scoring guidelines are consistent for each question asked in the evaluation rubrics. Each rubric category contains four scored questions; these scores are added together and a letter "grade" is assigned. It is these letter grades that are mailed back to the student. The instructor does not mark these grades into a grade book; they are used because being evaluated on a letter grade scale is something to which a student can easily relate. For the actual scoring of the IPP as part of the student's overall grade, another evaluation rubric is used. The rubric used for the IPP is based on a rubric developed in 1997 for traditional portfolio assessment [10]. This rubric is distributed to the students on the first day of class so that they are aware as to how their efforts will be judged. An important thing to note is that students are not scored on each individual entry; the grade assigned is for the composite body of work. The criteria areas reflect the basic tasks involved with the construction of a portfolio: demonstrate a wide range of abilities; self-reflections contain insight into what has been learned and accomplished; and evidence of thoughtful attention to the development and documentation process. As part of the process we expect students to report on the problems encountered while writing a program and what was done in order to solve those problems. The overall content, form, and mechanics of the portfolio should clearly indicate that the student has ownership of the portfolio, and treats it accordingly.

Drawbacks, Potential Pitfalls and Future Plans

Using a Web-based programming portfolio does have its drawbacks. Currently, the greatest drawback for the IPP is that it can interactively showcase only those programs written in Java as applets. If a student wants to include examples from other languages into the portfolio, the old static format of program listings and downloadable code must be used. Preliminary research is being conducted into the use of compilers for languages other than Java that produce bytecode for use as applets. These compilers, along with supplemental modules to provide appropriate interface support, will allow programs written in other languages to be displayed interactively. As for Java programs written as applications, it is possible to modify application code such that it can also be executed as an applet. However, if the application utilizes functionality that is prohibited under the security restrictions for applet execution, then additional code modification is needed to determine whether a Java program is being executed as an applet or as an application. For those instances where actions by applets are prohibited, the applet code can pop up a dialog box explaining what would happen and supply an appropriate response, if necessary, to give the illusion of the desired functionality. Another potential problem is plagiarism. There are an increasing number of"cybercheaters" who abuse electronic media by first using a Web search engine to easily sift through millions of on-line documents, then perform cut and paste operations from relevant sources to produce their "original" work [9]. Fortunately, the same tools that allow cybercheaters to operate can be used to verify suspicions of plagiarism. For those foolish enough to copy and modify a classmate's submission, detection is no different than that practiced for the submissions of traditional programming assignments. For those cases where there are a lot of submissions, there is a large amount of code to process, or comparisons need to be made with previous submissions, automated software plagiarism detection sYstems such as Moss [1] are very capable of finding and documenting examples of cheating. One perceived difficulty with the use of the IPP is with the potential of a student receiving detrimentally negative feedback in an evaluation. This could be the result of a deliberate attempt to belittle one's efforts or unconsciously done by a student who naively believes that he or she knows everything there is to know about programming. As part of this research the CGI script used to mail the results

The value of this design is that anyone can provide the student with feedback. This openness requires the student to take greater ownership of the portfolio since it is freely available to all who have access to the Internet, thereby allowing for an increase in the number of learning

152

of a submitted evaluation to a student would also mail a copy of the evaluation to a central repository for later analysis. A careful review of over 200 submitted evaluations has shown that this concern has not been a problem. While there have been critical remarks made, they have always been of a constructive nature, encouraging the recipient to improve upon the current work. Most students are sophisticated enough to know that there will be cases where they will receive a poor evaluation from a clueless reviewer and will treat these responses accordingly.

when the IPP was introduced. This method has also proven beneficial from the instructor's point of view, as it promotes one to one interaction with students. This allows the instructor to offer better guidance and assistance to the student. Additionally, by giving students the freedom of choice one sometimes is rewarded by seeing sparks of creativity in our students. These new ideas can lead to new and better learning experiences that can be incorporated into future lectures and assignments. The reader is invited to see the current status of this project by visiting hlt_p://cs.bluffton.ed¢ and following the "portfolios" link.

There is still some work that needs to be performed for improving the IPP experience. Currently students create portfolio entries by using WYSIWYG web page editors, such as FrontPage or Visual Page, to place relevant information into a template, then upload the resultant web page and corresponding applet. This process could be automated through the development of password-protected web-accessible CGI scripts to allow students greater ease in adding to their portfolio. At this time the data received from the feedback form is analyzed manually. It would not require much effort to develop self-assessment software to process the feedback forms received by the student. More detailed information could be gathered from the rubrics; statistical analysis can be performed to highlight any trends that could be of interest to the student. For example, having a tendency to not use meaningful variable names in one's source code. Plans are underway to incorporate these upgrades as projects to be assigned in our database and system programming courses. By perfornaing the upgrades in this fashion students will be given meaningful assignments in their upper-level courses and have a greater ownership in our portfolio system.

As the need for assessment tools greaten, methodologies must be developed to successfully address the concerns of the various interested communities. With the continuing rise in stature of Web-based documents, the use of the electronic portfolio, with its benefits of accessibility and association, is becoming increasingly more common. As it grows and matures, the Interactive Programming Portfolio and similar systems will play a greater role in documenting and demonstrating the competency and ability of computer programmers.

Bibliography 1.

Aiken, A. "Moss: A System for Detecting Software Plagiarism." Available WWW: http://www.cs.berkeley.edu/-aiken/moss.htrnl 2. Bush, V. As We May Think. The Atlantic Monthly 176, 1 (July 1945), 101-108. 3. Engineering Accreditation Commission, Engineering Criteria 2000, Accreditation Board for Engineering and Technology. Available WWW: htto://www.abet.or~ 4. Fekete, A., Kay, J., Kingston, J., and Wirnalaratne, K. "Supporting Reflection in Introductory Computer Science," In Proc. 31 st SIGCSE Tech. Syrup. (2000), pp. 144-148. 5. Nelson, T. Dream Machines, Microsoft Press, Redmond, Wash., 1987. 6. Porter, C. and Cleland, J. The Portfolio as a Learning Strategy. Boynton/Cook Publishers, Portsmouth, N.H., 1995. 7. Rogers, G. M. and Williams, J. "Building a Better Portfolio," ASEE Prism 8, 5 (January 1999), pp. 30-32. 8. Rogers, G. M. and Williams, J . M . "Asynchronous Assessment: Using Electronic Portfolios to Assess Student Outcomes," In Proc. 1999 ASEE Annual Conf., Available WWW: htm://www.asee.ora/conferences/search 9. Ryan, J. J. C. H. "Student Plagiarism in an Online World," ASEE Prism 8, 4 (December 1998), pp. 20-24. 10. Supemault, P., Project Leader, "Rubric: Portfolio Evaluation. "Portfolios for Teaching and Learning, Available WWW: h~t_p://www.monroe2boces.org/shared/instmct/portfolio ~/porteval.htm

5. Conclusion The use of the Interactive Programming Portfolio at our institution has shown itself to be an effective assessment and professional development tool for both the student and the instructor. However, it must be noted that the development of this methodology is still in its infancy; the full potential of this approach has yet to be realized. Still, the IPP offers benefits that traditional portfolio methods lack as its use of the Web embodies the visions of documents formed with structures of association proposed by Bush and Nelson decades ago. Student reviews of the IPP in their course evaluations have been favorable. The methodology has helped them to see the progress they are making in their learning experiences. Students have also indicated that they find the peer review component of the evaluation process to be beneficial. Unfortunately, a comparative statistical analysis of this approach could not be properly conducted due to both small class sizes (an average of 6 each year) and that our institution had just changed from quarters to semesters

153