Lecture Notes

Lecture Notes

cis3.5 fall2009 lecture II.1 what is a network? topics: • when computers talk to each other, this is called a network • internet overview • the network can have different kinds of computers and peripherals attached to it • creating graphics on the internet with “Processing” • networks in which computers are physically connected to each other in the close resources: geographical proximity are called local area networks (LANs) • Processing web site: http://www.processing.org/ • other networks are called wide area networks (WANs) • getting started tutorial: http://www.processing.org/learning/gettingstarted/ • the internet is a wide area network • drawing tutorial: http://www.processing.org/learning/drawing/ • the internet is an open system = “a system whose architecture is not a secret” • reference: http://www.processing.org/reference/index.html • protocol = set of rules for how computers communicate with each other; for example: – TCP: transmission control protocol (computer ↔ computer) – IP: internet protocol (computer ↔ computer) – HTTP: hypertext transfer protocol (computer ↔ browser) – FTP: file transfer protocol (computer ↔ computer) – SMTP: simple mail transfer protocol (computer ↔ mail client) cis3.5-fall2009-sklar-lecII.1 1 cis3.5-fall2009-sklar-lecII.1 2 what is the internet? some internet facilities • history • the world wide web – ARPAnet (circa 1971): used “NCP” – HTML = hypertext markup language – TCP (1974): hardware independent, open – hyperlink – internet was standardized in September 1981 – browser • the internet is NOT the world-wide web (WWW) – web page, web site, web server – the idea of the world-wide web was conceived by Tim Berners-Lee • ftp (file transfer protocol) – developed and discussed at CERN in Switzerland from about 1989 – download – made public in 1994 – upload – the WWW uses the internet, but is not the internet itself—it is a way of organizing and • email viewing data that is accessible through the internet • newsgroups – posting – thread • mailing lists cis3.5-fall2009-sklar-lecII.1 3 cis3.5-fall2009-sklar-lecII.1 4 clients and servers – groupware server ∗ manages scheduling for individuals and groups of co-workers/collaborators ∗ provides reports (e.g., billing) for collaborators • server: ∗ supports mailing lists for collaborators – computer on a network which carries out some service for another computer ∗ e.g., Lotus Notes • client: – mail server ∗ – the other computer for whom the server is carrying out the service sends mail ∗ receives mail • types of servers: ∗ stores mail – file server – application server ∗ provides files for clients ∗ provides access to particular applications – database server ∗ e.g., game server ∗ specialized file server that provides databases (structured files) for clients – web server ∗ specialized file server that provides files that make up the components of a web site, ∗ for example: HTML documents, CSS files, images, video clips, etc. cis3.5-fall2009-sklar-lecII.1 5 cis3.5-fall2009-sklar-lecII.1 6 client-server architectures interactive web programming two-tier three-tier presentation presentation • / interface web browser == client / interface web browser == client user initiates some action layer layer • which causes the web page to change in some way internet internet • changes can happen locally, on the “client” web server processing data layer application server, web server layer web browser == client internet web server or LAN presentation user / interface data layer layer data layer file server, database server, web server • isolates data storage technology • places more burden on server (instead of client) • distributes tasks amongst server(s) internet • follows object-oriented and modular programming paradigms cis3.5-fall2009-sklar-lecII.1 7 cis3.5-fall2009-sklar-lecII.1 8 • changes can happen on the server and be reflected on the client interactive web programming languages • Javascript web browser == client web server – presentation scripting language based on Java user / interface data layer – layer write programs using a text editor (like with HTML) – run programs in a browser • Processing – language originally written for artists – programs in Processing are called sketches internet – text-based programming language – write and run using an integrated development environment (IDE) that is part of Processing – programs can also be saved as applets and run inside a browser cis3.5-fall2009-sklar-lecII.1 9 cis3.5-fall2009-sklar-lecII.1 10 Processing: getting started • interface buttons: run compiles the code, opens a display window and runs the program. stop terminates a running program. new creates a new “sketch” in the current window. • the Processing desktop icon looks like this: open provides a menu with options to open files from your “sketchbook”, an example or another a sketch on your computer. save saves the current sketch with its current name and location. export exports the current sketch as a Java “applet”. • the Processing window looks like this: cis3.5-fall2009-sklar-lecII.1 11 cis3.5-fall2009-sklar-lecII.1 12 first program coordinate system • first program, which draws a line: • all graphics are drawn using the following coordinate system: line( 10, 20, 30, 40 ); • think of it like a piece of graph paper • a point fills in one cell on the graph paper • looks like this: • a line fills in multiple cells, from one end-point of the line to the other • add to it, which draws a point: point( 50, 50 ); • add to it, which changes the background color: background( #00ff00 ); cis3.5-fall2009-sklar-lecII.1 13 cis3.5-fall2009-sklar-lecII.1 14 drawing things • ellipse( x, y, width, height ) – origin: center of ellipse’s bounding box; circle if width=height • point( x, y ) – draws one point (looks like a dot...) (x,y) height • (x,y) line( x1, y1, x2, y2 ) height (x,y) height – connects two points • triangle( x1, y1, x2, y2, x3, y3 ) width width width – connects three points width = height width > height width < height • quad( x1, y1, x2, y2, x3, y3, x4, y4 ) • arc( x, y, width, height, start, stop ) – connects four points – origin: center of arc’s bounding box (see ellipse) – start and stop: can be whole numbers (int) or real numbers (float); expressed in • rect( x, y, width, height ) degrees or radians, depending on current angle mode; 0 is due east; measured clockwise – origin + extent; square if width=height – PI is a useful constant 0 deg (x,y) height width cis3.5-fall2009-sklar-lecII.1 15 cis3.5-fall2009-sklar-lecII.1 16 • attributes programming basics – strokeWeight() – line thickness • each line contains a statement – strokeJoin() • statements end with a semi-colon ( ; ) – square (MITER, default), blunt (BEVEL), rounded (ROUND) • – strokeCap() comments are contained within /** and */ – SQUARE, PROJECT, ROUND (default) • functions – provide a way to modularize code – makes it easier to read and re-use – also allows you to specify content for functionality built in to Processing – for example: void draw() { line( 10, 20, 30, 40 ); } – void keyword that indicates a function which returns nothing – draw() = the name of the function – curly brackets ( { and } ) delineate the beginning and end of the function – with Processing, your sketch has to use no functions or all functions cis3.5-fall2009-sklar-lecII.1 17 cis3.5-fall2009-sklar-lecII.1 18 sample program keyboard interaction void setup() { • keyPressed() background( #ffffff ); – handles behavior when user presses a key down } • keyReleased() – handles behavior when user releases a key void keyPressed() { • background( #0000ff ); keyTyped() } – handles behavior when user types a key (press and release) • key void draw() { – indicates which key was pressed/released/typed line( 10, 20, 30, 40 ); – equals CODED when special key is pressed/released/typed, like an arrow key, shift, point( 50, 50 ); control, alt, etc. } • keyCode – indicates special key: UP, DOWN, LEFT, RIGHT, ALT, CONTROL, SHIFT cis3.5-fall2009-sklar-lecII.1 19 cis3.5-fall2009-sklar-lecII.1 20 making decisions modified sample program • one decision—IF something is true: void setup() { if ( test ) { background( #ffffff ); statements } } void keyPressed() { • two decisions—IF something is true...or ELSE: if ( key == ’R’ ) { if ( test ) { background( #ff0000 ); statements } } } else { statements void draw() { } line( 10, 20, 30, 40 ); point( 50, 50 ); • joint decisions—IF something is true OR something else is true: } if (( test1 ) || ( test2 )) { statements } cis3.5-fall2009-sklar-lecII.1 21 cis3.5-fall2009-sklar-lecII.1 22 modified keyPressed() function multiple conditions void keyPressed() { • two vertical bars (||) mean “OR” if ( key == ’R’ ) { void keyPressed() { background( #ff0000 ); if (( key == ’R’ ) || ( key == ’r’ )) { } background( #ff0000 ); else if ( key == ’G’ ) { } background( #00ff00 ); } } else if ( key == ’B’ ) { • you can also just list two conditions background( #0000ff ); } void keyPressed() { } if ( key == ’R’ ) { background( #ff0000 ); } else if ( key == ’r’ ) { background( #ff0000 ); } } cis3.5-fall2009-sklar-lecII.1 23 cis3.5-fall2009-sklar-lecII.1 24.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us