Skip to content

Commit

Permalink
Prepping for labs+Rockscout+Hubble (#6503) (#6504)
Browse files Browse the repository at this point in the history
  • Loading branch information
kiki-lee authored Sep 19, 2024
1 parent 0af4e53 commit f7e6156
Show file tree
Hide file tree
Showing 40 changed files with 7,090 additions and 19 deletions.
34 changes: 17 additions & 17 deletions docs/courses/csintro.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# CS Intro
# Introduction to Computer Science with MakeCode Arcade

A collection of courses meant to teach introductory programmers using Blocks and JavaScript
Hello! Welcome to the new student guide for "Introduction to Computer Science with MakeCode Arcade"!

This page will provide you with additional activities that you can complete in order to better understand the lessons in the official curriculum. Please note, this page does not contain any answer keys or exemplar projects.

### ~hint

These courses are currently in beta - this means that they are likely to have bugs and changes made fairly regularly. If you see anything that doesn't seem quite right, or if you have any suggestions, please file an issue on [github](https://github.com/microsoft/pxt-arcade).
If you are looking for our previous "CS Intro" course, you may now find that at:"
https://arcade.makecode.com/courses/csintro-archive

### ~

## Courses on Flipgrid

Flipcode for the **Intro to CS** course grid: **[csintroarcade](https://flipgrid.com/csintroarcade)**

## Course Sections
## Unit 0 Activities

```codecard
[
Expand All @@ -35,23 +35,23 @@ Flipcode for the **Intro to CS** course grid: **[csintroarcade](https://flipgrid
]
```

## About the CS Intro Series
## Unit 1 Activities

The CS Intro Series is designed to teach new developers how to code from the ground up.

In CS Intro 1, students are introduced to programming through the MakeCode Blocks editor. They can create their own games, while learning concepts that are crucial to software development: creating variables, responding to events, and using iteration to simplify and extend their programs. Throughout the course, they will learn to develop their own games through small daily tasks, as well as projects that guide them through the process of turning basic ideas into full-fledged games.

In CS Intro 2, students will continue to develop the software development skills they were introduced to in the first course, with more advanced programming concepts such as functions, logical comparisons, and arrays. These new skills will allow students to create more advanced and compelling games.
## Unit 2 Activities



## Unit 3 Activities



### ~hint

In the future CS Intro 3 and CS Intro 4 courses, students will transition the skills they have learned in a Block based environment into skills in a text based coding environment, allowing them to dig deeper into the games they make, as well as transition their skills in the @boardname@ into other environments.

### ~

## See also

[Courses Home Page](/courses),
[CS Intro 1](/courses/csintro1),
[CS Intro 2](/courses/csintro2),
[CS Intro 3](/courses/csintro3)
[Arcade Tutorials](/tutorials),
[Beginner Skillmaps](/beginner-maps),
223 changes: 223 additions & 0 deletions docs/courses/csintro/unit-0/s01-lab0006.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
# Lab 0.6: Self-portrait

## It's all about you! @showdialog

In this tutorial, you will continue your exploration of MakeCode Arcade,
creating a simple "self-portrait" to introduce yourself to your instructors
and your classmates.

## Bell ringer @showdialog

**How would you fill in this sentence? I am ______.**

This could be answered in many ways:

1. What you enjoy doing: I am *a musician*.
1. Physically: I am *tall*.
1. Personal characteristic: I am *funny*.
1. Career aspirations: I am *an engineer*.
1. Self-reflective: I am *a deep thinker*.
1. As an athlete: I am *a runner*.

Want some other ideas?

**Complete this sentence: I like ______.**

Take a few minutes to think who you are and what you like,
and write down a few of them.
You will use these descriptions shortly!

## Set the scene!

In this tutorial, you will be adding blocks to your
``||loops(noclick):on start||``
container.

- From the
``||scene:Scene||``
drawer, set the background color.

View the hint by selecting the light bulb below
if you need to see an example of the code that you are building.

```blocks
scene.setBackgroundColor(7)
```

## Here I am!

Now, let's add your avatar. An **avatar** is an image that represents
someone or something.

1. From the
``||sprites:Sprites||``
drawer, create a new sprite that represents you.
1. Give your sprite an image that represents you.
**Do not** use an existing image from the gallery.

View the hint by selecting the light bulb below
if you need to see an example of the code that you are building.

```blocks
scene.setBackgroundColor(7)
// @highlight
let mySprite = sprites.create(sprites.builtin.cat0, SpriteKind.Player)
```

## You don't say!

Now, let's have your avatar say some facts about you.

- Using a block in the
``||sprites:Sprites||``
drawer, make the sprite "say" several things about you, including:
1. Your name and grade
**Internet safety note**: When creating projects
that may be shared on the Internet,
**only** use your given (first) name.
**Do not** use your first and last names.
1. At least three things from the bell ringer activity.
1. "Goodbye!"

View the hint by selecting the light bulb below
if you need to see an example of the code that you are building.

```blocks
scene.setBackgroundColor(7)
let mySprite = sprites.create(img`
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . . 5 5 . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . 5 5 . . . . . . .
. . . . . . . 5 5 . . . . . . .
`, SpriteKind.Player)
mySprite.sayText("My name and grade")
mySprite.sayText("Fact #1")
mySprite.sayText("Fact #2")
mySprite.sayText("Fact #3")
mySprite.sayText("Goodbye!")
```

## Too fast!

Is the sprite saying your facts too quickly?

- Add a
``||loops:pause (100) ms||``
block after any
``||sprites(noclick):say||``
block that goes too quickly.
- Adjust the length of the pause by changing the value
in the ``||loops(noclick):pause||`` block.

```blocks
scene.setBackgroundColor(7)
let mySprite = sprites.create(img`
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . . 5 5 . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . 5 5 . . . . . . .
. . . . . . . 5 5 . . . . . . .
`, SpriteKind.Player)
mySprite.sayText("My name and grade")
pause(1000)
mySprite.sayText("Fact #1")
pause(1000)
mySprite.sayText("Fact #2")
pause(1000)
mySprite.sayText("Fact #3")
pause(1000)
mySprite.sayText("Goodbye!")
```

## Whoops! Wrong spot!

Let's move your avatar elsewhere on the screen.

- Using the coordinate system that you learned in Lab 0.5,
move the sprite to a different location on the screen.
- Use a block in the ``||sprites:Sprites||`` drawer to do so.
- Be sure to place the block in the correct place.
Where does it need to go?

View the hint by selecting the light bulb below
if you need to see an example of the code that you are building.

```blocks
scene.setBackgroundColor(7)
let mySprite = sprites.create(img`
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . 5 5 5 5 5 5 5 5 5 5 . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . 5 5 5 5 5 5 5 5 . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . 5 5 5 5 5 5 . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . 5 5 5 5 . . . . . .
. . . . . . . 5 5 . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . 5 5 . . . . . . .
. . . . . . . 5 5 . . . . . . .
`, SpriteKind.Player)
// @highlight
mySprite.setPosition(80, 60)
mySprite.sayText("My name and grade")
pause(1000)
mySprite.sayText("Fact #1")
pause(1000)
mySprite.sayText("Fact #2")
pause(1000)
mySprite.sayText("Fact #3")
pause(1000)
mySprite.sayText("Goodbye!")
```

## Congratulations! @showdialog

If there is time left, you can add more actions to your program!

Here are some ideas.

- Instead of just appearing in a different position on the screen,
have the sprite move smoothly.
- Add a second sprite which also talks to the player.
- Make the sprite only talk when the player hits a button.

Follow your instructor's directions to submit your project.

```ghost
scene.setBackgroundColor(7)
let mySprite = sprites.create(sprites.builtin.cat0, SpriteKind.Player)
mySprite.sayText("My name and grade")
mySprite.sayText("Fact #1")
mySprite.sayText("Fact #2")
mySprite.sayText("Fact #3")
mySprite.sayText("Goodbye!")
mySprite.setPosition(80, 60)
```
Loading

0 comments on commit f7e6156

Please sign in to comment.