Please enable JavaScript to use CodeHS

Principios de Informática de Indiana

Description

En esta lección, se les presenta a los estudiantes a CodeHS y 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 Karel’s World. Los estudiantes aprenden sobre las paredes en el mundo de Karel, las instrucciones que Karel puede enfrentar y cómo identificar una ubicación en el mundo de Karel utilizando calles y avenidas. En estos ejercicios, los estudiantes comenzarán a ver las limitaciones de los mandamientos de Karel. Los estudiantes 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 Turnight?

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 Street, Avenue terminology
Description

En esta lección, los estudiantes aprenderán cómo pueden crear sus propios comandos para Karel llamando y definiendo 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 usar funciones 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 profundizarán su comprensión de las funciones aprendiendo sobre la función de inicio. La función de inicio ayuda a organizar la legibilidad del código mediante la creación de un lugar designado donde se puede almacenar el código que se ejecutará en un programa:

función start () {
   Gire a la derecha();
}

función Turnright () {
   Gire a la izquierda();
   Gire a la izquierda();
   Gire a la izquierda();
}
Objective

Students will be able to:

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

En esta lección, los estudiantes aprenden sobre el diseño y la descomposición de arriba hacia abajo. El diseño de arriba hacia abajo es el proceso de descomponer un gran problema 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 cómo diseñar sus programas incluyendo comentarios. Los comentarios permiten a los estudiantes dejar notas en su programa que faciliten que otros lean. Los comentarios están escritos en inglés simple.
Comentando su ejemplo de código:

/*
 * Comentarios de múltiples 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 se presentan a Super Karel! Dado que los comandos como Turnright () y Turnaround () se usan tan comúnmente, los estudiantes no deberían tener que definirlos en cada programa. Aquí es donde entra Superkarel. Superkarel es al igual que Karel, excepto que Superkarel ya sabe cómo tirar de la derecha y el cambio, ¡por lo que los estudiantes ya no tienen que definir esas 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 para bucles en sus programas. El bucle para los estudiantes permite repetir una parte específica del código un número fijo de veces.

Para los bucles se escriben así:

para (var 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 “si”. El código dentro de una “Declaración if” solo se ejecutará si la condición es verdadera.

if (fronticeScear ()) {
    // El código se ejecutará solo si el frente está claro
}
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, si/else declara declaraciones. Declaraciones de si/else Deje que los estudiantes hagan una cosa si una condición es verdadera, y algo más de lo contrario.

Las declaraciones si/else se escriben así:

if (frontIsclar ())
 {
      // código para ejecutar si el frente está claro
 }
 demás
 {
      // código para ejecutar lo 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 reciben un nuevo tipo de bucle: mientras que los bucles. Mientras que los bucles permiten que Karel repita el código * mientras * una determinada condición es verdadera. Mientras que los bucles permiten a los estudiantes crear soluciones generales a problemas que funcionarán en múltiples mundos de Karel, en lugar de solo 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 cómo combinar e incorporar las diferentes estructuras de control que han aprendido a 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 reciben práctica adicional con estructuras de control. Los estudiantes continuarán viendo diferentes formas en que, si, si/else, mientras y para los bucles 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 revisan cómo deben sangrar 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

La depuración es una parte muy importante de la programación. En esta lección, los estudiantes aprenden a depurar efectivamente sus programas.

Objective

Students will be able to use debugging strategies to find and fix errors in their code.

Description

En esta lección, los estudiantes explorarán las carreras disponibles en informática y aprenderán cómo el sesgo puede afectar los programas de computadora.

Objective

Students will explore different computer science careers and opportunities.
Students will learn how bias can affect computer programs.