Please enable JavaScript to use CodeHS

Fundamentos de codificación en Florida

Description

En esta lección, se presenta a los alumnos a Karel el Perro y cómo Karel puede recibir una serie de instrucciones para realizar una tarea sencilla.

Objective

Students will be able to:

  • Recognize, explain, and use the commands that Karel can be given. These commands are: move(), put_ball(), take_ball() and turn_left().
Description

En esta lección, los alumnos profundizan en su comprensión de cómo se puede dar al Perro Karel una serie de instrucciones para realizar una tarea sencilla.

Objective

Students will be able to:

  • Recognize, explain, and use the commands that Karel can be given
  • Debug and rework their code as well as someone else’s code
Description

En esta lección, los alumnos aprenderán a definir y llamar a una función utilizando la sintaxis adecuada.

Objective

Students will be able to:

  • Define and call functions
Description

En esta lección, se utilizarán funciones para enseñar a Karel una nueva palabra o comando. Utilizar funciones permite descomponer los programas en trozos más pequeños y facilita su comprensión.

Objective

Students will be able to:

  • Understand what functions are, how they are used and how using them improves programs
  • Design and implement their own functions to solve problems
Description

En esta lección, los alumnos aprenden el diseño descendente y la descomposición como procesos para dividir grandes problemas en piezas más pequeñas y manejables. Las funciones mejoran la legibilidad del código y evitan el código repetido.

Objective

Students will be able to:

  • Break a large problem down into smaller, simpler problems
  • Write functions 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 alumnos aprenderán a utilizar comentarios en su código para explicar lo que hace su código. Los comentarios deben incluir precondiciones y postcondiciones. Las precondiciones son suposiciones que hacemos sobre lo que es cierto antes de llamar a una función en nuestro programa. Las postcondiciones son lo que debe ser cierto después de llamar a una función de nuestro programa.

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 alumnos aprenderán sobre la abstracción. La abstracción es el acto de gestionar la complejidad disociando la información y los detalles para centrarse en los conceptos relevantes.

Objective

Students will be able to:

  • Understand abstraction as the different levels of detail and complexity
  • Understand the importance of abstracting away complexity to solve problems more efficiently
Description

En esta lección, los alumnos conocerán SuperKarel y las API. SuperKarel incluye comandos como turn_right() y turn_around(), ya que son muy utilizados. Estos comandos vienen preempaquetados con la biblioteca SuperKarel (API).

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 the documentation to understand how to use an API (SuperKarel is an example of this)
Description

En esta lección, los alumnos aprenden a utilizar bucles for en sus programas. El bucle for te permite repetir una parte concreta del código un número fijo de veces.

Un bucle for se escribe como sigue

for i in range(4):
    # Código a 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 would be a useful tool
  • Utilize for loops to write programs that would be difficult/impossible without loops
Description

En esta lección, los alumnos aprenderán qué son las condiciones y las sentencias if. Una condición es una función que devuelve una respuesta verdadero/falso. Python utiliza las sentencias if como forma de tomar decisiones y ejecutar código específico. Las sentencias if son útiles para escribir código que pueda utilizarse en distintas situaciones.

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 to only execute code if a certain condition is true
Description

En esta lección, los alumnos profundizarán en las sentencias condicionales, más concretamente en las sentencias if/else. Las sentencias if/else permiten hacer una cosa si una condición es verdadera, y otra en caso contrario.

Las sentencias if/else se escriben así:

if frente_está_claro():
    # código a ejecutar si el frente está despejado
elif:
    # código a 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 an If/Else statement is appropriate to be used
Description

En esta lección, se presenta a los alumnos un nuevo tipo de bucle: los bucles while. Los bucles while permiten a Karel repetir código mientras una determinada condición sea cierta. Los bucles while permiten crear soluciones generales a problemas que funcionarán en varios mundos de Karel, en lugar de en uno solo.

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 alumnos echan un vistazo a todas las estructuras de control. Las estructuras de control pueden ser selectivas, como las sentencias if y if / else, y se basan en una condición. Otras estructuras de control son iterativas y permiten repetir código, como los bucles for y while. Básicamente, las estructuras de control controlan la forma en que se ejecutan los comandos.

Objective

Students will be able to:

  • Identify the different control structures that can be used 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

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

Objective

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

Description

En esta lección, se presenta a los alumnos los algoritmos, que son instrucciones paso a paso que resuelven un problema. Los programas implementan algoritmos. Todos los algoritmos se construyen utilizando secuenciación, selección e iteración. Karel tiene estructuras de control para cada una de ellas. Esta lección está diseñada para testar los conocimientos de los alumnos sobre estructuras de control y diseño de algoritmos, como preparación para los próximos retos de Karel.

Objective

Students will be able to:

  • Analyze an algorithm and explain why it works
  • Use control structures to create general algorithms that work on all Karel worlds
Description

En esta lección se presenta a los alumnos Ultra Karel. Ultra Karel tiene todas las capacidades de Super Karel, además de dos nuevas funciones (paint y color_is) añadidas a la API.

Los alumnos explorarán la API de Ultra Karel y utilizarán la capacidad de Ultra Karel de pintar el mundo cuadriculado para crear imágenes digitales. Los alumnos crearán algoritmos generalizados que resuelvan problemas de Ultra Karel para múltiples mundos.

En esta lección, los alumnos utilizarán por primera vez funciones que aceptan parámetros como entradas.

Objective

Students will be able to:

  • Use Ultra Karel commands to paint Karel’s world
  • Call functions that accept parameters as inputs
  • Explain the relationship between a function and a parameter
  • Create generalized Ultra Karel algorithms that correctly solve multiple Karel worlds
  • Identify differences between the Super Karel API and the Ultra Karel API
Description

En esta lección, los alumnos realizan una evaluación sumativa de los objetivos de aprendizaje de la unidad.

Objective

Students will be able to:

  • Prove their knowledge of control structures, functions, decomposition, and comments through a multiple choice quiz