Friday, June 29, 2012

Wednesday, June 27, 2012

Thursday, June 28th, 2012

Conquering the algorithm!

What *is* an algorithm?  That word strikes terror into the heart of people everywhere, but I'm about to demystify it for you.

An algorithm is just a list of instructions that you can follow to get a desired outcome.  It's a series of steps that leads you to a result.  In fact, many of us use algorithms pretty frequently.  Shopping lists, recipes and DIY websites.

We use algorithms much the same way in computer science, except that we get all excited about making sure that we're using the smoothest algorithms with the least number of steps, which gives the fastest result.  We're kind of obsessive like that.  Sorting is one of the things that we're a little compulsive about.  Searching is another one.  Can you figure out why?

Let's put some of that algorithm knowledge to work and make ourselves an outline for a web page.  We're going to get a leg-up on our next assignment and start thinking about our first web page.  We'll work on it one step at a time.

Get out a piece of paper.  In the upper left-hand corner, put the picture of yourself.  To the right, list:
* Your name
* Your dream job
* Three fun facts about yourself

We'll be building on this page over the term, so feel free to add some additional information to the bottom of your paper.


Tuesday, June 26, 2012

Wednesday, June 27th, 2012

"Romeo, Romeo, wherefore art thou, Romeo?"

In that phrase, the word "wherefore" does *not* mean "where".  What does it mean?  If you didn't know, how would you find out?

Web searching (Nowadays called "Googling") has become one of this generation's most abundant methods of getting new information.  This is both a blessing and a curse.  Often, web searches will be too broad, returning a bunch of unrelated material.  Sometimes, they're too specific -- or just wrong -- and you don't get enough good results.  Here are some tips on getting a good web search.

This is actually a great segway into some very important logic that we'll be using when we start programming.  Let's use this opportunity to cover 'AND' & 'OR'. Here's a video that explains it in dominos.  We can explain it in a web context with a simple exercise.

So with a little practice, we can get really good at finding great answers quickly.  Let's try it online:

Search for a website that gives us the basic website structure in html.

Search for information on how to include a script in your page.

Search for information on how to insert css into your page.

What does "wherefore" mean?

------------

Now that we know how to find pages that are relevant to our search, we need to know whether we can trust them or not.  The first thing you should do is find out who your information is coming from.  Is it a reputable source or someone you've never heard of?  Does the information sound plausible?  Can you find any other results which corroborate the information? How deep is the hierarchy for the page? Does the entire root belong to them?

Which of these articles is false?

* Police Save iPhone from Hot Car
* Teen Survives Spear Through the Head
* A Vest that Lets You Hug Yourself

Be careful, because sometimes even the Big Guys get it wrong!

------------

Let's shift our sights from being a technology user to being a technology creator.  It really does take a special way of thinking to jump over the hurdles that occur in such a rapidly changing industry. The current method for preparing minds for this challenge is called Computational Thinking.  The trick is banishing the fear of "getting it wrong" and just giving it a try.  Computational thinking provides the tools required to lead you toward success.

For tomorrow, please remember to bring a small picture of yourself (about 2"x2.5"). We'll be using them in class.

Additional Links

* CSisFun.com
* Google's Computational Thinking









Tuesday, June 26th, 2012

What is an IP address?

Why do we need DNS Root Servers?

Look at the list of top level domains in Snyder on page 67.  Can you find your initials?  What country do you stand for?  Where is the top level domain in the URL hierarchy?

So, now that you know that data is shipped all over the Internet, even between countries, you may be wondering how information gets back to you without getting lost.  The truth is, it doesn't.

Information is getting lost all the time.  Fortunately, many protocols have been developed to limit the damage caused by dropped packets.  There are protocols for times when data is more important than speed (TCP) and protocols for when speed is more important than data (UDP).

The average webpage request is processed over TCP.  This means that a message is broken up into tiny pieces and shipped off in different directions.  Often, most of the pieces take different routes to their destinations, so we have to label them very well to make sure they all get to their final destination.  If the sender doesn't receive confirmation that a given packet has made the journey, it will send a replacement.

This is all very handy, but how do we know where the data is going in the first place?  Well, we read the URL, of course.  The URL delivers us right to the exact location of the final HTML file.  In order to create a URL, we need to understand the file structure of the internet.  This hierarchy is important for proper network organization.

What is a hierarchy?

Imagine a workplace with a CEO who oversees Managers, then the Managers oversee Supervisors.  Finally, Supervisors oversee the workers who provide the actual content.  Even more similar is the structure of our computer hard drives.  What part of our computer would be the CEO?  What would the Managers be? How about the Supervisors?  The Workers?  Now, translate that one more little bit to a web server.  Now, the domain server is the CEO.  It's at the top level.  The name servers are next, followed by the folders and finally the working files.

This hierarchy structure is repeated frequently in computer science.  You'll see it more as we start to talk about HTML, XML and even in some algorithms.



Additional Links for this Session


* HTML Hierarchy

* Tree Structure

* Grace Hopper Describes a Nanosecond

Sunday, June 24, 2012

Monday, June 25th, 2012

Welcome to CIS110.  This will be a very intense (and hopefully entertaining) summer series.  You should plan on at least 5 hours of reading and 10 hours of homework each week outside of class.  


Cheating is absolutely not tolerated. Neither is disrespect or condescension.  This is a difficult subject and the best way to learn it is as a team.  Here is what I expect. This is what the University expects


Your book should be in-stock at the UO Bookstore.  We'll be following it pretty closely, so please try to read the chapters before the day that we reach them in class.


Now that we have all of that out of the way, let's get started! These are exciting times.


___________


In the beginning, there was light.  Well, actually, in the beginning there were phone lines, and light came a little bit later ... at least as far as the Internet is concerned.

That's right.  The beginning of the Internet happened over an infrastructure that was little more than sending morse code by wire.  Today's Internet is only slightly more complicated, utilizing standardized technology and fiber-optics, but the  payoff has been amazing.  You may not be very familiar with the history of the Internet, except to hear others say that Al Gore claimed to invent it. Gore was, in fact, an important part of the Internet's development. He was inducted into the Internet Hall of Fame as "Instrumental in helping to create the 'Information Superhighway,' Gore was one of the first government officials to recognize that the Internet’s impact could reach beyond academia to fuel educational and economic growth as well."

Well, now that you know how the internet came to be, it's time to learn how it works.  We're all familiar with typing a url into our address bar and being whisked away to our favorite websites.  What you may not realize is that there's actually a lot more to it than that.  In order for your computer to get to the information it needs, it goes through several steps; one of which is a DNS lookup.  This process explores several client/server relationships along the way.  (Insert Client/Server game here)

This is all just one long-winded way of saying that information transportation isn't magic.  There's a lot of choreography that goes in to getting your computer to dance.


Additional Links From Today

* DNS Lookup Route

* TraceRoute Service

* Out with a Bang!



Sunday, June 17, 2012

Welcome!

Welcome to CIS110 12U A!  That's a shorthand way of saying that you are in the first daily session of CIS110 for the summer of 2012.

Classes will be held Monday through Friday from 10 am to noon, between 6/25 and 7/20 (with the exception of Wed, 7/4).

Please remember that attendance is MANDATORY as we'll be flying through this material at warp speed.  I promise to make it entertaining, if you promise to pay attention :)