Page 56 - Campus Technology, March/April 2020

P. 56

```
C-LEVEL VIEW
combining solutions to smaller problems, they will have developed a solution to the larger one. Computational thinking also helps students think logically. They learn to describe a solution in terms of a sequence of repeatable steps that will solve a problem or reach a goal.
Students learn to evaluate data to discover new patterns or relationships between the values. They also learn to describe objects abstractly that are relevant to a solution in ways that bring about that solution. This requires determining what information is relevant or irrelevant, keeping only that which is necessary for the solution.
These skills — redefining problems in terms of smaller ones, creating algorithms, evaluating data to discover new patterns and filtering out irrelevant information — can and need to be applied beyond the computing and technology disciplines.
CT: What are some of the ways computational thinking can be included in the curriculum?
Frydenberg: I’m teaching an experimental course this semester called Problem Solving with Coding — it’s an introductory course in Python programming for business students, but with a special emphasis on problem solving and thinking about ways to attack problems. Before students begin coding, I ask them to have discussions with their team members about their approach to solving the problem from a computational thinking perspective. What data do they need to track? How will they represent it using code? What similar problems did we solve earlier with solutions that might guide us now? Can they describe repeatable steps that will solve the problem?
Answering these questions before beginning coding often produces more efficient results.
By strengthening their abilities to break complex problems into smaller, more manageable steps, and to evaluate varying approaches, they become able to create solutions, recognizing those that are more elegant and those that are more straightforward. For example, I gave a problem in my Python class recently — to write a program to determine if the digits of a given number were all the same (such as 22). Most groups developed their solutions in 10 to 20 lines of code, by repeatedly checking each digit of the number to make sure that it was the same as the first. One group cleverly solved the problem in one line of code. They checked to see if the first digit, when repeated for the length of the number, was the same as the original number.
Students’ future employers expect them to have developed critical thinking and problem- solving skills so that they can develop solutions using technology — whether coding original software, configuring off-the-shelf applications or describing software capabilities needed to meet user requirements.
CT: Python seems to be a popular starting point for institutions seeking to give students some background in, at least, basic computational thinking. How does Python — and providing students with a little coding experience — help them?
Frydenberg: Python is a relatively easy language to learn, with simple syntax and easy access. Students can install Python on their laptops or use one of several online environments such as PythonAnywhere or PythonTutor to develop,
56
CAMPUS TECHNOLOGY | Mar/Apr 2020
```