Blog

Warm up: Zillow Guest

Ms. Martin : October 24, 2010 3:38 pm : 2010 Spring Exploring CS

1. List three things you learned from Nate’s presentation about Zillow and his career.

2. What was the most interesting thing Nate showed or mentioned?

3. List at least three ways in which Zillow.com is different from the websites we are building.

4. Nate showed a tool used to inspect the code of a web page. How is that useful for people who design and build websites?

5. If we could invite a guest speaker to come and talk about anything computing-related, what would you most like to hear about?

Leave a response »

Review Jeopardy

Ms. Martin : October 4, 2010 5:46 pm : 2010 Spring Exploring CS

Here are the questions we used for review jeopardy.

  • Data representation
    • The amount of space a character takes in a text file. – What is 1 byte?
    • 8 bits read together. – What is 1 byte?
    • Roughly one pickup truck’s worth of data if printed out on paper. – What is 1 gigabyte
    • A standard for representing the alphabet using binary. – What is ASCII?
    • 100101 in decimal. – What is 37?
  • Pirates of Silicon Valley
    • The company that represented old-school computing and that Steve Jobs wanted to destroy. – What is IBM?
    • The price paid by Microsoft for an early version of DOS. – “What is $50
    • This happened to Steve Jobs after he threw himself a lavish birthday party. – What is getting fired?
    • The engineer responsible for designing most of Apple’s early computers. – Who is Steve Wozniak?
    • What Paul Allen and Bill Gates licensed to Altair as they formed Microsoft. – What is the BASIC programming language?
  • Buying a computer
    • The platform that has the most software written for it. – What is the Windows PC?
    • The newest version of Microsoft’s operating system. – What is Windows 7?
    • A form factor made popular by Apple for its simplicity. – What is all-in-one?
    • An important component for people who run a lot of large applications at the same time. – What is RAM?
    • The unit of measurement used to say how quickly a drive spins. – What is RPM?
  • Operating Systems
    • A very basic operating system that gets hardware ready for loading a bigger operating system. – What is the BIOS?
    • The three most common consumer Operating Systems in decreasing order of popularity. – “Windows
    • Multiple computer programs running at once. – What is multitasking?
    • An example of a cellphone operating system. – What is Android or iPhone OS or Symbian OS…
    • A piece of an operating system that allows high-level programs to interact with hardware. – What are device drivers?
  • Hardware
    • The component that connects all other computer pieces together. – What is a motherboard?
    • The most fragile computer component. – What is the harddrive.
    • The meaning of a gigahertz. – What is a billion instructions per second?
    • “It can fry electronics components if you work with them on carpet – for example.”
    • The piece of the harddrive that holds magnetically-encoded data. – What is a platter?
  • Wildcard
    • A computer component that brings power to the other components. – What is the power supply?
    • The part of electronics that performs instructions. – What is the processor?
    • A computing professional who may need to access the BIOS. – What is a network administrator?
    • The name of the host on the World Tech Update. – Who is Nick Barber?
    • The way binary is represented on a CD. – What are bumps and grooves?
  • Final Jeopardy
    • The height of a stack of paper printouts of 80gb of data (closest estimate wins!). – What is 4 miles?
Leave a response »

Final Project Topics

Ms. Martin : June 13, 2010 9:04 pm : 2010 Spring Creative Computing 1, 2010 Spring Exploring CS

Find inspiration in UW, CMU, Stanford research.

Artificial Intelligence
- intelligent transport systems
- swarm computing
- automatic image analysis (image search)
- automatic translation
- voice control
- natural language processing
- get ideas from MIT’s CSAIL

Human-Computer Interfaces
- brain-controlled computers
- gesture interfaces (skinput, sixth sense, Natal)

Ubiquitous Computing
- wearable computers
- “Smart grid” (sensors for electrical, power grids; HydroSense)
- RFID applications (“smart tags”, tracking)

Computing law
- laws regulating privacy
- anti-hacking laws

Large-scale computing
- quantum computing
- parallel computing (multi-core, multi-processor)

Computing Concepts
- Moore’s Law
- Agile Software Design
- Cloud Computing (Google docs, GMail, etc)
- Databases (information storage)
- Peer to peer networking (BitTorrent)
- Encryption

Human-based computation (Captcha)

Computing in the developing world

Android OS
Linux

People in computing
- Edsger Dijkstra (algorithms)
- Alan Turing (father of CS)
- Douglas Engelbart (pioneer, invented the mouse)
- Marissa Mayer (early Google employee)

Leave a response »

CSS Cheat Sheet

Ms. Martin : June 9, 2010 9:03 pm : 2010 Spring Exploring CS

This reference was adapted from Dawn Pedersen’s original sheet — thanks!

External Style Sheets

External style sheets must be called from inside an XHTML page using a <link> element, which goes inside the <head> element. External style sheet file names must end in “.css”.

Example:

<head>
<title>An External Style Sheet</title>
<link type="text/css" rel="stylesheet" href="style.css" />
</head>

External style sheets contain only CSS rules. They should never contain any XHTML tags such as <style>.

CSS Rules

All CSS rules are formatted like this:


selector {
    property: value;
}

Example:


p {
    color: #000000;
}

The example above specifies that all text inside paragraph tags should be black.

CSS Classes

CSS classes start the selector with a dot, such as this:


.bluetext {
    color: #0000ff;
}


CSS class allow you to pinpoint a single element for special treatment. For example, if you want only one paragraph to be blue but not all of them, you add the class to the open <p> tag, like this:

<p class="bluetext">

You do not leave the dot in the class name when adding the class to an XHTML element.

Some Beginner’s CSS Rules

Below are some sample property/value combinations. You choose the selector – either a tag like <h1> or a class as mentioned above. The values below can easily be changed to something else in most cases.

Colors

Make Font Color Red
color: #ff0000;

Make Background Color Green
background-color: #00ff00;

Font Styles

Make Font a Sans-Serif Style
font-family: sans-serif;

Make Font a Serif Style
font-family: serif;

Make a Font Bold
font-weight: bold;

Make a Font Italicized
font-style: italic;

Make Text All Uppercase
text-transform: uppercase;

Font Sizes

Make a Font Approximately 12pt
font-size: small;

Make a Font Larger Than the Body Font
font-size: 130%;

Make a Font Smaller Than the Body Font
font-size: 90%;

Text Decorations

Remove an Underline
text-decoration: none;

Add an Underline
text-decoration: underline;

Add an Overline
text-decoration: overline;

Borders

Add a Thin, Dotted, Gray Bottom Border
border-bottom: thin dotted #888888;

Remove a Border Around a Linked Image

img {
border: 0px;
}

Text Positioning

Center-Align Text
text-align: center;

Right-Align text
text-align: right;

Add Spacing Between Lines of Text Within a Block Element
line-height: 20px;

Links

Here’s an example of how to change the color and underline for links in their unvisitedvisitedhover and active states.

Hover means the mouse is on the link but it has not been clicked yet.

Active means the link has just been clicked but the new page has not yet appeared.

a:link {
    color: #000000;
    text-decoration: underline;
}
a:visited {
    color: #444444;
    text-decoration: underline;
}
a:hover, a:active {
    color: #FF3300;
    text-decoration: none;
}
Leave a response »

Getting started with HTML

Ms. Martin : June 7, 2010 4:19 pm : 2010 Spring Exploring CS

We will be using Notepad++, which is linked from the desktop.

A basic web page has head and body elements inside of the html element:

Type out the basic HTML shown above.  Notice that tags open and close containers.  For example, the head starts directly after html starts, contains the title and closes right after that.

When you save this page, make sure it ends in .html (bieber.html, for example).

To see your page in the browser, click on Run in the menu at the top, then select ‘launch in Firefox.’

You should now see the following:

Ok, now it’s your turn!  What information are you going to want to share about your celebrity?  What headings and paragraphs do you need?  What links?  What images?  Take a second to plan and then write out the HTML.

Leave a response »

Intro to HTML

Ms. Martin : June 6, 2010 9:46 pm : 2010 Spring Exploring CS

You will create a single HTML page giving information about your favorite musician, artist, politician, band or actor.  If there’s another type of famous person you’re interested in covering, that’s probably ok.  If you have no idea who to do this assignment about, then do it about The Beatles.  Spend about 30 seconds choosing who it’s about!

The goal of this exercise is to practice basic HTML tags including:

If you can’t remember what the tags do, read more about them at W3Schools.

Your page should have:

  • A title
  • At least three headings
  • At least three paragraphs
  • At least one list
  • At least one image

For this first part, your page should be super boring — black text on white background.  See my example at bieber.html but do NOT start your page by copying mine!  I want you to type out all the tags in Notepad++ on your own.

Leave a response »

Intro to web pages

Ms. Martin : June 3, 2010 9:59 pm : 2010 Spring Exploring CS

As we have just learned, web pages are structured using HTML, styled using CSS and made dynamic using JavaScript.  We’re going to spend some time getting familiar with these three technologies, starting with HTML.

Complete the following to get some familiarity with HTML:

  • Open Firefox (double click the link on your desktop)
  • Visit 3 websites you commonly go to and right click on the page then select ‘View Page Source.’  This will allow you to view the full source of the page.  What are some things the pages have in common?  Differences?
  • In the Tools menu, select Firebug and open Firebug.  This should open a window at the bottom of the open website which shows the page’s code.  Firebug allows you to make immediate modifications to the current web page!  On the left is HTML and on the right is CSS.  Try making some changes.  Can you change the background color of the page?  The title of the page?
Leave a response »

Presentations: Scratch Projects

Ms. Martin : May 26, 2010 6:07 pm : 2010 Spring Exploring CS

Everyone will be presenting their Scratch projects Friday May 28th. I expect all group members to participate. You will need to address the following questions:

  • Who is your team and why did you choose to work on the project you created?
  • What are the goals of your project? (what is the educational aspect?)
  • Who is your target audience?
  • What does your project do (show us a demonstration).
  • What is an interesting problem you had to solve to get your project running (show us the Scratch code)?
  • What was challenging in completing the project.

Your presentation is worth 10 project points and your grade will be based on the completeness and clarity of your answers to these questions.  It is possible to have a great project and do poorly on the presentation or have an incomplete project but a terrific presentation.

Show us how cool your product is!

Leave a response »

Guest Speaker: Ben Slivka

Ms. Martin : May 25, 2010 5:21 pm : 2009 AP CS A, 2010 Spring Exploring CS, Programming Club

We were lucky to have Ben Slivka join us in Exploring Computer Science and AP Computer Science.  Mr. Slivka is a computer scientist who worked at Microsoft from 1985 to 1999 and was involved in several exciting projects there, including starting Internet Explorer.  Since, he has worked at Amazon, started and recently sold Dreambox Learning, and has worked with several non-profits.

Mr. Slivka shared his ideas on the current state of computing technology as well as some of what is to come.  I took some notes as students asked questions and have done my best to recreate some of what was discussed.

Which of the companies you worked in was the most fun?
Mr. Slivka told us that he had the most fun at Microsoft.  Starting Internet Explorer was a creative and innovative endeavor involving great people.  It was a lot of work, too — he told us that 80-100 hour weeks were not uncommon for him!  Mr. Slivka first saw a web browser in 1994 (Mosaic) and knew that it was an exciting development.  In fact, in 1995, he wrote an internal memo on how important the web would become titled “The Web is the Next Platform.”  At the time, there were only a few thousand websites as opposed to today’s tens of millions.

Mr. Slivka worked with Internet Explorer through its third release and grew the team from 7 to 69 engineers.  He shared with us that during his time at Microsoft, a person in the USA was more likely to become a Microsoft millionaire than an NBA player!

Why did you leave Microsoft?
Young Microsoft took lots of risks to become successful but as it has grown, it has become more concerned with protecting its primary products (Windows and Office) rather than innovating.  Around 1999, Mr. Slivka wanted to pursue Internet-related innovations but that was not the direction the company was taking.  The book Breaking Windows covers the time when he was leaving Microsoft and the prologue is online.

Is it scary to talk to company founders like Bill Gates (Microsoft) or Jeff Bezos (Amazon)?
No!  According to Mr. Slivka, companies are a lot less hierarchical now than they were maybe 50 years ago so it’s natural for CEOs to have relatively frequent contact with their employees.  When he was at Microsoft, it was not unusual for him to trade e-mails and have face-to-face meetings with Bill Gates.

What is one of the most exciting ideas in computer science?
Mr. Slivka told us about computational complexity, the study of the difficulty of programming tasks.

Was it difficult to see OS/2 fail after 5 and a half years of work?
Only doing things that will succeed is boring, says Mr. Slivka!  There is a lot more to learn from mistakes than from successes.  It was difficult to see such a big time and energy investment be lost but going through the process of creating the product was valuable.  OS/2 was a joint venture between Microsoft and IBM and their goals were different.

What was the hardest project you were involved in?
The human factor in projects is often the most difficult.  In 1998, Mr. Slivka was asked to take part in designing a new interface for Windows.  He and two others were in charge of the project and there was conflict among the leadership which made it difficult.

What do you think of the iPad?
It’s somewhere between a phone and a laptop and it’s hard to know where it fits in.  It still requires a PC since when turned on it wants to be synced to iTunes.  The device is too heavy but it does have a gorgeous screen.  The brushed aluminum is beautiful but very slippery.  Mr. Slivka sees it mostly as an expensive toy.  He reminded us that computing technology is like grocery store produce in that it has a limited shelf life.  This first version of the iPad is not likely to be popular for long.  The lack of multitasking and virtual memory are real limitations.

Can you comment on the Apple vs. Adobe war?
Apple is playing defense right now by trying to protect their control over all aspects of their products.  The Flash battle is not about security or stability, it’s about market control and — ultimately — dollars.

Which web browser do you use?
IE7 was too slow and Mr. Slivka switched to Firefox.  He does not use Bing.

What do you think about cloud computing?
Offline computing still has a role since there is no pervasive connectivity yet.  If cloud computing means data is never lost, actions can be infinitely undone, groups can collaborate well, no need to worry about installations of software then it’s a great idea but in practice, there is no great implementation yet.  Google Docs doesn’t work well but it’s definitely possible to create a fully-functioning word editor in the cloud some day.

What are the main privacy issues on the Internet?
Mr. Slivka shared his policy: he doesn’t put anything up online that he wouldn’t be ok with being on the New York Times front page.  People should be thoughtful about what they share and market forces will work to punish companies that don’t respect privacy well enough.  In his opinion, the government is getting involved because it’s currently on people’s mind and will help politicians win elections.

What will Google look like in the next few years?
Google is now suffering from the same problem as Microsoft: Microsoft has revenue from Windows and Office and wants to protect those while Google has Search and AdWords and wants to protect those revenue streams.  Google’s challenge will be innovating beyond search and ads while making sure they can maintain their dominance as products like Bing get significant investment.  Their current strategy is to be everywhere (Android, Chrome, etc) and make Google the preferred platform so they can protect their search and ad dominance.

Leave a response »

Software Engineering Project Rubric

Ms. Martin : May 12, 2010 8:31 pm : 2010 Spring Exploring CS

Elevator Pitch (4 points)

__/2 – Good faith effort turned in
__/2 – Short yet comprehensive

Proposal (25 points)

__/5 – Good faith effort turned in
__/3 – Detailed and coherent
Reader can imagine the final product. Each scene and sprite is briefly described. The goals of the product are clear. Each section goes into detail and the sections don’t contradict each other.
__/3 – Executive Summary (1 or 2 paragraphs)
Catchy description of the need or problem the product will address and who the product is aimed to. Brief description of the product and the group.
__/2 – Statement of Need (1 or 2 paragraphs)
Who will use your product? What will it do for that person? How is your product better than competitors’ ?
__/3 – Project description (1 page)
All sprites and scenes are identified. Game play or animation sequence is clearly described either as a list or in prose. Details are given about the mood of each scene and interaction with the user.
__/2 – Group information (1 or 2 paragraphs)
Why is your group the right group to create this product? What does each member bring to the table?
__/3 – Implementation plan (variable length)
Who will do what? How will you budget your time? What do you want to accomplish by the deadline (it can be a portion).
__/2 – Evaluation plan (1 or 2 paragraphs)
How would you know whether your product is enjoyable and addresses the identified needs?
__/2 – Conclusion (1 or 2 paragraphs)

Storyboard (15 points)

__/10 – Good faith effort turned in
__/2 – Coherent
Transitions between scenes are clear. The story doesn’t contradict itself.
__/3 – Detailed
Enough information for someone to recreate the game or animation and to know when there will be user input.

Final Product (20 points)

__/10 – Good faith effort turned in
__/5 – Follows proposal or proposal modified
The product is recognizable from the original proposal or a revised proposal is turned in with the product.
__/5 – Demonstrates understanding of Scratch programming
Leave a response »
« Page 1, 2, 3»