Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

En esta materia vamos a usar varias herramientas: un editor de código, un lenguaje de programación, un sistema de control de versiones y una plataforma para recibir y entregar trabajos. Este anexo explica cómo instalar y usar cada una.

1Instalación de Git y Git Bash

Git es el sistema de control de versiones que usamos para gestionar el código. En Windows, al instalar Git se incluye Git Bash, una terminal que funciona como la de Linux.

Windows
Linux
macOS
  1. Ir a https://git-scm.com y descargar el instalador.

  2. Ejecutar el .exe y dejar las opciones por defecto.

  3. Al finalizar, abrir Git Bash desde el menú Inicio.

  4. Verificar la instalación:

    git --version
    git version 2.4x.x

2Terminal / línea de comandos

La terminal permite ejecutar comandos para navegar archivos, correr programas y usar Git. En Windows usamos Git Bash; en Linux y macOS la terminal nativa.

Los comandos básicos son los mismos en los tres sistemas:

ComandoQué hace
pwdMuestra el directorio actual
lsLista los archivos y carpetas
cd <carpeta>Cambia al directorio indicado
cd ..Sube un nivel
mkdir <nombre>Crea una carpeta
touch <archivo>Crea un archivo vacío
TabAutocompleta comandos y rutas
⬆ ⬇Navega el historial de comandos

Estructura de rutas:

3Instalación de Go

Necesitamos Go para compilar y ejecutar los ejercicios de los talleres.

Windows
Linux
macOS
  1. Ir a https://go.dev/dl y descargar el .msi para Windows.

  2. Ejecutar el instalador. Agrega Go al PATH automáticamente.

  3. Abrir Git Bash y verificar:

    go version
    go version go1.22.x windows/amd64

4Visual Studio Code

VS Code es el editor que usamos en la cursada. Es liviano y tiene soporte para Go con las extensiones adecuadas.

Windows
Linux
macOS
  1. Ir a https://code.visualstudio.com y descargar el instalador.

  2. Ejecutar el .exe. Marcar “Agregar a PATH” durante la instalación.

  3. Abrir VS Code desde el menú Inicio.

5Extensiones de VS Code

Para trabajar con Go necesitamos algunas extensiones. Desde VS Code:

  1. Ir al icono de extensiones (cuadrados en la barra izquierda, o Ctrl+Shift+X).

  2. Buscar cada extensión por nombre o ID.

  3. Click en Install.

ExtensiónIDPara qué sirve
Gogolang.goAutocompletado, formato, navegación, análisis de código y explorador visual de tests
Error Lensusernamehw.errorlensMuestra los errores inline, al lado del código
GitHub Pull RequestsGitHub.vscode-pull-request-githubRevisar y comentar Pull Requests (incluyendo el Feedback PR)

6GitHub Codespaces

Codespaces es un entorno de desarrollo en la nube de GitHub: te da un VS Code completo con Git y Go ya instalados, directamente desde el navegador. Es una buena alternativa si no podés (o no querés) instalar nada en tu computadora.

6.1Cómo abrirlo

  1. Ir al repositorio de la tarea en github.com.

  2. Click en el botón verde Code.

  3. Ir a la pestaña Codespaces.

  4. Click en Create codespace on main.

Después de unos segundos se abre un VS Code en el navegador, con el repositorio ya clonado y listo para editar, correr tests y usar la terminal integrada.

6.2Limitaciones a tener en cuenta

Además, trabajar en Codespaces no guarda nada automáticamente en GitHub: los cambios quedan solo en el entorno en la nube. Para que impacten en el repositorio hay que hacer commit y push desde la terminal integrada, igual que en cualquier otro entorno:

git add .
git commit -m "mensaje"
git push

Para las instancias finales recomendamos tener el entorno local instalado; Codespaces es una alternativa para la cursada diaria.

7Slack

Usamos Slack para la comunicación del curso: anuncios, consultas, canales por tema.

  1. Crear una cuenta en https://slack.com si no tenés una.

  2. Unirte al workspace del curso con el enlace que te dan los docentes.

  3. Explorar los canales: #general (anuncios), #consultas, #taller-go, etc.

  4. Para consultar a un docente o ayudante, escribir @usuario en cualquier canal.

  5. Las notificaciones llegan en la aplicación y por correo.

8Classroom50 y gh CLI

Classroom50 es la plataforma que usamos para recibir y entregar los trabajos. Se accede por línea de comandos con gh (GitHub CLI) o por web.

La materia se dicta en dos sedes, todas en una misma organización con una clase por sede:

SedeOrganizaciónClase
UNTREFuntref-ayp2-estudiantesayp2-untref-2026
CUDIuntref-ayp2-estudiantesayp2-cudi-2026

Usar la organización untref-ayp2-estudiantes y la clase que corresponda a tu cursada en todos los comandos.

8.1Instalación de gh CLI

Windows
Linux
macOS

Descargar el instalador desde https://cli.github.com y ejecutarlo. Luego abrir Git Bash y continuar con los pasos siguientes.

8.2Extensión de Classroom50

gh extension install foundation50/gh-student

8.3Iniciar sesión

gh student login

Se abre el navegador para autorizar. Completar el proceso y volver a la terminal.

8.4Aceptar una tarea

gh student accept <organizacion> <clase> <tarea>

Reemplazar <organizacion> por untref-ayp2-estudiantes, <clase> por tu clase (ayp2-untref-2026 o ayp2-cudi-2026) según tu sede, y <tarea> por el slug de la tarea (ej. taller-go).

Esto crea un repositorio propio en GitHub con el código inicial.

8.5Entregar

cd <repositorio>
gh student submit

Esto ejecuta los tests automáticos y publica el resultado. Se puede entregar varias veces; la última entrega es la que cuenta.

9Classroom50 desde la web

Además de la línea de comandos, Classroom50 se puede usar desde el navegador.

  1. Ir a https://classroom50.org.

  2. Click en “Sign in with GitHub” y autorizar la aplicación.

  3. Seleccionar la organización untref-ayp2-estudiantes y la clase correspondiente a tu sede.

  4. Elegir la clase correspondiente.

  5. Se ven las tareas asignadas, su estado (pendiente/entregada) y el puntaje obtenido.

  6. Desde cada tarea se puede acceder al repositorio, al Feedback PR y al detalle de la última entrega.

9.1Entregar desde la web (release)

También se puede entregar directamente desde github.com, creando un release con el tag submit:

  1. Completar los ejercicios y hacer commit y push de tus cambios.

  2. Ir al repositorio de la tarea en github.com.

  3. En la barra lateral derecha, sección Releases, click en Create a new release (o Draft a new release si ya hay releases).

  4. En Choose a tag, escribir submit y elegir la opción “+ Create new tag: submit on publish” que aparece. Opcionalmente podés agregar texto después de una barra, ej.: submit/intento-2.

  5. Completar título y descripción (opcional).

  6. Click en Publish release.

Eso dispara la entrega: se corren los tests automáticos y se publica el resultado, igual que con gh student submit.

10Feedback PR

El Feedback PR es un Pull Request que se crea automáticamente al entregar la primera vez. Es el espacio donde los docentes dejan comentarios sobre tu código.

Está en la pestaña “Pull requests” del repositorio, con el título Feedback.

10.1Desde el navegador web (GitHub)

  1. Ir al repositorio en github.com.

  2. Click en la pestaña Pull requests.

  3. Click en “Feedback”.

  4. Para comentar una línea específica:

    • Click en el número de línea → icono + → escribir comentario → “Add single comment”.

  5. Para hacer una consulta general:

    • Ir al final del PR, escribir en la caja de texto y click en “Comment”.

  6. Para @mencionar a un docente o ayudante:

    • Escribir @usuario (ej. @martin-albarracin).

    • Le llega una notificación por correo.

  7. Para responder a un comentario:

    • Click en “Reply” debajo del comentario.

  8. Las notificaciones se ven en la campana de GitHub (arriba a la derecha).

10.2Desde VS Code

  1. Abrir el repositorio en VS Code.

  2. Click en el icono de PR en la barra lateral izquierda (extensión GitHub Pull Requests).

  3. Seleccionar “Feedback” de la lista.

  4. Comentar una línea: click en el número de línea → icono de comentario → escribir.

  5. @mencionar y responder funciona igual que en la web.

11Cómo ejecutar tests

Los tests verifican que tu código funciona correctamente. Se ejecutan desde la terminal (Git Bash, terminal de Linux o macOS).

11.1Todos los tests

go test ./...

11.2Tests de un tema específico

go test ./01-introduccion/...

11.3Con detalle (muestra cada caso)

go test -v ./...

11.4Usando Makefile (si el repo tiene uno)

make test

11.5Cómo leer el output