5 research outputs found

    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

    Teaching and learning introductory programming : a model-based approach

    Get PDF
    The dissertation identifies and discusses impact of a model-based approach to teaching and learning introductory object-oriented programming both for practitioners and for computer science education research.Learning to program is notoriously difficult. This dissertation investigates ways to teach introductory object-oriented programming at the university level. It focuses on a model-based approach, describes and argues for this approach and investigates several of its aspects. It gives an overview of the research in teaching introductory programming in an objects-first way. The dissertation also investigates ways for university teachers to share and document best practices in teaching introductory object-oriented programming through pedagogical patterns. The dissertation addresses both traditional young full-time students and experienced programmers (although not in object-orientation) participating in part-time education. It examines whether the same success factors for learning programming apply to a model-based approach as to introductory programming courses in general for full-time students and gives a general overview of research in success factors for introductory programming. Some factors are the same, because students‘ math competence is positively correlated with their success. The dissertation examines how experienced programmers link a model-based programming course to their professional practices. The general answer is that the part-time students do not need to have a direct link to their specific work-practice, they expect to create the link themselves; but the teacher must be aware of the conditions facing the part-time students in industry. Furthermore, the dissertation addresses interaction patterns for part-time students learning model-based introductory programming in a net-based environment. A previously prepared solution to an exercise is found to mediate the interaction in three different ways. Design patterns have had a major impact on the quality of object-oriented software. Inspired by this, researchers have suggested pedagogical patterns for sharing best practices in teaching introductory object-oriented programming. It was expected that university teachers‘ knowledge of pedagogical patterns was limited, but this research proved that to be wrong; about half of the teachers know pedagogical patterns. One of the problems this dissertation identifies is the lack of a structuring principle for pedagogical patterns; potential users have problems identifying the correct patterns to apply. An alternative structuring principle based on a constructivist learning theory is suggested and analysed

    Content and emphasis in CS1

    No full text
    corecore