karel

Implementation of Karel The Robot in R

https://github.com/ropensci/karel

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary

Keywords

learning programming r-language
Last synced: 6 months ago · JSON representation

Repository

Implementation of Karel The Robot in R

Basic Info
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 5
  • Open Issues: 3
  • Releases: 0
Topics
learning programming r-language
Created about 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "50%", 
  fig.align = "center"
)
```

# La robot Karel / Karel the robot 



[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html) [![CRAN status](https://www.r-pkg.org/badges/version/karel)](https://CRAN.R-project.org/package=karel) [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![pkgcheck](https://github.com/ropensci/karel/workflows/pkgcheck/badge.svg)](https://github.com/ropensci/karel/actions?query=workflow%3Apkgcheck)
[![R-CMD-check](https://github.com/ropensci/karel/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/karel/actions)
[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/620_status.svg)](https://github.com/ropensci/software-review/issues/620)
[![Codecov test coverage](https://codecov.io/gh/ropensci/karel/branch/master/graph/badge.svg)](https://app.codecov.io/gh/ropensci/karel?branch=master)


## ¿Quién es Karel? / Who is Karel?

Desarrollado por el Dr. R. E. Pattis en la Universidad de Stanford en 1981, 
Karel es una herramienta que persigue la misión de enseñar conceptos 
fundamentales y generales de programación, como descomposición algorítmica, 
declaraciones condicionales, bucles y más. Aunque Karel ha sido implementado 
en varios lenguajes a lo largo de los años, este es el primer paquete que trae 
a Karel al entorno de R.

Esta herramienta es útil para ser utilizada con estudiantes que no tienen 
experiencia previa en R ni en otro lenguaje, pero que deben adquirir nociones 
elementales de programación porque necesitan comenzar a usar R para sus 
estudios. El paquete pretende ayudar a incorporar estos conocimientos de forma 
lúdica, permitiendo que los usuarios jueguen y completen desafíos con Karel. 
Por ejemplo, este paquete es utilizado en un curso informal de pre-ingreso a la 
carrera de Licenciatura en Estadística en la Universidad Nacional de Rosario 
(Argentina) con futuros estudiantes que en su mayoría son adolescentes y no 
tienen experiencia en programación.

El paquete Karel ofrece a través de sus viñetas lecciones para transmitir estos 
conocimientos generales que, si bien no incluyen herramientas de programación 
para análisis de datos o técnicas de codificación avanzadas, se enfocan en las 
bases de la programación, enseñadas en el entorno R.

------------------------------------------------------------------------

Developed by Dr. R. E. Pattis at Stanford University in 1981, **Karel** is a 
tool aimed at teaching fundamental and general programming concepts, such as 
algorithmic decomposition, conditional statements, loops, and more. Although 
Karel has been implemented in various languages over the years, this is the 
first package to bring Karel to the R environment.

This tool is useful to be used with students who have no prior experience in R 
or any other language but need to acquire basic programming notions because they
need to start using R for their studies. The package aims to help incorporate 
this knowledge in a playful way, allowing users to play and complete challenges 
with Karel. For example, this package is used in an informal pre-entry course 
for the Bachelor's degree in Statistics at the National University of Rosario 
(Argentina) with future students who are mostly teenagers and have no 
programming experience.

The Karel package offers lessons through its vignettes to convey these general 
knowledge, which, while not including programming tools for data analysis or 
advanced coding techniques, focus on the foundations of programming, taught in 
the R environment.

## Instalación / Installation

Podés instalar `karel` desde [CRAN](https://CRAN.R-project.org/package=karel) /
You can install `karel` from [CRAN](https://CRAN.R-project.org/package=karel):

``` r
install.packages("karel")
```

También podés instalar la versión en desarrollo desde
[GitHub](https://github.com/ropensci/karel) / You can also install the development
version from [GitHub](https://github.com/ropensci/karel):

``` r
# install.packages("devtools")
devtools::install_github("ropensci/karel")
```

## Ejemplos / Examples

Podés programar a Karel para que realice tareas como las siguientes / You can
program Karel to perform tasks such as:

```{r, echo=F, out.width="50%"}
knitr::include_graphics("man/figures/33.gif")
```

```{r, echo=F, out.width="50%"}
knitr::include_graphics("man/figures/30.gif")
```

Visitá los artículos para ver cómo lograrlo y solucionar muchos casos más /
Visit the articles to learn how to do it and to solve other problems.

## Cómo citar este paquete / How to cite this package

```
Prunello M (2023). karel: Learning programming with Karel the robot. 
R package version 0.1.1.9000, .
```

## Código de conducta / Code of conduct

Por favor notar que este paquete se ha publicado con un [Código de Conducta](https://ropensci.org/code-of-conduct/). Please note that this package is released with a [Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). 
Please note that this package is released with a [Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). 
By
contributing to this project, you agree to abide by its terms.

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "karel",
  "description": "This is the R implementation of Karel the robot, a programming language created by Dr. R. E. Pattis at Stanford University in 1981. Karel is an useful tool to teach introductory concepts about general programming, such as algorithmic decomposition, conditional statements, loops, etc., in an interactive and fun way, by writing programs to make Karel the robot achieve certain tasks in the world she lives in. Originally based on Pascal, Karel was implemented in many languages through these decades, including 'Java', 'C++', 'Ruby' and 'Python'. This is the first package implementing Karel in R.",
  "name": "karel: Learning programming with Karel the robot",
  "codeRepository": "https://github.com/mpru/karel",
  "issueTracker": "https://github.com/mpru/karel/issues/",
  "license": "https://spdx.org/licenses/GPL-2.0",
  "version": "0.1.1.9000",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.2.2 Patched (2022-11-10 r83330)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Marcos",
      "familyName": "Prunello",
      "email": "marcosprunello@gmail.com",
      "@id": "https://orcid.org/0000-0002-9611-527X"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Person",
      "givenName": "Marcos",
      "familyName": "Prunello",
      "email": "marcosprunello@gmail.com",
      "@id": "https://orcid.org/0000-0002-9611-527X"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Marcos",
      "familyName": "Prunello",
      "email": "marcosprunello@gmail.com",
      "@id": "https://orcid.org/0000-0002-9611-527X"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 3.6.0"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "purrr",
      "name": "purrr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=purrr"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=dplyr"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "tidyr",
      "name": "tidyr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tidyr"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "ggplot2",
      "name": "ggplot2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=ggplot2"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "magrittr",
      "name": "magrittr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=magrittr"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "gganimate",
      "name": "gganimate",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=gganimate"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "cli",
      "name": "cli",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=cli"
    },
    "SystemRequirements": null
  },
  "fileSize": "1210.009KB",
  "relatedLink": [
    "https://mpru.github.io/karel/",
    "https://CRAN.R-project.org/package=karel"
  ],
  "releaseNotes": "https://github.com/mpru/karel/blob/master/NEWS.md",
  "readme": "https://github.com/mpru/karel/blob/master/README.md",
  "developmentStatus": "https://lifecycle.r-lib.org/articles/stages.html",
  "keywords": [
    "learning",
    "programming",
    "r-language"
  ]
}

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 161
  • Total Committers: 2
  • Avg Commits per committer: 80.5
  • Development Distribution Score (DDS): 0.006
Past Year
  • Commits: 40
  • Committers: 2
  • Avg Commits per committer: 20.0
  • Development Distribution Score (DDS): 0.025
Top Committers
Name Email Commits
mpru m****o@g****m 160
joelnitta j****a@g****m 1

Dependencies

DESCRIPTION cran
  • R >= 3.6.0 depends
  • dplyr * imports
  • gganimate * imports
  • ggplot2 * imports
  • gifski * imports
  • magrittr * imports
  • purrr * imports
  • tidyr * imports
  • knitr * suggests
  • rmarkdown * suggests
  • testthat * suggests
.github/workflows/pkgcheck.yaml actions
  • ropensci-review-tools/pkgcheck-action main composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite