39,964 research outputs found

    Blue - A Language for Teaching Object-Oriented Programming

    Get PDF
    Teaching object-oriented programming has clearly become an important part of computer science education. We agree with many others that the best place to teach it is in the CS1 introductory course. Many problems with this have been reported in the literature. These mainly result from inadequate languages and environments. Blue is a new language and integrated programming environment, currently under development explicitly for object-oriented teaching. We expect clear advantages from the use of Blue for first year teaching compared to using other available languages. This paper describes the design principles on which the language was based and the most important aspects of the language itself

    I/O Considered Harmful (At least for the first few weeks)

    Get PDF
    One of the major difficulties with teaching the first programming course is input/output. It is desirable to show students how to input data and output results early in the course in order to motivate the students and so that they can see the results of their programs. Output is also a useful tool for testing programs. However, in most programming languages input and output are esoteric and the techniques for performing input and output must be learnt by the students at an early stage, precisely when they are trying to understand the basics of programming. We argue that input/output operations need not be taught in the early stages of a course if the language environment provides appropriate tools for testing programs. This assertion is demonstrated by reference to the Blue objectoriented language and environment

    Testing Object-Oriented Programs: Making it Simple

    Get PDF
    One of the major difficulties facing anyone trying to teach the first programming course is how to encourage students to thoroughly test their programs. We would argue that the main reasons for this are the lack of suitable tools for testing and the need to write extra "debug" code in order to verify correct operation. We further argue that the problem is even worse with object-oriented languages because of multiple classes and encapsulation. In this paper we describe the testing tools within the Blue programming environment which allow object-oriented programs to be thoroughly tested without writing a single line of new code

    Code Shrew: Software platform for teaching programming through drawings and animations

    Get PDF
    In this paper, we present Code Shrew, a new software platform accompanied by an interactive programming course. Its aim is to teach the fundamentals of computer programming by enabling users to create their own drawings and animations. The programming language has a straightforward syntax based on Python, with additions that enable easy drawing and animating using object-oriented code. The editor reacts seamlessly and instantly, providing an engaging and interactive environment for experimenting and testing ideas. The programming course consists of lessons that cover essential programming principles, as well as challenges to test users' skills as they progress through the course. Both the lessons and challenges take advantage of the editor's instant feedback, allowing for a focus on learning-by-doing. We describe the software and the content, the motivation behind them, and their connection to constructionism.Comment: 7 page

    Plyades: A Python Library for Space Mission Design

    Full text link
    Plyades: A Python Library for Space Mission Design Designing a space mission is a computation-heavy task. Software tools that conduct the necessary numerical simulations and optimizations are therefore indispensable. The usability of existing software, written in Fortran and MATLAB, suffers because of high complexity, low levels of abstraction and out-dated programming practices. We propose Python as a viable alternative for astrodynamics tools and demonstrate the proof-of-concept library Plyades which combines powerful features with Pythonic ease of use

    Novis: A notional machine implementation for teaching introductory programming

    Get PDF
    Comprehension of programming and programs is known to be a difficult task for many beginning students, with many computing courses showing significant drop out and failure rates. In this paper, we present a notional machine imple- mentation, Novis, to help with understanding of program- ming and its dynamics for beginning learners. The notional machine offers an abstraction of the physical machine de- signed for comprehension and learning purposes. Novis pro- vides a real-time visualisation of this notional machine, and is integrated into BlueJ
    • …
    corecore