4 research outputs found

    Programming, software development, and computer science:the golden triangle

    Get PDF
    I present my thoughts on programming, software development, and computer science (CS), and their inevitable relationship. Originally this was intended to help prepare some CS courses aimed (also) at non-CS university students. But it is also relevant for students in secondary education, especially if they have an interest in participating in the International Olympiad in Informatics

    Understanding and Designing Recursive Functions via Syntactic Rewriting

    Get PDF
    Recursion is considered a challenging programming technique by many students. There are two common approaches intended to help students understand recursion. One of them is based on the operational semantics of function execution involving a stack, where students trace the execution of a recursively defined function for some concrete arguments. The other approach is based on the axiomatic semantics involving inductive reasoning with the contract of the recursively defined function. The former approach is not so helpful when designing recursive functions, whereas the latter can be helpful (being a special case of divide and conquer) but con- tracts can be hard to discover.In this article, I will show a third approach. It is based neither on an operational nor an axiomatic semantics. Rather, it involves a rewriting semantics using program transformation by substitution, thereby inlining function calls. We show that this approach not only may help understanding, but can also be used to design recursive functions

    A master class on recursion

    No full text
    We elaborate some key topics for a master class on recursion. In particular, we show how to do recursion in an object-oriented programming language that does not allow recursion

    A master class on recursion

    No full text
    \u3cp\u3eWe elaborate some key topics for a master class on recursion. In particular, we show how to do recursion in an object-oriented programming language that does not allow recursion.\u3c/p\u3
    corecore