Resources

https://goo.gl/1uGAh1


Course Management:


Google Drive - https://drive.google.com


Creativity:

Access Using Konami Codes ^ ^ V V < > < > b a - http://konamicodesites.com/


Artistic Expression - 


Color Scheme Creator - http://colorschemedesigner.com/






Industrial Light and Magic - http://www.ilm.com/


Presentations Using Technology - http://mrdoob.com/#/148/aaronetrope





Solar Vehicle - http://www.umnsvp.org/




Virtual Flight in the Clouds - http://mrdoob.com/#/131/clouds


Abstraction:

Data:




Analysis through Programming - http://introcomputing.org/

Annual Income by Occupation - http://www.bls.gov/oes/current/oes_nat.htm







Fantasy Football Leaders - http://games.espn.go.com/ffl/leaders





Most Popular Websites - http://moz.com/top500



Algorithm, Data, Internet, Program - NGram for These Terms

Quora: Where can I find large datasets open to the public? - http://www.quora.com/Where-can-I-find-large-datasets-open-to-the-public#







Top Grossing Movie Franchises - http://www.the-numbers.com/movies/franchises/




Twitter Popularity - http://twitaholic.com/

US Economic Statistics - http://www.bea.gov/


Visualization Tool - https://gephi.org/



Algorithms:


Programming:













Web Programming - http://jsfiddle.net/


Austin, Lee, Jeffrey, and Diana Using the Playground - Magic Mountain







//*********************************************************
function birthdayCheck(numberOfStudents)
{
  var classSize = numberOfStudents;
  var counter = 0;
  var list = [];
  for (rep = 0; rep < classSize; rep++){
    list.push( Math.floor( 365 * Math.random() ) + 1 );
  }

  for (person = 0; person < list.length - 1; person++){
    for (other= person + 1; other < list.length; other++){
      if ( list[person] == list[other] ){
        counter++;
      }
    }
  }
  return counter;
}

var numberOfClassrooms = 100;
var found = 0;
var students = 10;
for (classroom = 0; classroom < numberOfClassrooms; classroom++){
  var total = birthdayCheck( students );
  if ( total > 0 )
  {
    found++;
  }
}
print(found / numberOfClassrooms );
//*********************************************************
// given an image, change it to grayscale
function makeGray(image)
{
  for (pixel: image) {
    avg = ( pixel.getRed() + pixel.getRed() + pixel.getRed() ) / 3;
    pixel.setRed(avg);
    pixel.setGreen(avg);
    pixel.setBlue(avg);
  }
}

// given an image, draw horizontal white stripes 50 wide
function makeStripes(image)
{
  for (pixel: image) {
    if ( pixel.getY() % 100 < 50 ) {
      pixel.setRed(255);
      pixel.setGreen(255);
      pixel.setBlue(255);
    }
  }
}

// given an image, a grayLevel from 0 to 255, the totalWidth
// and the barWidth, draw verticle bars barWidth wide with
// a total width of picture and bar repetitions of totalWidth
function makeBars(image, barWidth)
{
  for (pixel: image) {
    if ( pixel.getX() % (2 * barWidth) < barWidth ) {
      pixel.setRed(255);
      pixel.setGreen(255);
      pixel.setBlue(255);
    }
  }
}

// given an image, a grayLevel from 0 to 255, the totalWidth
// and the barWidth, draw verticle bars barWidth wide with
// a total width of picture and bar repetitions of totalWidth
function makeVBars(image, grayLevel, totalWidth, barWidth)
{
  for (pixel: image) {
    if ( pixel.getX() % totalWidth < barWidth ) {
      pixel.setRed(grayLevel);
      pixel.setGreen(grayLevel);
      pixel.setBlue(grayLevel);
    }
  }
}

// given an image, make the image darker by cutting all of
// the red, green, and blue pixel values in half
function darken(image)
{
  for (pixel: image) {
    pixel.setRed( pixel.getRed() / 2 );
    pixel.setGreen( pixel.getGreen() / 2 );
    pixel.setBlue( pixel.getBlue() / 2 );
  }
}

// given and image and a percent for image modification,
// change the brightness of image by percent
function darkenBrighten(image, percent)
{
  for (pixel: image) {
    pixel.setRed( pixel.getRed() * percent );
    pixel.setGreen( pixel.getGreen() * percent );
    pixel.setBlue( pixel.getBlue() * percent );
  }
}

image = new SimpleImage("abby.jpg");

//makeGray(image);
//makeStripes(image);
//makeBars(image, 20);
//makeVBars(image, 200, 120, 15);
//darken(image);
//darkenBrighten(image, 2.0);
print(image);
//*********************************************************
image = new SimpleImage("abby.jpg");

maxNumberOfVertices = 20;
numberOfVertices = 3;
maxIterations = 10000;  // number of points plotted
dim = getMinDimension(); // dim is minimum of image height, width
magnification = 0.9; // fraction of dim / 2 used for plot
plotRatio = 0.5; // fraction of distance from curr. pt. to vertex
xUnit = magnification * (dim / 2);
yUnit = xUnit; // number of pixels for 1 unit of distance

color = new Array(maxNumberOfVertices); // color for each vertex
for (rep = 0; rep < maxNumberOfVertices; rep++){
  color[rep] = new Array(3);
}
color[0] = [58, 178, 58]; // each color is an array of 3 integers
color[1] = [255, 195, 155]; // in [0, 255] for red, green, and blue
color[2] = [255, 188, 255];
color[3] = [255, 111, 255];
color[4] = [138, 111, 226];
color[5] = [100, 55, 180];
color[6] = [0, 155, 255];
color[7] = [0, 255, 255];
color[8] = [155, 155, 155];
color[9] = [255, 155, 255];
color[10] = [200, 055, 155];
color[11] = [55, 55, 255];
color[12] = [55, 255, 155];
color[13] = [0, 0, 55];
color[14] = [0, 0, 55];
color[15] = [0, 0, 255];
color[16] = [0, 255, 0];
color[17] = [255, 0, 155];
color[18] = [55, 155, 155];
color[19] = [55, 55, 255];

function setVerticies()
{
  vertex = new Array(numberOfVertices); // array for vertex coords
  for (rep = 0; rep < numberOfVertices; rep++){
    vertex[rep] = new Array(2); // array of 2 coordinates per vertex
  }
  vertex[0][0] = 0.0;        // x = x'cosT - y'sinT
  vertex[0][1] = 1.0;        // y = x'sinT + y'cosT
  angle = 2.0 * Math.PI / numberOfVertices;
  theta = angle; // rotate vertex[0] theta to obtain other vertices
  for (rep = 1; rep < numberOfVertices; rep++){
    vertex[rep][0] = vertex[0][0] * Math.cos(theta) - 
                     vertex[0][1] * Math.sin(theta);
    vertex[rep][1] = vertex[0][0] * Math.sin(theta) + 
                     vertex[0][1] * Math.cos(theta);
    theta += angle;
  }
    
  currVx = vertex[0][0];   // inital point for start of game
  currVy = vertex[0][1];
  nextVx = currVx;
  nextVy = currVy;
}

function getMinDimension()
{
  if (image.height < image.width) // use min of height and width
    return image.height;          // for image dimension in order
  return image.width;             // to fit within the given image
}

function convertImageToWhite()
{
  for (pixel: image) { // set RGB value to 255 for all pixels
    pixel.setRed(255);
    pixel.setGreen(255);
    pixel.setBlue(255);
  }
}

function getNextCoordinate(next, vert, plotRatio)
{ // add to the current coordinate the plotRatio
  // of the distance to the chosen vertex
  return next + (vert - next) * plotRatio;
}
function drawPixel(pix, col)
{
/* create math fucntions for calculating color based on col
  red = Math.floor( 3.5 * pix.getX() * (1+col)  % 256 );
  green = Math.floor( 6.5 * pix.getX() * (1+col)  % 256 );
  blue = Math.floor( 8.5 * pix.getX() * (1+col)  % 256 );
  pix.setRed(red);
  pix.setGreen(green); 
  pix.setBlue(blue);
*/
  pix.setRed(color[col][0]);
  pix.setGreen(color[col][1]); // use preset color values
  pix.setBlue(color[col][2]);
}

function convertCoordToXPixel( coord )
{
// convert coord to pixel value for creative displays
  return image.width / 2 + 1.5*Math.sqrt(coord*coord)*xUnit*coord;
//  return image.width / 2 + xUnit * coord; // traditional
}

function convertCoordToYPixel( coord )
{
// convert coord to pixel value for creative displays
  return image.height / 2 - 1.1*Math.sin(1.2*Math.PI*coord) *
                                               yUnit * coord;
//  return image.height / 2 - yUnit * coord; // traditional
}

convertImageToWhite();
setVerticies();

for (rep = 0; rep < maxIterations; rep++) {
  vert = Math.floor( Math.random() * numberOfVertices );
  currVx = getNextCoordinate(currVx, vertex[vert][0], plotRatio);
  currVy = getNextCoordinate(currVy, vertex[vert][1], plotRatio);
  pixelX = Math.floor( convertCoordToXPixel(currVx) );
  pixelY = Math.floor( convertCoordToYPixel(currVy) );
  if (pixelX >= 0 && pixelX < image.width &&
      pixelY >= 0 && pixelY < image.height )
  {
    pixel = image.getPixel(pixelX, pixelY );
    drawPixel(pixel, vert);
  }  
}

print(image);
//*********************************************************

Internet:





Does the Web Matter Anymore? - http://www.wirfs-brock.com/allen/posts/459





Kickstarter Funding - https://www.kickstarter.com/hello






Scavenger Hunt - Internet Scavenger Hunt





What is the Internet?: Children's Book - http://www.20thingsilearned.com/en-US


Impact:








Blown To Bits Book - http://www.bitsbook.com



Capturing Life: Motorcycle Chase - http://www.liveleak.com/ll_embed?f=f46b6174f7b7




Computer Software for Testing Chimp Intelligence - http://www.bbc.co.uk/nature/16832379

Computing Innovators - Awardees 2011





Diversity Breeds Success: Jobs and Wozniak - Jobs












Music Access - Grooveshark



Movies and Computers



















Wolfram: Teaching Math with Computers - http://www.youtube.com/watch?v=60OVlfAUPJg#t=608

Why Computer Science? - http://www.whycomputerscience.com/



NPHS Creativity:





How the Internet Works - Take 1


Cleaning Up Photos - Original

Fractals - Red Dot


Green Screen Programming



Subpages (1): Journal Intructions
Comments