Evolution of the Human-Computer Interface UC Santa Cruz CMPS 10 – Introduction to Computer Science...

18
Evolution of the Human-Computer Interface UC Santa Cruz CMPS 10 – Introduction to Computer Science www.soe.ucsc.edu/classes/cmps010/Spring11 [email protected] 18 May 2011

Transcript of Evolution of the Human-Computer Interface UC Santa Cruz CMPS 10 – Introduction to Computer Science...

Evolution of the Human-Computer Interface

UC Santa CruzCMPS 10 – Introduction to Computer Sciencewww.soe.ucsc.edu/classes/cmps010/[email protected] May 2011

UC SANTA CRUZ

Homework #4 Now posted on the web Two parts

A skills-building part that builds up capability through a series of assignments

An open-ended creative part Do something fun & interesting using Scratch

Submission instructions Unlike previous homework assignments, you are to submit this

assignment via eCommons Use the DropBox capbility of eCommons to upload 4 files that represent

the work requested (1 word processing file and 3 Scratch programs) for the homework assignment

Help sessions Thursday, May 19, 3-5pm, Baskin Engineering 105 (Unix computer lab) Tuesday, May 24, 3-5pm, Baskin Engineering 105 (Unix computer lab) Thursday, May 26, 3-5pm, Baskin Engineering 105 (Unix computer lab)

UC SANTA CRUZ

Maker Faire May 21-22, San Mateo Fairgrounds

http://makerfaire.com/ Large show featuring many

people who are creating novel things, many using computer controllers or software

Inspiration to becomea maker, someone whomakes things (as opposedto someone who onlyconsumes things)

Extra credit deal: Go to Maker Faire Submit your ticket stub, along

with a 3-4 paragraph descriptionof what you liked and didn’t likeabout the show

Due end-of-day, day of the final exam. Up to 10 extra credit exam points

UC SANTA CRUZ

Midterm #2 Monday, May 23, in class A review session will be held Sunday 4pm, Jack’s

Lounge in the Baskin Engineering building (first floor, walk in from the front the building, walk stragith to the coffee cart and turn left. Walk about 100 feet. Jack’s Lounge is to the left. It’s a big area with whiteboards, desks, tables, etc.)

Test will be similar to exam #1 Closed book, closed note Will cover material in class from the first midterm to

Friday’s lecture

Reminder: lecture notes available from class website: http://www.soe.ucsc.edu/classes/cmps010/Spring11/

UC SANTA CRUZ

Potential Exam Topics

As Univ. of California students, you are expected to be able to assess complex material and make judgments concerning its relative importance.

That said, it can be helpful to have some input from the Professor to help focus studying activity.

The following are questions/topics that are likely, but not guaranteed to appear on the exam.

Anything covered in class or in the assigned readings may appear, even if not explicitly mentioned today.

UC SANTA CRUZ

Midterm Exam #2 Study Questions

What is machine code? What is assembly language? What is a mnemonic? How is assembly language converted into machine

code? What is the name of the program that does this? Can computer hardware directly execute machine

code? Assembly language? What are the problems with machine code? What are the pros and cons of assembly language? What does a compiler do? Who was Grace Hopper? What are some of her “firsts”? What were the three major early high-level

programming languages developed in the 1950s?

UC SANTA CRUZ

Midterm Exam #2 Study Questions What are the four different styles of programming language

discussed in lecture? Imperative, functional, logic programming, domain-specific

Be able to give the name of an imperative language, a functional language, and a domain-specific language

What style of programming language is Context Free Art? Scratch?

What is a procedure (in procedural programming languages)? What are some of the benefits of procedures?

What is the difference between local and global data in a procedural programming language?

What are some problems that emerge in procedural code that is not well-organized?

How does object-oriented software differ from procedural software?

What are some benefits of object-oriented software?

UC SANTA CRUZ

Midterm Exam #2 Study Questions

What is the difference between compiled and interpreted software?

Are Context Free Art and Scratch compiled or interpreted?

What are the advantages and disadvantages of interpreted code?

What is an emulator? What is the relationship between emulators and interpreters?

What is a directly interpreted language? How does this differ from languages that are compiled, then interpreted?

What is a domain specific programming language?

UC SANTA CRUZ

Midterm Exam #2 Study Questions

What is packet switching? How does it differ from circuit switching?

How is a message sent when using packet switching?

Why can the packets in a message arrive out of order when sent using packet switching?

What is an IP address? What is the relationship between a domain name

like www.ucsc.edu and an IP address? What is an IMP? Be able to name one of the original

4 nodes on the Internet Note: see readings in the “resources” area of

eCommons on Networking and World Wide Web

UC SANTA CRUZ

Midterm Exam #2 Study Questions What is a URL? What does it mean to be a resource locator?

In a URL, what is a local identifier? What is HTML? Why was it necessary to invent HTML?

What is a markup language? What is being marked up? Know the broad structure of an HTML document (body, head,

html tags, and which goes inside what) What is HTTP? What is a web application? What is a database-backed web site

One that has some portion of its content stored in a database. The server interacts with this database, and creates web pages using contents from the database.

Be able to draw the architectural diagram (boxes and arrows diagram) of the web once dynamism was added (i.e., the architecture of a web application)

What are advantages of web applications over static web sites?

UC SANTA CRUZ

Midterm Exam #2 Study Questions

What are some of the characteristics of Web 2.0 websites?

Be able to give an example of a Web 2.0 site Be able to provide a current Web 2.0 trend What did Tim Berners-Lee invent? In Scratch, what is a sprite? In Scratch, does each sprite have its own

separate code? Be able to identify the contributions made by

NLS/Augment, and the Xerox Alto

UC SANTA CRUZ

How do people interact with computers? In the early days of computing, it was fairly miraculous that

a computer would work at all As a result, many people were expected to work hard to

ensure the computer could perform a given task That is, the computer’s needs were dominant, and humans

catered to the needs of the machine.

As the price of computing dropped, a broader population of people started using computers This trend became particularly strong in the 1980s with the

advent of personal computing Instead of highly trained people using a computer, anyone,

trained or not, might be using a computer

Brought to the foreground the question: how should people interact with computers?

UC SANTA CRUZ

NLS/Augment

Project led by Douglas Engelbart ~1959-1970/1

Explicit goal was to create a computer system capable of supporting knowledge workers

Goal was to make people more capable of analyzing information, tackling large tasks and problems That is, the use of the computer

to enhance or augment human intellectual capacity

Project invented word processing, hypertext, mouse

Provided a vision of what computing could do to support knowledge workers

1968 demonstration

UC SANTA CRUZ

Xerox Alto A personal computer developed at Xerox

Palo Alto Research Center (PARC) in 1973

Many ideas from NLS/Augment find their way into the Alto

First graphical user interface Integration of mouse into user interface

Alto features Bravo and Gypsy word processors

Direct lineage to Microsoft Word Email reader Bitmap paint program Vector graphics program

Worked out basic concepts that are now found in today’s windowing user interfaces Direct influence on Lisa/Mac, which led to

Windows

Alto workstation

UC SANTA CRUZ

Macintosh

Apple Lisa (1983) First personal computer with graphical user

interface marketed to a mainstream audience Heavily influenced by ideas from Xerox Alto Expensive, poor performance, did not sell well

Apple Macintosh (1984) Co-developed at same time as Lisa, some

ideas crossed over between teams More simple design than Lisa, but still

featured graphical user interface Cheap enough so a mainstream audience

could purchase But, did not sell well initially, due to high price Still, brought idea of graphical user interface

to a broad audience. Made GUIs mainstream.

Original Apple Mac (1984)

Apple Lisa (1983)

UC SANTA CRUZ

Microsoft Windows

Released in November, 1985 (development began in 1981) A response to growing interest by public in graphical user

interfaces, caused by Macintosh Slow initial adoption Competition from other window managers, notable among

them GEM (released November 1984)

Windows 1.0 screenshot

UC SANTA CRUZ

Mobile computing – notable waypoints Apple Newton (1993)

Full-feature handheld computer

Handwriting recognition Too large, too expensive

Palm Pilot (1997) Small form factor Good handwriting

recognition

Apple iPhone (2007) Touch-based smartphone

user interface Carried over into touch-

based user interface for iPad

Newton (left), iPhone (right)Source: Wikipedia

Palm Pilot

UC SANTA CRUZ