How A Proposed Ratio Of Bloom’s Taxonomy Enhances Learning In C Programming


Bloom’s taxonomy is widely used in summative assessment in an education field. However, not many literatures discussed on the ratio of Bloom’s Taxonomy deployed on the assessment. Therefore, this paper proposed a ratio of Bloom’s Taxonomy that could enhance students’ learning in Introductory of C Programming. Further, this paper present suitability of proposed ratio and find whether it can improve students’ learning in Introductory C Programming. Students were given C Programming exercises within first 8 weeks of semester. The exercises were designed by using ratio 2:5:3 of Bloom’s Taxonomy level. To validate the ratio proposed, pretest and posttest experimental design between control group and treatment group were conducted. From the tests, students’ answers were checked by the researchers and the scores were total and stored using quantitative method. Result found that there was positive significant when the proposed ratio were used in students’ learning time, where it lead to improved student achievement. Meanwhile, after using the set of C programming exercise, the difference on average score between these two groups were very low. Thus, educators should consider this paper as guidance for them to design their teaching, learning and assessment material by using proposed ratio of Bloom-Taxonomy in programming course..

Keywords: C programmingprogramming exercisesnon-computing students


Introductory C programming was taught to the students as a requirement to fulfill their study in Foundation Engineering Program at the Center of Foundation Studies, Universiti Teknologi MARA, Selangor. Introductory C programming is a 5-credit hour core subject which to be completed within 14 weeks and it had become a challenge especially for this group of students who were non-majoring in computer science. In Introductory C programming, students were introduced to basic concept and applications of C programming in real life situation. In addition, the Foundation Engineering program requires each of the courses in the academic center to educate their students to have strong ability in problem solving, logical thinking and critical thinking skill as a preparation for them to study higher level of engineering program in the future.

Normally, lecturers will help students in understanding knowledge by diversifying teaching method, introducing new knowledge by asking questions, guiding students to solve problems by discussion and verifying the correctness through presentation. Also, lecturers proposed new questions to encourage students to think deeply. Questions are based on the subject and associated with interesting situations in real life to improve students’ enthusiasm. Moreover, questions were also based on students’ basic knowledge which could encourage students’ curiosity so that students will find the answer from different angle. Based on observations in computer laboratory sessions, many students possessed difficulties in completing the given programming questions on time, and based on random interviews, the students mentioned that they agreed that they faced difficulties when dealing with writing a program, creating algorithm as well as analyzing program requirements. Among many other factors that might contribute to these problems, we were interested to look into C programming questions because it was one of the things that students spent most of their time doing on especially in the 3 hours laboratorial class each week. Therefore, this action research aimed to frame out a set of C Programming questions using proposed ratio of bloom’s taxonomy level. Hence, to identify whether the proposed ratio used in C programming questions could enhance students’ learning in Introductory of C Programming.

Problem Statement

Introductory C programming mainly covers language syntax, such as, data and variable, operands and expression, control structure, input and output statement, array, prototype and definition of function, data type and structure, string and pointer. The objective of educational achievement is to understand basic coding, which are typical code fragments. Those about input and output processing contain data input of given number, input abort by a sentinel, exclusion of improper data, re-input until proper data, output data with table style, and so on. Meanwhile, those about array operation contain element scanning in increasing and decreasing index order, element enumeration and summation with given condition, element shift and reverse, array merge and division, and so on. In introductory C Programming, the complexity of the algorithms is at most double iteration which implemented codes that were verifiable by using sufficient data samples such as pairs of input and output, which cover almost of various test cases (Tomoharu et. al, 2011).

From past research, many studies have discussed on applying Bloom’s taxonomy on summative assessment. Literature conducted by Saroni, (2015), found that multiple-choice questions were suitable to apply three lower levels of Bloom’s Taxonomy which is Knowledge, Comprehension, and Application for novice learner of programming. Number of multiple-choice questions have been applied in Java programming case study are 17 questions. One question from level Knowledge, fifteen questions from level Comprehension, and one question from Application level. Meanwhile, studies conducted by Gluga, (2012) have come out with twelve questions by applying the Bloom’s taxonomy. Three were targeted as Knowledge, two as Comprehension, two as Application, two as Analysis, one as Synthesis and two as Evaluation. Result shows that, participants have difficulty to classify type of programming question based on level in Bloom’s taxonomy. Studies conducted by Wankhede and Kiwelekar (2016), analyze on examination questions with Bloom’s taxonomy in Software Engineering course in undergraduate level. After analyzing six paper, level of cognitive skills has been used were 40.67% question level Knowledge, 55.04% question level Comprehension, 2.25% question level Application and 2.04% question level Evaluation. 95% of the question given to the students focus on Lower Order Cognitive Skills (LOCS) question such as Knowledge and Comprehension whereas about 4.5% questions are to test higher order cognitive skills (HOCS). Based on the observation, researcher found that number of question for HOCS should be increased where it suitable with the subject nature. In other studies, conducted by Sivasakthi and Rajendran (2011), the paper analyzes student cognitive skill by using MCQ questions. The distribution number of the question of Java programming subject based on 5 units. The study was conducted towards undergraduate student who took Java programming subject and the questions were designed in six cognitive Bloom’s Taxonomy. There are about 80 MCQ questions were asked to the students, 20 questions level Remember, 20 questions level Understand, 20 questions level Apply and 20 questions level Analysis. Result shows that, out of 5 units have been asked and student could perform well on first four units whereas unit concurrent programming they have difficulty to learn in Java programming.

From the literature, researchers found that there was no certain standard to set the ratio of the question for formative or summative assessment for programming subject in undergraduate level of studies. In this research context, the sample students were foundation students who are novice learners taking C programming course. It had become teachers’ concern on how to help this group of students on learning C programming easily and hoping students could make self-learning using a suitable set of exercises that match with their knowledge level. Based on previous teaching and learning practices in classroom, researchers noticed this group of students were not able to solve different kind of programming questions correctly and take a longer time than what was expected. After analysing, researchers found that the problem might come from unsuitability of the set of exercises given to the students which to be said the exercises were not distributed fairly according to Bloom’s taxonomy levels and the students’ knowledge level. Therefore, this study was conducted by concerning on the ratio of Bloom’s taxonomy levels used in the set of exercises and how it will benefit the students.

Research Questions

This paper raised the questions whether the proposed ratio used in the exercises help in enhancing students’ learning and whether the ratio is suitable to be used in C programming exercises for the foundation students. In addition, this paper also aims to answer the following questions:

  • Is there a significant difference between treatment group’s test score before and after using the proposed ratio of Introductory C Programming questions?

  • Is there a significant difference between control group and treatment group in their test score after using the proposed ratio of Introductory C Programming questions?

Purpose of the Study

In this paper, researcher wish to conduct a case study to identify the proposed ratio suitability in C Programming questions with non-computing students’ knowledge level and to identify whether it can improve students’ learning in Introductory C Programming. This case study also aimed to test two null hypotheses:

H0: There is no significant difference between treatment group’s test score before and after using the proposed ratio of Introductory C Programming questions.

H0: There is no significant difference between control group and treatment group in their test score after using the proposed ratio of Introductory C Programming questions

Research Methods

During the first week of the semester, the researcher is interested to know whether this group of foundation engineering students has learned any programming language before they enrolled to the program. Hence, the researcher asked to the whole class about their prior knowledge. In the next step, the researcher started teaching and learning processes which were conducted in two hours lecture and three hours laboratorial class throughout the first eight weeks of the semester. The lesson included four chapters; problem solving using flowchart and algorithm, introduction to C programming, selection structures and repetition structure. After that, a pre-test on C programming which covered the four chapters mentioned earlier was conducted with the control group (28 students) and the treatment group (28 students). A week after the pre-test, the treatment group students were given exercises that were designed by using ratio 2:5:3; two questions are considered to be at easy level which included first of bloom’s taxonomy (remember), five questions are considered as moderate level which included second level and third level of bloom’s taxonomy (understand and application) and three questions are considered as difficult level which included fourth level of bloom’s taxonomy (analysis). During the treatment, the students in the treatment group were required to work in pair to answer all ten questions in two hours. Therefore, the data collected was only 14 scripts which is a small number of samples. The students were allowed to ask researcher on anything that was unclear to them. By doing this, the researcher could identify which question should be taken under consideration for correction or need to be improvised or to be eliminated. Next, a post-test was conducted to measure whether there is improvement on the treatment group’s achievement. The data was then analyzed using Rasch Measurement Model to find how likely the student with an ability to respond to item difficulty and Statistical Package for Social Science (SPSS) to run paired-samples t-test and independent t-test. Results and findings are discussed in the following section.


Test of Normality

According to Ruppert (2004), under normality, the correlation should be close to one and the null hypothesis of the normality is rejected for small values of the correlations coefficient. In this paper, by using Shapiro-Wilk test of normality, p-value more than 0.050 interpreted as evidence that sample is from normal distribution.

Table 1 -
See Full Size >

A normality test on pre-test (Test 1) score and post-test (Test 2) score were carried out before researcher decides to choose either to proceed with independent t-test or Mann-Whitney U test. This study is using Shapiro-Wilk test as the number of sample is small. From the table above, the scores before and after the treatment among the two groups are normally distributed with all significant p-value greater than 0.050. Therefore, the hypothesis tests being conducted by using paired-sample t-test and independent t-test.

Hypotheses Testing

H0: There is no significant difference between treatment group’s test score before and after using the proposed ratio of Introductory C Programming questions.

Table 2 -
See Full Size >
Table 3 -
See Full Size >

On average, the score on post-test (Test 2 Score: M = 32.2232, SE = 1.16414) was more than the score on pre-test (Test 1 Score: M = 24.1429, SE = 1.23278). The result in Table 3 shows that there was significant difference in scores on pre-test (Test 1 Score) and post-test (Test 2 Score) (p-value = 0.000 < 0.050).

H0: There is no significant difference between control group and treatment group in their test score after using the proposed ratio of Introductory C Programming questions.

Table 4 -
See Full Size >
Table 5 -
See Full Size >

The test of equality of variances (Levene’s Test) shows that the variances of Test 2 scores of the two groups is equal (p-value = 0.669 > 0.050). Based on the results in row label Equal Variances Assumed, there is no significant difference in Test 2 between the control group and treatment group shown by the p-value = 0.663. Based on Group Statistics table, the treatment group’s mean score is slightly higher (M = 32.3707) than the control group mean score (M = 31.7143).

Person-Item Distribution Map Analysis

Referring to the Rasch Measurement model analysis, the person distribution was on the left side and item distribution was on the right side. Researcher was able to categorize the good and poor student based on Figure 1 . On top of that, the difficulty level of an item can be identified from the map. The students entries were numbered from 1 to 14 and the gender are represented by the letter f for female and m for male. The outcome of the test shows that the students were able to achieve a score higher than the mean item = 0, which we can say that students in this class had similar ability and knowledge in C programming. The top pair-student (10f) scored highest, managed to answer all nine questions and showed 50:50 ability in answering question number 3. Meanwhile, there were four-paired students (13f, 4m, 6m, 9m) achieved lowest scores. They only managed to answer questions number 1, 4, 5 and 9.

Based on the PIDM, question no. 1, 4, and 5 were considered as easy because they were located below mean item. In other words, all students could answer these questions easily. Although question number 4 was categorized as moderate-level (application), all students had shown the ability to answer this question successfully. The reason to it is maybe the content of question number 4 was drawn from the early topic (Chapter 1) which the students had mastered that when the exercise was given (week 9). Meanwhile, the moderate-level questions in this set of C programming exercise was identified by looking at the mean item which is pointing to question no. 6, 7, 8, 9 and 10. It also showed that many students located at that region these question were considered relevant to this targeted group of ten-paired students because they were able to answer these questions even though the fell under the moderate and hard-to-score level. Question number 2 and 3 were considered difficult as only a handful of students could answer them, these questions fall under memorization (easy) and application(moderate) level respectively under bloom's taxonomy. This might due to the clarity of the questions to the students. For example, question no.3 required students to explain the action of the code based on the output found. However, a paired student asked for explanation for this question. The rest of the students made their own assumption and answered by explaining the working steps instead of the action of the program (for example, the code will reverse the input value). Therefore, researchers need to pay attention on these items for further review.

Figure 1: Person-Item Distribution Map (PIDM)
Person-Item Distribution Map (PIDM)
See Full Size >


According to the t-test and sample data, we reject the null hypothesis at 0.05 α-level. There is enough (or significant) evidence to conclude that there is difference between students’ test score before and after using the set of C programming exercise. It appears that the score for post-test was higher, on average than do score of pre-test. There are good reasons to concern about the use of proposed set of C programming exercise in this evaluation, where its lead to improved student achievement.

On the average, after using the set of C programming exercise the score for treatment group slightly higher than control group. However, the difference on average score between these two groups is very low. So, it does not appear to be a difference in means. Therefore, the null hypothesis was supported.

The proposed ratio and questions used in C programming exercises that correspond to each level of Bloom’s Taxonomy can be improved in order to achieve the best results. This ratio progresses students through looking at introductory concepts with meant of assessing student basic knowledge, application as well as analysis. As a result, students will develop critical thinking skills as they progress through the stages of higher level learning. The assessment given gradually builds the student’s skill up to a particular level of thinking. It encouraged students to expand their understanding and ability toward new concept and applying them to real life situations.

In addition, this paper gives comprehension guidance to educators who are considering using Bloom-style structure to enhance students’ learning. It can be used to design teaching, learning and assessment materials as well as responses to student exercises. An educator can effectively structure assessments so that they can assess a wide range of level of engagement with these materials.


  1. Gluga, R., Kay, J., Lister, R., Kleitman, S., & Lever, T. (2012). Over-confidence and confusion in using bloom for programming fundamentals assessment. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (pp. 147-152).
  2. Ruppert D. (2004). Statistics and Finance: An Introduction. Springer-Verlag New York.
  3. Saroni, N., Aljunid, S. A., Shuhidan, S. M., & Shargabi, A. (2015). An empirical study on program comprehension task classification of novices. In 2015 IEEE Conference on e-Learning, e-Management and e-Services (IC3e). pp 15-20. IEEE. Doi: 10.1109/IC3e.2015.7403479
  4. Sivasakthi, M, & Rajendran, R., (2011). The application of revised bloom’s taxonomy for java programming assessment. International Journal Of Research In Computer Application & Management, 1(7). pp 84 – 87. ISSN 2231-1009
  5. Tomoharu Nishimura, S. K., & Tominaga, H. (2011). Monitoring System of Student Situation in Introductory C Programming Exercise with a Contest Style. 2011 International Conference on Information Technology Based Higher Education and Training. IEEE. Doi: 10.1109/ITHET.2011.6018693.
  6. Wankhede, H. S. & Kiwelekar, A. W. (2016) .Qualitative Assessment of Software Engineering Examination Questions with Bloom’s Taxonomy. Indian Journal of Science and Technology, ISSN 0974 -5645.

Copyright information

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

About this article

Publication Date

01 May 2018

eBook ISBN



Future Academy



Print ISBN (optional)


Edition Number

1st Edition




Business, innovation, sustainability, environment, green business, environmental issues

Cite this article as:

Rahman, T. F. B. A., Anuar, N., Said, R. F. M., & Safiai, S. (2018). How A Proposed Ratio Of Bloom’s Taxonomy Enhances Learning In C Programming. In M. Imran Qureshi (Ed.), Technology & Society: A Multidisciplinary Pathway for Sustainable Development, vol 40. European Proceedings of Social and Behavioural Sciences (pp. 615-622). Future Academy.