• No results found

Chapter 5 Data Analyses and Findings

5.10 Cross-case Analysis

5.10.1 Early Education

Table 5.2 indicates that all participants shared two A-level mathematics modules achieving high grades. However, some participants studied different third A-level modules, including statistics, physics, and computing. Moreover, three participants attended selective schools for which students must meet certain academic requirements to be admitted, whereas the rest of the participants attended regular non-selective schools.

Math FurtherMath Statistics Physics Computing ExperienceProg. School Steve A* A NA NA A Yes Non-selective Sara A* A NA NA NA Yes Selective

Lee A* A B NA NA No Both

Bob A* A NA NA B Yes Non-selective Robin A* A NA NA NA No Selective Allen A* A NA NA NA No Non-selective David A* A NA NA NA Yes Non-selective Joe A* A NA NA NA Yes Non-selective Sam A* A* NA A NA Yes Non-selective

Table 5.2: Spread of the early education theme across the participants.

5.10.2 Mathematics and Programming

Table 5.3 illustrates the ranking among the cohort and the participants themselves for programming and mathematics modules. As participants studied different degrees, four participants shared two mathematics modules, whereas five participants shared other mathematics modules. For participants who studied DM degrees, their cohort grades for mathematics modules were not collected. Thus, some rankings for the cohort are not applicable.

Programming Mathematics Relationship Class rank out of 73 Participants rank out of 73 Contests Class

rank Participantsrank Contests

Steve 19 5 0 NA 3/5 0 Yes/No Sara 11 4 1 13/73 3/4 0 Yes Lee 32 8 0 NA 2/5 1 Yes Bob 3 2 0 34/73 4/4 0 Yes Robin 38 9 0 NA 5/5 0 Yes Allen 25 6 0 NA 4/5 0 Yes/No David 1 1 1 2/73 1/4 2 Yes Joe 36 7 0 6/73 2/4 0 Yes Sam 10 3 0 NA 1/5 0 Yes

5.10.3 Attitudes and Personal Traits

Table 5.4 shows that seven participants preferred to learn programming by solving a problem based on coding experimentation and practising, whereas two participants had a different learning strategy that included reading, note taking, and self-teaching. Regarding the preferences in terms of paired working, three participants were in favour of working with another student during lab sessions. In relation to communication skills, two participants preferred to communicate verbally, and three participants had no preference between spoken and written communication, whereas four participants preferred to communicate only through writing. In relation to the ability to explain complex technical problems, four participants who prefer to communicate verbally can explain complex problems to other students. Concerning challenging tasks, every participant would like to be challenged to solve problems; however, two participants were concerned about including assessed challenging tasks.

learning

style Communicationskills ChallengingTasks Experimental and noteReading

taking Self-taught

Working

in pairs Speaking Writing

Explaining a complex problem Steve Sara Lee Bob Robin Allen David Joe Sam

Table 5.4: Spread of attitudes and personal trait themes across the participants.

5.10.4 Coding Strategies

In relation to coding strategies, Table 5.5 indicates that seven participants split a problem into small parts to be solved, whereas three participants preferred to start the coding process by analysing the problem, planning their solutions, drawing graphs, and implementing the code. Two participants preferred the trial-and-error strategy. All participants adhered to coding conventions, including comments and optimisation. The most-used code debugging strategy is to print lines to indicate the location of

the code error. Another strategy to detect the code error is to go through the whole code, investigating what has possibly gone wrong. However, the strategy of exceptions, which is more advanced, was applied by three participants.

Coding strategies

Strategy Comments Optimisation Debugging Splitting a problem Trial and error Planning and drawing flow chart Printing

lines Exceptions Sanitycheck Steve Sara Lee Bob Robin Allen David Joe Sam

Table 5.5: Spread of coding strategy theme across the participants.

5.10.5 Mental Representation Strategies

In relation to mental representation strategies, Table 5.6 indicates that seven partici- pants tend to solve problems by breaking them down into small sub-problems, whereas two participants tend to adopt a trial-and-error strategy.

Problem solving Abstraction Analogy Dynamicprog. a problemSplitting and errorTrial Data structureand algorithm

representation Recursion problem Steve Sara Lee Bob Robin Allen David Joe Sam

Table 5.6: Spread of the mental representation strategy theme across the participants.

In addition, two participants tend to find a solved problem that shares some aspects with the current problem. The analogy strategy can be useful sometimes to solve simple or generic problems but not for large-scale problems. Another strategy that had been used by two participants is dynamic programming, which is similar to splitting a problem strategy. However, in dynamic programming, the sub-problems share the same attributes, and the result of one sub-problem can be used to solve other sub-problems. Four participants tend to use a combination of problem-solving

strategies. In relation to abstraction, six participants were able to provide a represen- tation of a software based on its data structure and algorithms rather than providing a superficial representation related to the software interface and design. However, only two participants were able to solve the recursion problem and were categorised in the higher SOLO categorisation.

5.10.6 Witter

Table 5.7 indicates the data structure types that have been used to solve the Witter project. Three participants used a combination of data structures, including hash maps and binary trees, whereas two participants used a more efficient combination of data structures, including hash maps and an AVL tree. In addition, two students imple- mented hash maps and array and linked lists, whereas three participants implemented hash maps and an adjacency matrix.

Witter

Data structure Grades Hash

map AVLtree Binarytree Adjacencymatrix Linkedlists Arraylist

Steve 74 Sara 88 Lee 78 Bob 95 Robin 92 Allen 77 David 90 Joe 55 Sam 88

Table 5.7: Spread of the Witter theme across the participants.

Summary

In this chapter, we presented our findings for four case-study CS participants. The findings from the different data collection methods were incorporated for each partici- pant and presented as multiple themes and sub-themes. These themes will be discussed in the discussion chapter.