9,730 research outputs found

    MatLab vs. Python vs. R

    Get PDF

    Four approaches to teaching programming

    No full text
    Based on a survey of literature, four different approaches to teaching introductory programming are identified and described. Examples of the practice of each approach are identified representing procedural, visual, and object-oriented programming language paradigms. Each approach is then further analysed, identifying advantages and disadvantages for the student and the teacher. The first approach, code analysis, is analogous to reading before writing, that is, recognising the parts and what they mean. It requires learners to analyse and understand existing code prior to producing their own. An alternative is the building blocks approach, analogous to learning vocabulary, nouns and verbs, before constructing sentences. A third approach is identified as simple units in which learners master solutions to small problems before applying the learned logic to more complex problems. The final approach, full systems, is analogous to learning a foreign language by immersion whereby learners design a solution to a non-trivial problem and the programming concepts and language constructs are introduced only when the solution to the problem requires their application. The conclusion asserts that competency in programming cannot be achieved without mastering each of the approaches, at least to some extent. Use of the approaches in combination could provide novice programmers with the opportunities to acquire a full range of knowledge, understanding, and skills. Several orders for presenting the approaches in the classroom are proposed and analysed reflecting the needs of the learners and teachers. Further research is needed to better understand these and other approaches to teaching programming, not in terms of learner outcomes, but in terms of teachers’ actions and techniques employed to facilitate the construction of new knowledge by the learners. Effective classroom teaching practices could be informed by further investigations into the effect on progression of different toolset choices and combinations of teaching approache

    A Novice's Process of Object-Oriented Programming

    Get PDF
    Exposing students to the process of programming is merely implied but not explicitly addressed in texts on programming which appear to deal with 'program' as a noun rather than as a verb.We present a set of principles and techniques as well as an informal but systematic process of decomposing a programming problem. Two examples are used to demonstrate the application of process and techniques.The process is a carefully down-scaled version of a full and rich software engineering process particularly suited for novices learning object-oriented programming. In using it, we hope to achieve two things: to help novice programmers learn faster and better while at the same time laying the foundation for a more thorough treatment of the aspects of software engineering

    A Multimedia Interactive Environment Using Program Archetypes: Divide-and-Conquer

    Get PDF
    As networks and distributed systems that can exploit parallel computing become more widespread, the need for ways to teach parallel programming effectively grows as well. Even though many colleges and universities provide courses on parallel programming [1], most of those courses are reserved for graduate students and advanced undergraduates. There is a demand for ways to teach fundamental parallel programming concepts to people with just a working knowledge of programming. By using the idea of a software archetype, and providing a learning environment that teaches both concept and coding, we hope to satisfy this need. This paper presents an overview of the multimedia approach we took in teaching parallel programming and offers Divide-and-Conquer as an example of its use

    A Programming Environment for Visual Block-Based Domain-Specific Languages

    Get PDF
    AbstractVisual block-based programming is useful for various users such as novice programmers because it provides easy operations and improves the readability of programs. Also, in programming education, it is known to be effective to initially present basic language features and then gradually make more advanced features available. However, the cost of implementing such visual block-based languages remains a challenge. In this paper, we present a programming environment for providing visual block-based domain- specific languages (visual DSLs) that are translatable into various programming languages. In our environment, programs are built by combining visual blocks expressed in a natural language. Blocks represent program elements such as operations and variables. Tips represent snippets, and macro blocks represent procedures. Using Tips and macros make code more abstract, and reduce the number of blocks in code. Visual DSLs can be a front-end for various languages. It can be easily restricted and extended by adding and deleting blocks. We applied our programming environment to Processing, an educational programming language for media art. We show that the environment is useful for novice programmers who learn basic concepts of programming and the features of Processing

    MatLab vs. Python vs. R

    Get PDF

    EasyCoding - methodology to support programming learning

    Get PDF
    Mestrado de dupla diplomação com o Centro Federal de Educação Tecnológica de Minas Gerais – CEFET-MGThe increase in failure rate in the first programming curricular units, in engineering courses, and the school dropout growth by students shows the importance of further study on the real reasons for these episodes. When considering that this situation is amplified, in large part, by the lack of motivation and the lack of student autonomy to study programming outside the classroom context, this work proposes a methodology based on activity guides, using innovative and attractive web platforms. The proposed methodology aims to facilitate the planning of teachers’ activities and to increase students’ autonomy and motivation. For the execution of this study, we evaluated the proposed methodology with programming professors and students at the Polytechnic Institute of Bragança and the Federal Center for Technological Education of Minas Gerais. In addition, we developed a system for automatic generation of activity guides which aimed assisting teachers in the creation of exercises with innovative web platforms to motivate students to study programming beyond the classroom. The obtained results allow us to demonstrate the importance of using innovative teaching methodologies, inside and outside the classroom, to encourage students to practice more programming exercises. Thus, as contributions, the proposed methodology can help combat school dropout in higher education in engineering courses, once it can help to keep the students motivated during the first programming subjects.O aumento na taxa de insucesso nas primeiras unidades curriculares de programação, nos cursos de engenharia, e o crescimento do abandono escolar por parte dos alunos mostra a importância de um estudo mais aprofundado sobre os reais motivos desses episódios. Ao considerar que essa situação é ampliada, em grande parte, pela falta de motivação e falta de autonomia do aluno para estudar programação fora do contexto da sala de aula, este trabalho propõe uma metodologia baseada em guiões de atividades, utilizando plataformas web inovadoras e atrativas. A metodologia proposta visa facilitar o planejamento das atividades dos professores e aumentar a autonomia e a motivação dos alunos. Para a execução deste estudo, avaliamos a metodologia proposta com professores e alunos de programação do Instituto Politécnico de Bragança e do Centro Federal de Educação Tecnológica de Minas Gerais. Além disso, desenvolvemos um sistema para geração automática de guias de atividades, com o objetivo de auxiliar os professores na criação de exercícios com plataformas web inovadoras, para motivar os alunos a estudar programação além da sala de aula. Os resultados obtidos nos permitem demonstrar a importância do uso de metodologias inovadoras de ensino, dentro e fora da sala de aula, para incentivar os alunos a praticar mais exercícios de programação. Assim, como contribuição, a metodologia proposta pode ajudar a combater o abandono escolar no ensino superior nos cursos de engenharia, uma vez que pode ajudar a manter os alunos motivados durante as primeiras disciplinas de programação

    Issues and challenges of using web blogs as a medium for research communication.

    Get PDF
    The advent of web-based technology has initially allowed millions of users to get hold of immense information and to communicate worldwide. In the field of education, for example, web-based technology has brought about significant influence in terms of teaching and learning approaches (Supyan, 2003; Supyan & Roziana, 2001; Zuwati, 2006). In fact, web-based technology is also now popular as a medium for data collection among researchers (C. Cooper, Cooper, Del Junco, Shipp, Whitworth, & Cooper, 2006; White, Carey, & Dailey, 2000). The purpose of this paper is to report on both issues that need addressing, and challenges in using web blogs as a medium for communicating with respondents for research purposes. The issues and challenges discussed in the paper were based on the researchers' own experience in conducting data collection using a qualitative approach through web blog discussions. With the socio-cultural approach in view, some recommendations are also included as guidelines for those planning to use such web-based technology as a medium of data collection in research
    • …
    corecore