Please enable JavaScript to use CodeHS

Introducción a la ciencias de la computación en JavaScript (Corgi)

Description

En esta lección, se les presenta CodeHS a los estudiantes y se les enseña cómo Karel el perro puede recibir un conjunto de instrucciones para realizar una tarea simple.

Objective

Students will be able to:

  • Write their first Karel program by typing out all of the Karel commands with proper syntax

  • Explain how giving commands to a computer is like giving commands to a dog

Description

En esta lección, los estudiantes aprenden más sobre Karel y el mundo de Karel. También aprenden sobre las paredes del mundo de Karel, las instrucciones que puede seguir Karel y cómo identificar una ubicación en el mundo de Karel usando filas y columnas. En estos ejercicios, los estudiantes comenzarán a ver las limitaciones de los comandos de Karel. Además, deberán aplicar el conjunto limitado de comandos de Karel a nuevas situaciones. Por ejemplo, ¿cómo pueden hacer que Karel gire a la derecha, a pesar de que Karel no conoce un comando turnRight?

Objective

Students will be able to…

  • Identify the direction that Karel is facing
  • Predict what direction Karel will be facing after executing a series of commands
  • Identify a location in Karel’s world using Row, Column terminology
Description

En esta lección, los estudiantes aprenderán a crear sus propios comandos con Karel definiendo y llamando a funciones. Las funciones permiten a los programadores crear y reutilizar nuevos comandos que hacen que el código sea más legible y escalable.

Objective

Students will be able to:

  • Define a function, and successfully implement functions in their code.
  • Teach Karel a new command by creating a turnRight() function
Description

En esta lección, los estudiantes aprenden con más detalle sobre las funciones y cómo pueden usarlas para dividir sus programas en piezas más pequeñas y hacerlos más fáciles de entender.

Objective

Students will be able to:

  • Create functions to teach Karel new commands
  • Explain the difference between defining and calling a function
  • Utilize these functions to write higher level Karel programs that go beyond the basic toolbox of commands that Karel starts with
Description

En esta lección, los estudiantes comprenderán con mayor profundidad las funciones, ya que aprenderán sobre la función “main”. Esta función ayuda a organizar la legibilidad del código creando un lugar designado donde se puede almacenar el código que se ejecutará en un programa:

function main(){
   turnRight();
}

function turnRight(){
   turnLeft();
   turnLeft();
   turnLeft();
}

main();
Objective

Students will be able to:

  • Explain the functionality of the main function
  • Use the main function appropriately in their programs
  • Improve the readability of their code
Description

En esta lección, los estudiantes aprenden sobre el diseño descendente y la descomposición. El diseño descendente es el proceso de dividir un problema grande en partes más pequeñas.

Objective

Students will be able to:

  • Break a large problem down into smaller, simpler problems
  • Write methods that solve the simpler problems, and use them as building blocks to solve the larger problem
  • Compare programs and identify good vs poor decomposition
Description

En esta lección, los estudiantes aprenden a diseñar sus programas incluyendo comentarios. Los comentarios permiten a los estudiantes dejar notas en su programa que los demás podrán leer con mayor facilidad. Los comentarios se escriben en inglés simple.

Ejemplo de comentarios sobre el código:

/*
 * comentarios de varias líneas
 */

// comentarios de una sola línea
Objective

Students will be able to:

  • Explain the preconditions and postconditions of a function
  • Create clear and readable comments in their code that help the reader understand the code
  • Explain the purpose of comments
Description

En esta lección, !los estudiantes conocen a Super Karel! Como los comandos turnRight() y turnAround() se usan tanto, los estudiantes no tendrán que definirlos en cada programa. Conozcamos a SuperKarel. SuperKarel es igual a Karel, excepto que SuperKarel ya sabe cómo girar a la derecha y darse vuelta, ¡así que los estudiantes ya no tienen que definir estas funciones!

Objective

Students will be able to:

  • Write programs that use SuperKarel instead of Karel
  • Utilize the new toolbox of commands that SuperKarel provides over Karel
  • Read documentation to understand how to use a library (SuperKarel is an example of this)
Description

En esta lección, los estudiantes aprenden a usar los for loops en sus programas. Un for loop permite a los estudiantes repetir una parte específica del código un número determinado de veces.

Los for loops se escriben de la siguiente manera:

for(let i = 0; i < 4; i++)
{
             // El código se repetirá 4 veces
}
Objective

Students will be able to:

  • Create for loops to repeat code a fixed number of times
  • Explain when a for loop should be a used
  • Utilize for loops to write programs that would be difficult / impossible without loops
Description

En esta lección, los estudiantes aprenden sobre la declaración condicional “if”. El código dentro de una “declaración if” solo se ejecutará SI la condición es verdadera.

if (frontIsClear()) {
    // El código se ejecutará solo si la parte frontal está despejada
}
Objective

Students will be able to:

  • Use conditions to gather information about Karel’s world (is the front clear, is Karel facing north, etc)
  • Create if statements that only execute code if a certain condition is true
Description

En esta lección, los estudiantes aprenden sobre una estructura de control adicional, las declaraciones “if/else”. Estas declaraciones permiten a los estudiantes hacer una cosa si una condición es verdadera, y otra cosa si ocurre lo contrario.

Las declaraciones if/else se escriben de la siguiente manera:

if (frontIsClear()) {
      // código que se ejecutará si la parte frontal está despejada
 } else {
      // código que se ejecutará en caso contrario
}
Objective

Students will be able to:

  • Explain the purpose of an If/Else statement
  • Create If/Else statements to solve new types of problems
  • Identify when it is appropriate to use an If/Else statement
Description

En esta lección, los estudiantes conocen un nuevo tipo de loop: los while loops. Estos permiten a Karel repetir el código mientras una determinada condición es verdadera. Los while loops permiten a los estudiantes crear soluciones generales a problemas que funcionarán en varios mundos de Karel y no solo en uno.

Objective

Students will be able to:

  • Explain the purpose of a while loop
  • Create while loops to repeat code while a condition is true
  • Utilize while loops to solve new types of problems
  • Test their solutions on different Karel worlds
Description

En esta lección, los estudiantes aprenden a indentar su código para que sea más fácil de leer.

Objective

Students will be able to:

  • Explain why it is important to indent code
  • Identify proper indentation
  • Modify a program to have proper indentation
  • Write programs with proper indentation
Description

En esta lección, los estudiantes aprenden a combinar e incorporar las diferentes estructuras de control que han aprendido para crear programas más complejos.

Objective

Students will be able to:

  • Identify the different control structures we can use to modify the flow of control through a program
  • Combine control structures to solve complicated problems
  • Choose the proper control structure for a given problem
Description

En esta lección, los estudiantes realizan una práctica adicional con las estructuras de control. Además, seguirán viendo las distintas formas en que los if, if/else, while y for loops afectan su código y lo que Karel puede hacer.

Objective

Students will be able to:

  • Debug common errors in code
  • Use control structures to create general solutions that work on all Karel worlds
Description

En esta lección, los estudiantes repasan el contenido con una prueba de la unidad de 25 preguntas.

Objective

Students will be able to:

  • Prove their knowledge of basic coding concepts with Karel through a multiple choice quiz