Skip to content

Commit

Permalink
CSP-U1L3 Self-checks
Browse files Browse the repository at this point in the history
Changed P1 & P2 to move the self-check to the end (to not change question numbers). Added P3-6.
  • Loading branch information
jkangEDC committed Dec 16, 2024
1 parent 34f4482 commit a194fb0
Show file tree
Hide file tree
Showing 19 changed files with 304 additions and 88 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,21 +40,15 @@ <h2>Explorar el movimiento</h2>
<p><strong>En esta página</strong>, explorarás los aspectos básicos para dibujar una forma en Snap<em>!</em>. Utilizaremos el bloque <code>repetir</code> para iterar sobre el mismo código múltiples veces.</p>
</div>

<div class="vocabFullWidth AP-only"><strong>: algoritmos</strong> y <strong>pseudocódigo</strong>
<div class="ap-standard">AAP-2.A.1, AAP-2.A.2, AAP-2.A.3</div>
<p>Un <strong>algoritmo</strong> (<em>algorithm</em>) es una secuencia de pasos que usualmente ejecuta una computadora. El algoritmo no requiere estar escrito en un lenguaje de programación en particular, ni siquiera en un lenguaje de programación. Puede ser escrito en nuestro lenguaje natural en la forma de una secuencia de oraciones que realiza una serie de actividades. Se conoce a un algoritmo escrito en lenguaje natural como <strong>pseudocódigo</strong> (<em>pseudocode</em>). Una vez que se tiene la idea clara de los pasos a ejecutar, el algoritmo puede escribirse en el lenguaje de programación de tu elección.</p>
<div class="endnote">¿Cuál es el propósito del "pseudocódigo"? "Pseudo" significa, literalmente, "falso o irreal"; ¿Por qué escribir un algoritmo en nuestro lenguaje natural en lugar de uno tan preciso como Snap<i>!</i>? Si fueras a programar utilizando un lenguaje cargado de puntuación, diseñar tu programa en pseudocódigo te ayudaría a enfocarte en las ideas más importantes en lugar de los detalles como los signos de puntuación o un punto y coma. Sin embargo, el pseudocódigo no es tan necesario en un lenguaje como Snap<em>!</em>. Además, el pseudocódigo puede hacer que te hagas ilusiones acerca de lo que es capaz de hacer una computadora (como por ejemplo, "Selecciona los números ganadores para la lotería de mañana; anótalos y compra el billete de lotería" o "Aquí está la melodía; escribe la armonía").</div>
</div>

<div class="forYouToDo" id="first">
<div class="ap-standard">AAP-2.A, AAP-3.A part b</div>
<ol>
<li>(Autoevaluación en español próximamente.)</li>
<li>
<img class="inline" src="/bjc-r/img/icons/work-with-a-partner.es.png" alt="Trabaja con tu compañero" title="Trabaja con tu compañero" />
<img class="inline" src="/bjc-r/img/icons/write-out-thoughts.es.png" alt="Escribe tus ideas" title="Escribe tus ideas" />
Describe qué hará el objeto al seguir el algoritmo que se presenta a continuación:<br />
<img class="indent" src="/bjc-r/img/1-introduction/repeat-4(move-100-turn-right-90).es.png" alt="repetir (4) (mover (100), girar (90))" title="repetir (4) (mover (100), girar (90))" />
<div class="sidenote">Un <strong>algoritmo</strong> (<em>algorithm</em>) es una secuencia de pasos que usualmente ejecuta una computadora.</div>
</li>
<li>Inicia sesión en <a href="http://snap.berkeley.edu/run" title="Snap! Build Your Own Blocks" target="_blank">Snap<em>!</em></a> y construye el programa para probar tu hipótesis.<br />
<ol>
Expand Down Expand Up @@ -127,6 +121,20 @@ <h3 class="box-head">Usar pasos visibles</h3>
</li>
</ol>
</div>

<div class="vocabFullWidth AP-only"><strong>: algoritmos</strong> y <strong>pseudocódigo</strong>
<div class="ap-standard">AAP-2.A.1, AAP-2.A.2, AAP-2.A.3</div>
<p>Un <strong>algoritmo</strong> (<em>algorithm</em>) es una secuencia de pasos que usualmente ejecuta una computadora. El algoritmo no requiere estar escrito en un lenguaje de programación en particular, ni siquiera en un lenguaje de programación. Puede ser escrito en nuestro lenguaje natural en la forma de una secuencia de oraciones que realiza una serie de actividades. Se conoce a un algoritmo escrito en lenguaje natural como <strong>pseudocódigo</strong> (<em>pseudocode</em>). Una vez que se tiene la idea clara de los pasos a ejecutar, el algoritmo puede escribirse en el lenguaje de programación de tu elección.</p>
<div class="endnote">¿Cuál es el propósito del "pseudocódigo"? "Pseudo" significa, literalmente, "falso o irreal"; ¿Por qué escribir un algoritmo en nuestro lenguaje natural en lugar de uno tan preciso como Snap<i>!</i>? Si fueras a programar utilizando un lenguaje cargado de puntuación, diseñar tu programa en pseudocódigo te ayudaría a enfocarte en las ideas más importantes en lugar de los detalles como los signos de puntuación o un punto y coma. Sin embargo, el pseudocódigo no es tan necesario en un lenguaje como Snap<em>!</em>. Además, el pseudocódigo puede hacer que te hagas ilusiones acerca de lo que es capaz de hacer una computadora (como por ejemplo, "Selecciona los números ganadores para la lotería de mañana; anótalos y compra el billete de lotería" o "Aquí está la melodía; escribe la armonía").</div>
</div>

<div class="forYouToDo">
<ol start="8">
<li>(Autoevaluación en español próximamente.)</li>
</ol>
</div>


<div class="takeItTeaser">
<img class="px-4" src="/bjc-r/img/1-introduction/Malevich/malevich01.png" alt="Arte en Snap! inspirado por el arte de Malevich" title="Arte en Snap! inspirado por el arte de Malevich">
<img class="px-4" src="/bjc-r/img/1-introduction/Malevich/malevich02.png" alt="Arte en Snap! inspirado por el arte de Malevich" title="Arte en Snap! inspirado por el arte de Malevich">
Expand Down
113 changes: 60 additions & 53 deletions cur/programming/1-introduction/3-drawing/1-exploring-motion.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,67 +38,16 @@ <h2>Exploring Motion</h2>
<p><strong>On this page,</strong> you will explore the basics of drawing a shape in Snap<em>!</em> by using the <code>repeat</code> block to loop through the same code multiple times.</p>
</div>

<!-- We've gone back and forth on this, and we're out of time. This version still reads like an informal soap box and not like a curriculum. We can discuss it more after the standards go in. --MF, 9/2/19
-->
<div class="vocabFullWidth AP-only"><strong>: Algorithm</strong> and <strong>Pseudocode</strong>
<div class="ap-standard">AAP-2.A.1, AAP-2.A.2, AAP-2.A.3</div>
<p>An <strong>algorithm</strong> is a sequence of steps that are usually performed by a computer. The algorithm doesn't have to be written in any particular programming language or even in a programming language at all; you can write your algorithm in English or any other human language. Some people call an algorithm written in human language <strong>pseudocode</strong>. Once you know the steps that the computer will take, you can code your algorithm in the programming language of your choice.</p>
<div class="endnote">What's the purpose of "pseudocode"? Why write an algorithm vaguely in English when you could write it precisely in Snap<em>!</em>? If you were programming in a punctuation-heavy language, designing your program in pseudocode would help you focus on the important ideas instead of on details like quotation marks and semicolons. But pseudocode isn't as necessary with a language like Snap<em>!</em>, and pseudocode can make it easy for you to fall into wishful thinking about what the computer is capable of (such as writing "Pick tomorrow's winning lottery numbers" or "Here's the melody; write the harmony").</div>
</div>


<div class="forYouToDo" id="first">
<div class="ap-standard">AAP-2.A, AAP-3.A part b</div>
<ol>
<li>
<!-- Question 1 -->
<div class="assessment-data" type="multiplechoice" identifier="Which of the following are examples of algorithms?"
hasinlinefeedback="true" maxchoices="1" responseIdentifier="ri1" shuffle="true">
<div class="prompt">
<div class="ap-standard">AAP-2.A</div>
Which of the following are examples of algorithms?
</div>
<div class="choice" identifier="c1">
<div class="text">Snap<em>!</em> code that adds two numbers together.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c2">
<div class="text">Directions for how to get from one point to another on a map.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c3">
<div class="text">A sequence of different moves you do in a video game.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c4">
<div class="text">A recipe to bake a cake with precise measurements and instructions.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c5">
<div class="text">All of the above.</div>
<div class="feedback">
Correct! All of these are algorithms, or sequences of steps.
</div>
</div>
<div class="responseDeclaration" identifier="ri1">
<div class="correctResponse" identifier="c5"></div>
</div>
</div>

</li>

<li>
<img class="inline" src="/bjc-r/img/icons/work-with-a-partner.png" alt="Work with a Partner" title="Work with a Partner" />
<img class="inline" src="/bjc-r/img/icons/write-out-thoughts.png" alt="Write Out Your Thoughts" title="Write Out Your Thoughts" />
Describe what this algorithm will make the sprite do:<br />
<img class="indent" src="/bjc-r/img/1-introduction/repeat-4(move-100-turn-right-90).png" alt="repeat (4) (move (100), turn clockwise (90))" title="repeat (4) (move (100), turn clockwise (90))" />
<div class="sidenote">An <strong>algorithm</strong> is a sequence of steps that are usually performed by a computer.</div>
</li>
<li>Log in to <a href="http://snap.berkeley.edu/run" title="Snap! Build Your Own Blocks" target="_blank">Snap<em>!</em></a> and build that script to test your hypothesis.<br />
<ol>
Expand Down Expand Up @@ -170,6 +119,64 @@ <h3 class="box-head">Using Visible Stepping</h3>
</li>
</ol>
</div>

<div class="vocabFullWidth AP-only"><strong>: Algorithm</strong> and <strong>Pseudocode</strong>
<div class="ap-standard">AAP-2.A.1, AAP-2.A.2, AAP-2.A.3</div>
<p>An <strong>algorithm</strong> is a sequence of steps that are usually performed by a computer. The algorithm doesn't have to be written in any particular programming language or even in a programming language at all; you can write your algorithm in English or any other human language. Some people call an algorithm written in human language <strong>pseudocode</strong>. Once you know the steps that the computer will take, you can code your algorithm in the programming language of your choice.</p>
<div class="endnote">What's the purpose of "pseudocode"? Why write an algorithm vaguely in English when you could write it precisely in Snap<em>!</em>? If you were programming in a punctuation-heavy language, designing your program in pseudocode would help you focus on the important ideas instead of on details like quotation marks and semicolons. But pseudocode isn't as necessary with a language like Snap<em>!</em>, and pseudocode can make it easy for you to fall into wishful thinking about what the computer is capable of (such as writing "Pick tomorrow's winning lottery numbers" or "Here's the melody; write the harmony").</div>
</div>

<div class="forYouToDo">
<ol start="8">
<li>
<!-- Question 1 -->
<div class="assessment-data" type="multiplechoice" identifier="Which of the following are examples of algorithms?"
hasinlinefeedback="true" maxchoices="1" responseIdentifier="ri1" shuffle="false">
<div class="prompt">
<div class="ap-standard">AAP-2.A.1</div>
Which of the following are examples of algorithms?
</div>
<div class="choice" identifier="c1">
<div class="text">Snap<em>!</em> code that adds two numbers together.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c2">
<div class="text">Directions for how to get from one point to another on a map.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c3">
<div class="text">A sequence of different moves you do in a video game.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c4">
<div class="text">A recipe to bake a cake with precise measurements and instructions.</div>
<div class="feedback">
This is an example of an algorithm, but it's not the only one on this list.
</div>
</div>
<div class="choice" identifier="c5">
<div class="text">All of the above.</div>
<div class="feedback">
Correct! All of these are algorithms, or sequences of steps.
</div>
</div>
<div class="responseDeclaration" identifier="ri1">
<div class="correctResponse" identifier="c5"></div>
</div>
</div>

</li>
</ol>
</div>



<div class="takeItTeaser">
<img class="px-4" src="/bjc-r/img/1-introduction/Malevich/malevich01.png" alt="Snap! art inspired by Malevich art" title="Snap! art inspired by Malevich art" />
<img class="px-4" src="/bjc-r/img/1-introduction/Malevich/malevich02.png" alt="Snap! art inspired by Malevich art" title="Snap! art inspired by Malevich art" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,14 @@ <h3 class="box-head">Depurando con el bloque <img src="/bjc-r/img/2-complexity/D
</li>
</ol>
</div>

<div class="forYouToDo">
<ol start="9">
<li>(Autoevaluación en español próximamente.)</li>
</ol>
</div>


<div class="takeItTeaser">
<img src="/bjc-r/img/1-introduction/alphie-small.png"
alt="art loosely inspired by Alma Thomas" title="art loosely inspired by Alma Thomas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Expand Down
Loading

0 comments on commit a194fb0

Please sign in to comment.