17,673 research outputs found

    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

    Adoption of Python in arts faculties of Sri Lankan universities

    Get PDF
    A variety of programming languages are used to teach fundamentals of programming in Universities in Sri Lanka. Among them Python is a modern language with readable and clean syntax. Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java. The language provides constructs intended to enable writing clear programs on both a small and large scale. Python supports multiple programming paradigms, including object-oriented, imperative, functional programming, and procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library. Its design was informed by experiences with other teaching languages so it is considered suitable for such use. However some universities teach PASCAL which is rarely used now. In this research I will discuss the possibility of replacing this Pascal with Python

    Making the move from C to Python with mechanical engineering students

    Get PDF
    Work is underway in the Mechanical Engineering Department at San Jose State University to transition the first course in computer programming (ME 30 Computer Applications) and a follow-on course, ME 106 Fundamentals of Mechatronics, from C to Python. Both courses make extensive use of a microcontroller to teach the fundamentals in both subjects, and heretofore have used the C language and the Arduino platform, but now both courses have moved to Python and to the Adafruit Feather M4 Express board, which can run Python natively on its associated microcontroller. Prior to the transition to Python, ME 30 had a relatively high failure rate between about 10 - 35%. Since transitioning to Python, the failure rate dropped dramatically to about 3% in the fall of 2019. The paper will outline the previous structure of the courses, explain the motivation for transitioning from C to Python, and discuss the pros and cons of the transition observed to date

    Development of a Programming Course for Students of a Teacher Training Higher Education Institution Using the Programming Language Python

    Get PDF
    At present, teaching programming to future teachers is superficial or is excluded from computer science curricular. Only programming fundamentals are taught during computer studies, and skills acquired during the training are not applied in practice. The aims of this article are 1) to develop a programming course for teacher training disciplines that are taught in training units of the Ammosov North-Eastern Federal University (NEFU), and 2) give recommendations to apply features of the programming language Python in the professional activities of future teachers. This work applies the iterative methodological approach to undertake the study in various groups of students of NEFU from 2016 to 2019. Quantitative and objective indicators are used. Results show which modules of Python are the most appropriate for students to study for their future professional teaching activities. The training course "Use of the language Python by future teachers" is developed, and will be taught in all training units of the university, that have teacher training disciplines. The article determines a direction of future research related to teaching programming, which is important for all computer studies

    Integrating Python into Mechanical Engineering undergraduate curriculum

    Get PDF
    Integrating the fundamentals of computer science and programming skills into the undergraduate engineering curriculum has been a primary focus for many educational institutions around the world. Learning the basics of programming from the beginning of undergraduate engineering education allows students to incorporate such skills into their work in the future with ease. The department of mechanical engineering at University College London has acknowledged this value and decided to implement a programming element into the first-year mechanical engineering curriculum to teach the basics of Python language and assess it using a real-life engineering problem. Python is general-purpose, concise, easy-to-read and -learn programming language that has become one of the most popular and in-demand languages in the world. Python has a vast ecosystem of tools, packages, and libraries that address a wide-ranging number of programming scenarios and provide mechanical engineers with a large array of general-purpose functionality. The addition of this element to the first-year curriculum during the last academic year 2021- 2022 has shown a high assessment passing rate and notable student engagement. In this extended abstract, an overview of planning, implementing and the results obtained from this process will be illustrated, and future work plans will be outlined

    Analysis of Student Misconceptions Using Python as an Introductory Programming Language

    Get PDF
    Python has become a popular language for the delivery of introductory programming courses. Two reasons for this are Python's convenience and syntactic simplicity, giving a low entry barrier for beginners and the ability to solve complex problems with short snippets of code. However, students exhibit widespread misconceptions about the meaning of basic language constructs, inhibiting their ability to solve problems and damaging their understanding of fundamental concepts. In this paper, we document our observations of level 1 university students over several years, as well as surveys probing the nature of their misconceptions. We analyze the misconceptions in relation to a notional machine model for Python, and show that many students form inadequate and brittle mental models of the language. Our results indicate that one of the major sources of misunderstanding is the heavy use of overloading in Python. Overloading hides the complexity of algorithms and data structures, often leading students to write code that involves mutability, sharing, copying, side effects, coroutines, concurrency, and lazy evaluation -- and none of those topics are accessible to students who haven't yet mastered basic assignments, conditionals, and looping. We suggest that Python, when taught alone, is insufficient as an introductory language: students can gain a firmer grasp of programming fundamentals when Python is presented alongside a complementary low level language that makes a notional machine clear and explicit

    YarpTp Notebooks a Tool for Teaching Programming

    Get PDF
    This article shows the design, structure, and part of the functioning of YarpTP Notebooks, as a pedagogical proposal that has been evolving from the experience in the teaching practice of the course Fundamentals of Programming. It seeks to encourage students in the teaching of programming through interactive booklets designed with Jupyter Notebooks which, when executed, can control physical components (in this case, vehicles on a reduced scale). The student assumes a participatory role through these interactive booklets that leads them to develop a process of reflection on what, how, when it does it and what results it achieves with these. Analyzing the information received allowing you to identify and apply variables, expressions and general syntax of the Python language that leads them to understand a program, test the program, evaluate the data and the associated behavior to continue improving their development until formulating coherent and/or associated conclusions with the desired competencies in the course of Fundamentals of Programmin

    Workshop 3 - Text Data Analytics / NLP with Python

    Get PDF
    Workshop description: The hands-on workshop introduces the fundamentals of text data analytics and natural language processing (NLP) with Python libraries such as TensforFlow/Keras and the latest high-performing NLP models such as Transformer and BERT. All working documents are Jupyter Notebook files and will be provided (via downloads from a server) at the beginning of the workshop. Outline of workshop:1. NLP Basics2. Sentiment Analytics with TensorFlow and Keras3. Intro to Transformer and BERT4. Text Classification with BERT5. (Optional) Fine tune pre-trained BERT Workshop instructions1. Bring laptops (running code snippets with their own computers is expected of most participants)2. Prior knowledge of basic computer programming is desirable. Prior knowledge in Python or Machine Learning is not required.3. Prior installation of Python 3, Jupyter Notebook, and TensorFlow 2 is desirable. However, Installation instructions will be shared at the beginning of the worksho
    corecore