10 research outputs found

    Choosing the first educational programming language

    Get PDF
    The article describes requirements to educational programming languages and considers the use of Python as the first programming language. The issues of introduction of this programming language into teaching and replacing Pascal by Python are examined. The advantages of such approach are regarded. The comparison of popular programming languages is represented from the point of view of their convenience of use for teaching algorithmization and programming

    Classical Programming Topics with Functional Programming

    Get PDF

    A Data-Driven Approach to Compare the Syntactic Difficulty of Programming Languages

    Get PDF
    Educators who teach programming subjects are often wondering “which programming language should I teach first?”. The debate behind this question has a long history and coming up with a definite answer to this question would be farfetched. Nonetheless, several efforts can be identified in the literature wherein pros and cons of mainstream programming languages are examined, analysed, and discussed in view of their potential to facilitate the didactics of programming concepts especially to novice programmers. In line with these efforts, we explore the latter question by comparing the syntactic difficulty of two modern, but fundamentally different, programming languages: Java and Python. To achieve this objective, we introduce a standalone and purely data-driven method which stores the code submissions and clusters the errors occurred under the aid of a custom transition probability matrix. For the evaluation of this model a total of 219,454 submissions, made by 715 first-year undergraduate students, in 259 unique programming exercises were gathered and analysed. The results indicate that Python is an easier-to-grasp programming language and is, therefore, highly recommended as the steppingstone in introductory courses. Besides, the adoption of the described method enables educators to not only identify those students who struggle with coding (syntax-wise) but further paves the pathway for the adoption of personalised and adaptive learning practices

    Programming courses in Estonian secondary schools

    Get PDF
    Antud töö eesmärgiks on anda ülevaade Eesti gümnaasiumides õpetatavatest programmeerimiskursustest. Andmete saamiseks koostati küsimustik, mis saadeti 31 koolile. Koolide nimekiri põhines Eesti Hariduse Infosüsteemil, kust filtreeriti välja ained ja kursused, mille nimi sisaldas sõna “programmeerimine”. Tegelikult võidakse programmeerimist õpetada ka teiste kursuste raames, kuid antud töös jäetakse need vaatluse alt välja. Küsimustikule vastati 16 programmeerimiskursuse kohta. Saadud andmete põhjal koostati kursuste ülevaade, milles kirjeldatakse kursuste ülesehitust ja ainekava, kasutatavaid programmeerimiskeeli ja õppematerjale ning koostöövalmidust tulevikuks. Samuti antakse eraldi lühiülevaade igast vastustes väljatoodud programmeerimiskeelest. Töö lõpus tuuakse tulemustel põhinedes välja mõtteid ja ideid, mida võiks edasistel uurimustel aluseks võtta.The purpose of the current bachelor’s thesis is to give an overview on programming courses taking place in Estonian secondary schools. Data was collected by sending out surveys to a list of schools that, based on Estonian Education Information System, where teaching a course in programming. Answers were collected for 16 different programming courses. Based on gathered information, an overview of the courses was made, including the structure of the course, used programming languages and learning materials, and willingness for cooperation. In addition, a short overview of all mentioned programming languages was included. At the end of the thesis, some points of interests are brought out for possible future research

    The concepts of software development for OOP and BAP self-learning courses

    Get PDF
    The article describes the basic skills and phases necessary for the successful engineering and development of educational software. In the course of the analysis, the basics of software development are laid, including the objectives of the audience and the program, hardware and software limitations are determined, content resources are defined and auxiliary management tools are considered. Effective development of educational software for learning OOP (object-oriented programming) and BAP (basic algorithms and programming) self-learning requires the proper construction of the process

    Teaching Computational Thinking

    Get PDF
    Computational thinking is a fundamental skill for everyone, not just computer scientists. Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information processing agent. Teaching Computational Thinking introduces the fundamental principles of communicating computing to learners across all levels. The book delves into the philosophical and psychological foundations of computer science as a school subject as well as specific teaching methods, curriculum, tools, and research approaches in computing education. This book is intended as a guide and teaching companion for pre-service and in-service computer science teachers

    Programming languages ment for learning programming

    Get PDF
    U ovom završnom radu, čija je tema "Programski jezici namijenjeni učenju programiranja", cilj je upoznavanje s programskim jezicima, koji za cilj imaju olakšati učenje programiranja. Odabir programskog jezika namijenjenoga učenju, umjesto jezika koji takve ciljeve nema, znatno smanjuje probleme kod kojih se početnici susreću kod učenja programiranja. Neke od glavnih značajki programskih jezika namijenjenih učenju su: jednostavna i lako shvatljiva sintaksa, jednostavno razvojno okruženje i drugačiji pristup učenju. Jezici koji su opisani i uspoređivani u ovom radu su: Logo, BASIC, Pascal, Scratch, C++, Java i Python.In this bachelor's thesis, whose topic is "Programing languages meant for learning programming", the goal is to get to know the programming languages, that aim to make learning programming easier. Selecting a programing language meant for learning, instead of a language that isn't for learning, considerably lessens the problems that beginners face when learning programming. Some of the main features of programming language meant for learning are: simple and easy to understand syntax, simple developer environment and different teaching approach. The languages that are described and compared in this paper are: Logo, BASIC, Pascal, Scratch, C++, Java and Python

    Programming languages ment for learning programming

    Get PDF
    U ovom završnom radu, čija je tema "Programski jezici namijenjeni učenju programiranja", cilj je upoznavanje s programskim jezicima, koji za cilj imaju olakšati učenje programiranja. Odabir programskog jezika namijenjenoga učenju, umjesto jezika koji takve ciljeve nema, znatno smanjuje probleme kod kojih se početnici susreću kod učenja programiranja. Neke od glavnih značajki programskih jezika namijenjenih učenju su: jednostavna i lako shvatljiva sintaksa, jednostavno razvojno okruženje i drugačiji pristup učenju. Jezici koji su opisani i uspoređivani u ovom radu su: Logo, BASIC, Pascal, Scratch, C++, Java i Python.In this bachelor's thesis, whose topic is "Programing languages meant for learning programming", the goal is to get to know the programming languages, that aim to make learning programming easier. Selecting a programing language meant for learning, instead of a language that isn't for learning, considerably lessens the problems that beginners face when learning programming. Some of the main features of programming language meant for learning are: simple and easy to understand syntax, simple developer environment and different teaching approach. The languages that are described and compared in this paper are: Logo, BASIC, Pascal, Scratch, C++, Java and Python

    Mapeamento das atividades que contribuem para os ODS com o apoio do Business Intelligence : aplicação prática numa instituição de ensino superior

    Get PDF
    Mestrado em Gestão de Sistemas de InformaçãoA Organização das Nações Unidas identificou um conjunto de 17 Objetivos de Desenvolvimento Sustentável (ODS) na Agenda 2030, como um esforço para abordar os desafios sociais, económicos e ambientais que o nosso mundo enfrenta. Os ODS são uma visão para alcançar um futuro sustentável e as Instituições de Ensino Superior (IES), sendo órgãos privilegiados na disseminação de conhecimento, são agentes cruciais que devem ter um papel ativo na promoção e na divulgação dos ODS. As IES podem contribuir para os ODS através de know-how e de boas práticas para apoiar a implementação e integração da sustentabilidade nas suas atividades de investigação, educação, operações no campus e de interação com a sociedade. No entanto, é importante a identificação e a monitorização das atividades que divulgam a sustentabilidade para medir o progresso e as contribuições realizadas com o objetivo de contribuir para atingir os ODS. O ISEG, entidade para o qual foi concebido o projeto, pretende reforçar o seu posicionamento enquanto universidade que contribui para os ODS. Deste modo, o projeto tem como principal objetivo classificar e mapear as atividades académicas realizadas pelo ISEG de acordo com os ODS, na vertente de investigação e de ensino, e no desenvolvimento de uma solução de Business Intelligence onde é possível a visualização e a análise de informação para suporte à tomada de decisão. Os resultados revelam que o projeto concebido, de uma forma geral, responde às necessidades do ISEG, possibilitando o suporte à tomada de decisão, a comunicação e a identificação quantitativa de contribuições.The United Nations has identified a set of 17 Sustainable Development Goals (SDGs) in the 2030 Agenda in an effort to address the social, economic and environmental challenges facing the world. The SDGs are guidelines for achieving a sustainable future. As privileged agents in the dissemination of knowledge, the Higher Education Institutions (HEIs) play a crucial and active role in the promotion and communication of the SDGs. Through their know-how and good practices, HEIs can be useful to the SDGs through the implementation and integration of sustainability in their research, education, campus operations, and interaction with society. However, it is important to identify and monitor the activities that promote sustainability in order to measure progress and contributions made in order to achieve the SDGs. ISEG, the entity for which this project was planned, seeks to strengthen its position as a university that contributes to the SDGs. As such, the main objective of this project is to classify and map the academic activities carried out by ISEG that follow the SDGs, in terms of research and teaching, as well as develop a Business Intelligence solution that will make it possible to visualize and analyze data to support decision-making. The results reveal that, in general, the project conceived responds to the needs of ISEG, enabling support to decision-making, communication, and to the quantitative identification of contributions.info:eu-repo/semantics/publishedVersio

    A taxonomy of themes for teaching programming in a visual context

    Get PDF
    Orientador: Daniel de Carvalho MoreiraDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Civil, Arquitetura e UrbanismoResumo: O ensino de programação para artistas visuais, designers e arquitetos apresenta temas e abordagens particulares, especialmente em ambiente visual proporcionado por ferramentas de programação autônomas ou embutidas em programas de desenho e modelagem tridimensional. Partindo de uma análise da literatura do ensino introdutório de programação voltada ao público mencionado, identificando, comparando, decompondo e hierarquizando assuntos, este trabalho busca a caracterização de temas de programação, e exemplos de sua aplicação. Foi produzido um vocabulário controlado, ferramenta utilizada para assegurar uma linguagem comum a uma comunidade na organização, armazenagem e recuperação de documentos, com intuito de auxiliar professores e alunos a encontrar material didático apropriado, por meio da classificação de códigos-fonte que servem de exemplos didáticos. O vocabulário controlado, na forma de um tesauro, foi então aplicado na organização de exemplos didáticos disponíveis para uso com Processing, ferramenta largamente utilizada para a produção de resultados visuais com programação e que, acrescida do complemento Python Mode, permite a escrita e execução de código com sintaxe da linguagem Python. O tesauro e a coleção de exemplos classificados estão disponíveis para consulta, podendo futuramente ser ampliados, permitem identificar particularidades e lacunas nos temas atendidos pelos exemplos e servir de base para futuras pesquisas envolvendo material para ensino introdutório de programação em um contexto visualAbstract: Teaching programming for visual artists, designers and architects involves a special set of themes and approaches, especially in a visual environment provided by stand-alone programming tools or embedded in design and 3D modeling software. Starting from a review of the literature of the introductory teaching of programming directed to the mentioned public, identifying, comparing, decomposing and laddering subjects, this work seeks to characterize programming themes, and examples of its aplicattion. A controlled vocabulary was produced, a tool to ensure a common language in a community for the organization, storage and retrieval of documents, in order to help teachers and students to find appropriate didactic material by classifying source code examples. The controlled vocabulary, in the form of a thesaurus, was then applied in the organization of didactic examples available for use with Processing, a tool widely used for the production of visual results with programming and that, with the addition of Python Mode, allows the writing and execution of code with the Python programming language syntax. The thesaurus and the collection of classified examples are available for online consultation, and may be extended in the future, they allow one to identify particularities and gaps in the topics covered by the examples, and can serve as a basis for future research involving introductory teaching material in a visual contextMestradoArquitetura, Tecnologia e CidadeMestre em Arquitetura, Tecnologia e Cidad
    corecore