Assessing Students’ Structured Programming Skills with Java: the “blue, Berry, and Blueberry” Assignment

Xihui Zhang
DOI: https://doi.org/10.28945/1325
2010-01-01
Journal of Information Technology Education Innovations in Practice
Abstract:Java is an object-oriented programming language. From a software engineering perspective, object-oriented design and programming is used at the architectural design, and structured design and programming is used at the detailed design within methods. As such, structured programming skills are fundamental to more advanced object-oriented programming concepts.Structured programming uses control statements to control the order of execution of a program. In Java, only three forms of control structures are used to implement an algorithm: sequence, selection, and repetition. Sequence structures are a built-in feature: statements run in the order they are listed in the program. Selection structures include single-selections, double-selections, and multiple selections. Repetition structures are implemented in three ways: while statement, for statement, and do. while statement. These simple control structures can be combined into more complex algorithms in only two ways - stacking and nesting.The purpose of the "Blue, Berry, and Blueberry"assignment is to assess students' structured programming skills with Java. This assignment asks students to write a program that uses all three repetition structures to print, on each line, a number (1 to 100) and a word ("Blue"or "Berry"or "Blueberry", depending on whether the number is divisible by 3 or 5 or 15). The program is also required to report the total numbers of "Blue", "Berry", and "Blueberry".The assignment was given to undergraduate students enrolled in an advanced object-oriented programming course using Java. The submissions for the assignment were graded using a fivecriterion rubric. All in all, the class average score of the assignment was about 4.3 out of 5 (86.0%). The top two issues included formatting the output and counting the number of words.To evaluate the students' perceptions of the assignment, an online survey was created, including two essay questions. The first question is: "Do you like the 'Blue, Berry, and Blueberry' assignment? Why or why not?" The second question is: "What are the most difficult challenges that you encountered while working on this assignment?"Each question received 23 responses. In response to question one, more than 90% (21 out of 23) of the respondents said that they did like the assignment, mostly because it helped them to understand the concepts and provided an opportunity to use and compare different forms of selection structures (i.e., if, if. else, and if. else if. else selections) and repetition structures (i.e., while, for, and do. while loops). In response to question two, most of the 23 students felt that the assignment was not all that difficult once they figured out what was expected. The top three most reported challenges include formatting the output, getting the total count for each word, and checking numbers divisible by 15 first. In summary, results from the instructor's grading report and student perceptions indicate that this assignment is effective for assessing students' structured programming skills with Java.
What problem does this paper attempt to address?