Student of the Week: From drag-and-drop to NASA

image

image

Lauren Egts
10th grade
Beachwood, OH

A guinea pig — yes, a guinea pig — got Lauren into computer science. Her very first project was building a game called “The Great Guinea Pig Escape” with MIT’s Scratch. From there, she experimented with Raspberry Pi and discovered her passion for also introducing younger kids to computer science!

At last year’s Cleveland Maker Faire, where 9th-grade Lauren was sharing her skills with other students, she stumbled upon a computer scientist from NASA who invited her to help out his team. Last summer, she worked exploring the potential of low-cost computing devices for NASA. This year, she’s taking AP Computer Science and recently won a NCWIT Ohio Affiliate Award. Wow.

What’s next for you?
I know that I want to work with computers, but there’s so many different applications of computing that I flat out don’t know what to do! I’m on a robotics team and I’m having a lot of fun programming the ‘bot in Java. I’ve worked at NASA on a Raspberry Pi Video Wall and I got to use a good amount of hardware and software there. I liked them both equally! That just makes it harder!

What would you tell other students about computer science?
I would tell them that it’s a lot of fun, because it is! If you see what cool projects people have come up with, it’s easy to get inspired to create something with code!

Even a quick search of YouTube can yield amazing videos of the awesome things that people have done! Maker Faires are especially great because there you can meet adults that are successful computer scientists and potential mentors. Don’t be afraid to talk to people and tell them what you can do.

Even if you don’t know a lot about programming, it’s easy to get started with a visual programming language, because you don’t have to memorize a ton of syntax and commands. Use your intuition and get started right away!

We’re sharing this story as part of our new Student of the Week series. Kids in cities and towns around the world who are changing the face of computer science. Do you teach a rockstar student? Nominate them to be a Code.org Student of the Week.

//collar_140916c
ArrayList<PointPosition> pointPosition = new ArrayList();
int threshold, pModifier;
boolean alternate = true;
int[] directions = {
  (width*-1)-1,
  (width*-1)+1,
  width+1,
  width-1
};

void setup() {
  size(500, 750);
  frameRate(24);
  threshold = 135;
  startScatter();
}

void draw() {
  fill(0,5);
  rect(-2,-2,width+2,height+2);  
  int i = 0;
  for(PointPosition p:pointPosition){
    i++;
    p.tpos.x = p.tpos.x+cos(millis()/TAU)*width/i*TAU;
    p.tpos.y = p.tpos.y+sin(millis())*width/i*12;
    p.update();
    p.render();
  }
 
  loadPixels();
    for (int k=width+1; k<width*height-width-1; k++){
      pModifier = directions[int(random(directions.length))];
      if (brightness(pixels[k]) < threshold){
        pixels[k-width] = color(
          int(red(pixels[k+width])),
          int(green(pixels[k+width])),
          int(blue(pixels[k+width])),
          int(brightness(pixels[k-width]))
        );
      } else if (brightness(pixels[k]) == threshold) {
        pixels[k-pModifier] = color(
          int(red(pixels[k+pModifier])),
          int(green(pixels[k+pModifier])),
          int(blue(pixels[k+pModifier])),
          int(brightness(pixels[k-pModifier]))
        );
      } else {
        pixels[k-1] = color(
          int(red(pixels[k+width])),
          int(green(pixels[k+1])),
          int(blue(pixels[k+1])),
          int(brightness(pixels[k-1]))
        );
      }
    }
  updatePixels();
  threshold = setThreshold(threshold,1,153);
}

int setThreshold(int threshold, int minThreshold, int maxThreshold) {
  if (threshold <= maxThreshold && threshold >= minThreshold && alternate) {
    threshold++;
  } else if (threshold <= maxThreshold && threshold >= minThreshold) {
    threshold—;
  } else if (alternate) {
    threshold = maxThreshold;
    alternate = !alternate;
  } else {
    threshold = minThreshold;
    alternate = !alternate;
  }
  return threshold;
}

class PointPosition {
  PVector pos = new PVector();
  PVector tpos = new PVector();
  void update(){
    pos.lerp(tpos,0.01);
  }
  void render(){
    stroke(255,5);
    point(pos.x,pos.y);
    line(pos.x,pos.y,tpos.x,tpos.y);
  }
}

void startScatter(){
  for (int i=0; i<width*10; i++) {
    PointPosition p = new PointPosition();
      p.pos.x = width/2;
      p.pos.y = height/2;
      p.tpos.x = width/2+cos(i)*width/3;
      p.tpos.y = height/2+sin(i)*width/3;
    pointPosition.add(p);
  }
}

Watch on rhydonal.tumblr.com

Reblog and I will love you. Forever. Sexually.

Win a download code for the early access demo of Super Smash Bros. for 3DS. Less than two hours until the competition closes.

Text
Photo
Quote
Link
Chat
Audio
Video