Category Archives: Computer Science

Make Code Radio Communication

Every microbit has a 2.4 GHZ radio module bulit into the CPU.

Below is demo of what we are going to do in this short tutorial–send a number of radio waves from one microbit to the other:


Microbit 1: The Sender

Radio Group. Both microbits must be set to the same group number. I chose the number 5. Just make sure you set that first (on start).


Microbit 2: The Receiver

Most common error is not setting the same radio group on both microbits.

Mars : Missions

Start Coding here : https://makecode.microbit.org/

How to do common stuff with MakeCode

The Missions  

Topics/Links : On Start Show String

Stuck? Check out this code


Topics/links : Button A

Stuck? Check out this code


Topics/links : Button A , if / else , set variable

Stuck? Some of the code


Topics/links : Shake Event, if else , set variable to random ,

NOTE: Please make sure you save a copy of Mission 4. Don’t lose it! (We might use it later)

Result :


Code for Forever loop/ plot bar graph/acceleration


This is a 2-parter. Part I involves upgrading the Mission 4 scout

Topics/links for Part I : Shake Event , Radio Communication Full Example

Topics/links : Shake Event , set radio group, on radio receive , on radio receive number if/else Radio Communication Full example

Winter Break Themed

Use onshape to generate a winter themed 3-d drawing. The more complex, the more points.

Ideas include : snowflake, snowman, Hanukkah candles, christmas tree with presents

Example of 5 out of 5 initial outline

winter-themed-onshape_5

Example of 3 out of 5

winter-themed-onshape_3

 

 

Some good actual examples of completed projects

snowflake extruded

Variable in onShape Do Now

 

Step 1) Create a 25, 30  , 40 and 42 MM circles all centered at the orig

multi-coincidental

Step 2) Add a single circle on the right that has a radius of 35.

multi-coincidental3

 

Step 3) connect centers with construction line. Make sure that the blue lines are coincidental to the circles

multi-coincidental4

tip: if you draw a line , you can use the ‘q’ button to change it to a construction line!

Step 4) Make the blue lines symmetric to the construction line and at a 9 degree angle

multi-coincidental5

Step 5) The center of the circles should be dimensioned to 44:

multi-coincidental6

Step 6)  Each part of the circle on the left should be an extrude. The outermost starts at 10MM, then 15MM, 20, 25 MM:

multi-coincidental7

Step 7) Connect the two end circles with a 2 MM extrude. The right side is 25 MM:

multi-coincidental9

 

 

Step 8)create the variable as shown below:fillet-amount

Step 9)  Add a fillet to all the circles edges. Set its amount to the variable len as shown. This video shows you how to use a variable and then change the variable:

vriable-for-fillet-val

 

 

Angles w Fillet

Workspace Units: MM, use the front plane

Step 1) Create 2 line segments, centered at the origin (as always) and dimension them to 10 MM each

10MM each

step 2)  These should be angled at 45 degrees

45degree angle

Step 3) Add a 12 and 9 MM segments :

12 and 9 segments

Step 4)  Dimension the 2 angles to 140:

140each

step 5) Connect with a tangent arc

connectwtangentarc

Step 6)  Add a 5 MM symmetric extrude

5mmsymmetric

Step 7)  Fillet the Edge of Extrude 1 in these 3 places:

filletasshown

Step 8)  Final Filletted version:

final-filleted-version

 

 

Array Fun 2 [2025]

Complete all the methods below. When you are done, copy and paste the    testmethods.v5.1  into your class and run it to see if you have any obvious errors.  The above code does not guarantee you a 100 but will help catch most of the common errors that students make.

Note: You may not use any external libraries (like Java.Arrays etc )or import any code. Everything can be done with just loops and variables.

int sumEveryN(int[] nums, int n)

Description:This method returns the sum of every n  elements of nums ..

Method Call return value/output
sumEveryN( {1 , 2 , 3 , 4 }, 2 ) 4( ie 1 +3)
sumEveryN( {13 , 42, 15, 33 , 44 , 16 , 52} ,3) 98 ( ie 13 + 33+ 52)

String[] doubleArr(String[] strs)

Description: This method returns a new version of strs  in which each element now appears twice. This can be done with a for-each loop, which I believe is easier and more intuitive.

Method Call return value/output
doubleArr( {“a”,”b”,”c”} ) {“a”,”a”,”b”,”b”, “c” , “c”}
doubleArr( {“math”,”ware”,”house”,”.com” }) {“math”,”math”,”ware”,”ware”,”house”,”house”,”.com”, “.com”}

int  indexOf5(int[] nums )

Description:This returns the index of the first occurrence element 5  or -1 if 5 does not appear anywhere in the array.

Method Call return value/output
indexOf5( { 2 , 3 , 5 , 4 } ) 2
indexOf5( { 2 , 3 , 5 , 4, 5  } ) 2
indexOf5( { 2 , 3 ,7  , 4, 3,   } ) -1

More Sample calls and return vals

screenshot.41


int indexOf(int[] nums, int num)

Description: This method returns the index value of the first appearance of num  or -1 if num  is not an element of nums  .

Method Call return value/output
indexOf( {6,4 ,7,3, 4 }, 4) 1
indexOf( {6,4 7 ,3,2,7}, 7) 2
indexOf( {6,4 ,2,3}, 22) -1

 


int[] randos(int start, int end, int howMany)

Description:  This method returns an array of random numbers between [start,end] . Note make sure that each element in the new array attempts to make a new random int.  Use Math.random() , do not use any other mechanism for finding a random number. 

 randos_loop
 More example calls and returns :
randos2

double meanBetween(int[] nums, int min, int max)

Description:  This method returns the mean of nums  ; however, this method only counts values within the range (min,max) as shown in the examples below:

screenshot.12
(Not inclusive, so do not count min  or max  )

Old versions:

Array Fun 1 

Array F un 2 (v 1)

 

Array Fun 3 (resizing included)