evolution of the human-computer interface uc santa cruz cmps 10 – introduction to computer science...
Post on 18-Dec-2015
213 Views
Preview:
TRANSCRIPT
Evolution of the Human-Computer Interface
UC Santa CruzCMPS 10 – Introduction to Computer Sciencewww.soe.ucsc.edu/classes/cmps010/Spring11ejw@cs.ucsc.edu18 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
top related