You are here:

Assessing Students' Structured Programming Skills with Java: The "Blue, Berry, and Blueberry" Assignment

Journal of Information Technology Education Volume 9, ISSN 1547-9714


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 five-criterion 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.


Zhang, X. (2010). Assessing Students' Structured Programming Skills with Java: The "Blue, Berry, and Blueberry" Assignment. Journal of Information Technology Education, 9,. Retrieved February 27, 2020 from .

This record was imported from ERIC on April 19, 2013. [Original Record]

ERIC is sponsored by the Institute of Education Sciences (IES) of the U.S. Department of Education.

Copyright for this record is held by the content creator. For more details see ERIC's copyright policy.