Please enable JavaScript to use CodeHS

Utah Programación Informática 1

Description

En esta lección, los estudiantes son presentados a Karel el perro y cómo a Karel se le puede dar un conjunto de instrucciones para realizar una tarea simple.

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 estudiantes desarrollarán su comprensión de cómo Karel el perro puede recibir un conjunto de instrucciones para realizar una tarea simple.

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 estudiantes aprenderán cómo 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, las funciones se utilizarán para enseñar a Karel una nueva palabra o comando. El uso de funciones permite que los programas se descompongan en piezas más pequeñas y facilita la 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 estudiantes aprenden diseño y descomposición de arriba hacia abajo como los procesos de 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 estudiantes aprenderán cómo utilizar comentarios en su código para explicar qué está haciendo su código. Los comentarios deben incluir precondiciones y postcondiciones. Las precondiciones son suposiciones que hacemos sobre lo que es verdadero antes de llamar a una función en nuestro programa. Las postcondiciones son lo que debería ser verdadero después de llamar a una función en 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 estudiantes aprenderán sobre la abstracción. La abstracción es el acto de gestionar la complejidad al disociar la información y los detalles para centrarse en 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, se presentará a los estudiantes a SuperKarel y a las APIs. SuperKarel incluye comandos como turn_right() y turn_around() ya que son comúnmente utilizados. Estos comandos vienen preinstalados con la librería de 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 estudiantes aprenden a usar for loops en sus programas. El for loop permite repetir una parte específica del código un número fijo de veces.

Un for loop se escribe de la siguiente manera:

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 estudiantes aprenderán sobre las condiciones y las declaraciones if. Una condición es una función que devuelve una respuesta verdadera/falsa. Python utiliza las declaraciones if como una forma de tomar decisiones y ejecutar código específico. Las declaraciones if son útiles para escribir el código que se pueda usar en diferentes 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 estudiantes analizarán más profundamente las declaraciones condicionales, más específicamente las declaraciones de if/else. Las declaraciones de if/else permiten hacer una cosa si una condición es verdadera y algo más de lo contrario.

Escribimos declaraciones if/else de esta manera:

if front_is_clear():
    # código a ejecutar si front es clear
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 estudiantes un nuevo tipo de bucle: los while loops. Los while loops permiten que Karel repita un código mientras se cumple una determinada condición. Los while loops permiten crear soluciones generales a problemas que funcionarán en varios mundos de Karel, en lugar de 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 echan un vistazo a todas las estructuras de control. Las estructuras de control pueden ser selectivas, como las declaraciones if e if/else y se basan en una condición. Otras estructuras de control son iterativas y permiten un código repetido como los for loops y los while loops. 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 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 se introducen a 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 uno de estos. Esta lección está diseñada para evaluar el conocimiento de los estudiantes sobre las estructuras de control y el diseño de algoritmos en preparación para los próximos desafíos 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 le presenta a los estudiantes Ultra Karel. Ultra Karel tiene todas las habilidades de Super Karel, más dos nuevas funciones (paint y color_is) agregadas a la API.

Los estudiantes explorarán la API Ultra Karel y usarán la capacidad de Ultra Karel para pintar la cuadrícula del mundo de Ultra Karel para crear imágenes digitales. Los estudiantes crearán algoritmos generalizados que resuelven problemas de Ultra Karel para múltiples mundos.

Esta lección es la primera vez que los estudiantes usan 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 estudiantes sintetizarán todas las habilidades y conceptos aprendidos en la unidad Karel para resolver rompecabezas de Karel cada vez más desafiantes.

Objective

Students will be able to:

  • Define a problem in their own words and plan out a solution to the problem
  • Break a large problem down into smaller pieces and solve each of the pieces, then use these solutions as building blocks to solve the larger problem
  • Utilize the proper control structures to create general solutions that solve multiple Karel worlds
  • Write clear and readable code using control structures, functions, decomposition, and comments
Description

En esta lección, los estudiantes completan 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
Description

En esta lección, los estudiantes aprenderán cómo hacer el programa Python más básico, uno que muestra texto en la pantalla. Los estudiantes aprenderán cómo imprimir en Python utilizando la declaración de print. También aprenderán cómo usar citas, apóstrofes y cadenas (strings).

Objective

Students will be able to:

  • Print text in Python
Description

En esta lección, los estudiantes serán reintroducidos al concepto de variables, que almacenan información en un programa para ser utilizado más adelante. Los estudiantes también aprenderán sobre tres tipos de variables diferentes: cadenas de texto (string), enteros (integer) y números de puntos flotantes (float).

Objective

Students will be able to:

  • Define Python variables and types
Description

En esta lección, los estudiantes revisan la entrada del usuario. Aprenden cómo solicitar la entrada del usuario como strings y enteros, aprenden dónde se almacena la entrada y aprenden cómo convertir strings y enteros.

Objective

Students will be able to:

  • Incorporate user input into their programs
  • Convert between variable types
Description

En esta lección, los estudiantes aprenderán sobre el uso de operadores matemáticos en sus programas de Python. Trabajarán a través de múltiples ejemplos para que se sientan cómodos con la precedencia del operador y el uso de diferentes tipos de operadores.

Objective

Students will be able to:

  • Describe the different mathematical operators that can be used in their programs
  • Create programs that use basic math to compute useful things
  • Create programs that take in user input, do simple computations with the input, and produce useful output
Description

En esta lección, los estudiantes podrán realizar operaciones de cadenas (strings) para concatenar valores juntos.

Objective

Students will be able to:

  • Use mathematical operators with strings
Description

En esta lección, los estudiantes revisan el concepto de comentarios. Los comentarios son útiles porque permiten a los programadores dejar notas sobre el programa que están escribiendo.

Objective

Students will be able to:

  • Incorporate comments into their programs in order to make them more readable
Description

En esta lección, los estudiantes repasan el contenido con un Cuestionario de la Unidad de 20 preguntas.

Objective

Students will be able to:

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

En esta lección, los estudiantes volverán a visitar el concepto de valores booleanos. Los booleanos se refieren a un valor que es verdadero o falso. Nombrados en honor al matemático, filósofo y lógico nacido en inglés, George Boole, los booleanos se utilizan para probar si una condición es verdadera o falsa.

Objective

Students will be able to:

  • Create boolean variables to represent meaningful yes/no values
  • Print out the value of a boolean variable
Description

En esta lección, los estudiantes revisarán cómo usar las declaraciones if y if/else. Estas declaraciones permiten a los programadores usar condiciones para determinar cómo debe ejecutarse su código.

Objective

Students will be able to:

  • Use if statements for control flow in their programs
Description

En esta lección, los estudiantes se sumergirán en operadores de comparación. Los operadores de comparación dan la capacidad de comparar dos valores. El uso de operadores de comparación en la programación es similar a las matemáticas en que menor que <, mayor que >, menor o igual a <=, y mayor o igual a >= son los mismos. Las diferencias son que los operadores para iguales a son == y no iguales son! =. El uso de operadores de comparación permite que los programas tomen decisiones.

Objective

Students will be able to:

  • Explain the meaning of each of the comparison operators (<, <=, >, >=, ==, !=)
  • Create programs using the comparison operators to compare values
  • Predict the boolean result of comparing two values
  • Print out the boolean result of comparing values
Description

En esta lección, los estudiantes analizarán a los operadores lógicos. Los operadores lógicos dan la capacidad de conectar o modificar expresiones booleanas. Tres operadores lógicos son NOT (!),or y and. Estos operadores lógicos se pueden usar en combinación. Con estos operadores lógicos, se pueden construir declaraciones lógicas, como “me voy a dormir cuando estoy cansado o (OR) es después de las 9 p.m.”, “uso chanclas cuando estoy afuera y (AND) no (NOT) está lloviendo”.

Objective

Students will be able to:

  • Describe the meaning and usage of each logical operator: or, and, and NOT (!)
  • Construct logical statements using boolean variables and logical operators
Description

En esta lección, los estudiantes aprenden sobre las complejidades de los números de puntos flotantes. Al usar operadores de comparación con floats en Python, a veces veremos un comportamiento extraño debido a los extraños métodos de redondeo. Al usar un operador de comparación con números de punto flotante, debes usar round(x) para evitar un comportamiento de redondeo extraño. round(x, n) redondeará el float x a n decimales. round(x) redondeará el float x a 0 decimales.

Objective

Students will be able to:

  • Use floating point numbers
  • Round values in their programs
Description

En esta lección, los estudiantes repasan el contenido con un Cuestionario de la Unidad de 15 preguntas.

Objective

Students will be able to:

  • Prove their knowledge of conditionals through a multiple choice quiz
Description

En esta lección, los estudiantes aprenden a usar While loops en sus programas de Python. While loops permiten que el código se ejecute repetidamente en función de una condición. También se les recuerda la posibilidad de crear un for loop infinito, que ocurre si la condición de salida del for loop while nunca se cumple, lo que hace que el código dentro del while loop se repita continuamente.

Objective

Students will be able to:

  • Effectively use while loops in their programs
  • Detect and resolve infinite loops
Description

En esta lección, los estudiantes explorarán cómo usar for loops en sus programas de Python. Se les recordará cómo usar i como una variable en sus programas, así como cómo controlar los valores dei alterando los valores de inicio, fin e intervalo.

Objective

Students will be able to:

  • Implement for loops
  • Use the variable i as a counter
  • Control the values of i in a for loop
Description

En esta lección, los estudiantes aprenden sobre las declaraciones de descanso (break) y continuar (continue). Una declaración break 'se usa para terminar inmediatamente un bucle. Se usa una declaracióncontinue` para saltarse los futuros comandos dentro de un ciclo y volver a la parte superior del bucle. Estas declaraciones se pueden usar con for loops o while loops.

Objective

Students will be able to:

  • Explain the critical difference between break and continue
  • Describe why a break or continue statement would be needed in a coding scenario
Description

En esta lección, los estudiantes utilizarán estructuras de control dentro de las estructuras de control, que se denominan estructuras de control anidadas.

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

En esta lección, los estudiantes repasan el contenido con un Cuestionario de la Unidad de 15 preguntas.

Objective

Students will be able to:

  • Prove their knowledge of loops through a multiple choice quiz
Description

En esta lección, los alumnos explorarán el papel vital de los ingenieros de software dentro de un equipo de ingeniería de software. Aprenderán cómo los ingenieros de software colaboran, se comunican y aportan sus habilidades especializadas para desarrollar y mantener aplicaciones de software de alta calidad que satisfagan las necesidades de los usuarios.

Objective

Students will be able to:

  • Understand the responsibilities and functions of software engineers within a software engineering team.
  • Identify the skills and knowledge required to be a successful software engineer on a team.
  • Gain insights into real-world examples of software engineering projects and the impact of software engineers on the final product.
Description

En esta lección, los alumnos explorarán el importante papel de los ingenieros de Control de Calidad (QA) en un equipo de ingeniería de software. Conocerán las responsabilidades de los ingenieros de control de calidad, su impacto en la calidad del software y cómo su experiencia garantiza una experiencia de usuario sin problemas.

Objective

Students will be able to:
* Understand the role and responsibilities of QA engineers in a software engineering team.
* Recognize the importance of quality assurance in ensuring software reliability and user satisfaction.
* Explore the techniques and methods used by QA engineers to identify and report software defects.

Description

En esta lección, los estudiantes explorarán el papel vital de los diseñadores en los equipos de desarrollo de software y aprenderán cómo colaboran con los desarrolladores para crear interfaces de usuario intuitivas y visualmente atractivas.

Objective

Students will be able to…

  • Understand the specific tasks and responsibilities of designers within a software development team
  • Examine fundamental design principles such as color theory, typography, and accessibility
  • Assess the impact of well-designed user interfaces on user experience
Description

En esta lección, los alumnos explorarán el papel crucial de un gestor de proyectos dentro de un equipo de ingeniería de software, comprendiendo sus responsabilidades en la planificación, coordinación y ejecución de proyectos.

Objective

Students will be able to:

  • Understand the role and responsibilities of a project manager within a software engineering team.
  • Identify the key skills and qualities required to be an effective project manager in the software engineering field.
  • Explore the importance of effective communication and collaboration in project management and its impact on project success.