‹Programming› 2022
Mon 11 - Thu 14 April 2022
Wed 13 Apr 2022 06:25 - 06:50 at Virtual Space - ‹Programming› Online Wednesday Chair(s): Emma Söderberg

A standing challenge in undergraduate Computer Science curricula is the teaching and learning of computer programming. Through this paper which is an essay about programming, we aim to contribute to the plethora of existing pedagogies, approaches and philosophies, by discussing a specific feature of our approach in teaching principled programming to undergraduate students, in their first semester of studies, namely the utilization of pictures, both discrete and graphical pictures. Although the given course has evolved substantially over the thirty years of its delivery regarding the programming languages (Miranda, C, C++, Java) and paradigms (functional, imperative, object-oriented, combination of procedural and object-oriented) used, the discussed visual feature has been maintained and steadily strengthened.

We list abstraction, problem decomposition and synthesis, information hiding, reusability, modularity and extensibility as key principles of problem solving and algorithmic thinking. These principles are closely aligned with the advocated computational thinking techniques of problem decomposition, pattern recognition, pattern generalization and algorithm design. We aim for our students to familiarize themselves with all the above principles through practical problem solving. Our ongoing inquiry has been whether the problem domain of pictures is contributing valuably towards this aim. Moreover, an added-value is that students get a glimpse of computational complexity in a visual, empirical way.

The presented work is not related to visual programming, since the students write their programs textually and not graphically; it’s the output of their programs which is in visual form. Our approach though is loosely related to the classical paradigm of turtle graphics. However, our focus is Computer Science majors, who should be able to design and build turtles and other objects and not just use them. Indeed, the programming principles course helps them to do both and also to appreciate the multitude of algorithmic ways for producing the same visual output. Currently the given programming principles are approached both from a procedural, process-based and an object-oriented, concept-based perspective and the course uses the Java language. Through the presented example problems, we aim to show the appropriateness of the visual domain of pictures for supporting the learning of principled programming. The problem domain of pictures is abundantly rich with potential examples to draw from. Moreover, as reported in the literature, female students may show higher interest towards visual problem domains in programming classes, in relation to other problem domains. We plan to investigate this conjecture in the context of our broader aim to encourage more females to follow university studies in computer science; in this paper only a cursory finding is presented, that bears some relation to what is reported in the literature.

Wed 13 Apr

Displayed time zone: Lisbon change

06:00 - 09:00
‹Programming› Online WednesdayResearch Papers / at Virtual Space
Chair(s): Emma Söderberg Lund University
06:00
25m
Other
Day 3 Opening | Games & Social
Eva Krebs Hasso Plattner Institute (HPI), University of Potsdam, Germany, Robert Hirschfeld HPI, University of Potsdam
06:25
25m
Research paper
Figuring and Drawing: a visual approach to principled programmingVol. 6
Research Papers
Elpida Keravnou-Papailiou University of Cyprus
06:50
25m
Research paper
Automated, Targeted Testing of Property-Based Testing PredicatesVol. 6
Research Papers
Tim Nelson Brown University, Elijah Rivera , Sam Soucie Indiana University, Thomas Del Vecchio Brown University, John Wrenn Brown University, Shriram Krishnamurthi Brown University, United States
Link to publication
07:15
25m
Research paper
Deriving Static Security Testing from Runtime Security Protection for Web ApplicationsVol. 6
Research Papers
Angel Luis Scull Pupo Sofware Languages Lab, Vrije Universiteit Brussel, Jens Nicolay Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium
Link to publication