Top Banner
Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for topic. Start looking at computability videos.
22

Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Jan 11, 2016

Download

Documents

Aubrey Lynch
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Advanced Topics

Introduction to course. Refresher on client/server; JavaScript.

Homework: Introduce yourself on moodle. Start posting. Start looking for topic. Start

looking at computability videos.

Page 2: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Introductions

• me: [full] professor, coordinator of the Math/CS Board of Study; active in New Media Board of Study. 6th book: HTML5 and JavaScript Projects. Articles for <jsmag> http://www.jsmag.com/ . Volunteer for progressive causes

• you:

Page 3: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Course overview• Check out (and keep checking out) course schedule,

charts on my website: http://faculty.purchase.edu/jeanine.meyer/charts.html and on moodle. You need to do both!

• Various and varied topics chosen by me and (hopefully) some chosen by you.

• Postings by you on computing topics 'in the news': at least one post or reply each week.

• technical exercises: including reporting on use of web (e.g., cookies on your computer, accuracy of geolocation) and some writing programs: e.g. JavaScript&php to access tweets)

• Presentations by you: scheduled on 4 days spread out. ASSIGN YOUR DAY TODAY!– substantial: 20 minutes talk + 1-pager– Your choice of topic. I approve / modify / recommend.

Page 4: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Topics [planned as of now]

• social media, behavioral marketing, cookies, • databases, formats, Big Data• cryptography• natural language processing, programming

languages• visualization• AI• algorithms, complexity• computability, "P=NP?"• SVG, HTML5 canvas• Cloud computing

Page 5: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Computability

• What is means to be computable? A question that was posed BEFORE computers. Will describe work of Alan Turing—this is 100th anniversery of his birth.

• What is the complexity of algorithm: how much space and how much time?

• Mathematical approach• Historic and current significance

– How long it takes to compute something is a practical issue!

Page 6: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Theory of Computation videos

Shai Simonson. Course Webpagehttp://

web.stonehill.edu/compsci//Theory/homepage.htm

Videos are ~10 minutes, so of each lecture is several videos.

• Introduction, motivation, starts with FSA: http://www.youtube.com/watch?v=HyUK5RAJg1c&feature=related

• Turing Machine lecture, http://www.youtube.com/watch?v=mPec64RUCsk

Page 7: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

client/server refresher

• Computer right in front of you is the client• A browser program (e.g. Firefox, Chrome) run

on the client accesses a website on a server. Downloads (to the client) various files, including html and media. Then browser interprets html & JavaScript on the client and also execute programs, possibly using plug-ins

• The browser may initiate a program to run on the server: aka server-side / middleware, that may access data in various ways

Page 8: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Trend

• In past, and probably still today, bulk of computing in industry done on local computers accessing local data– THINK: banks, factories, distribution centers– Note: IT for logistics critically important.

• TREND is for more to be done "on the cloud", that is, on public or private server computers– program(s)– data

Page 9: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Trend

• Past and current: Computing done on computers

• embedded devices– e.g., computers in cars

• TREND: more computing done on devices such as phones and tablets– "apps"– programs on websites

Page 10: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Trend

• History: explicit use of specific programs and data sources.

• TREND: combination of programs and information sources, many applied based on determination (algorithm) of program.– e.g., Some program knows about you and

knows what you want…

Page 11: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.
Page 12: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Posting assignment• Computing in the news.• If appropriate, write about

– the device– what program(s)– what information– who/what/where/when– nature of algorithm

• If appropriate, do research on terms– distinguish product names from technical

terms from marketing terms– consult other sources

Page 13: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

More…

• What is business / revenue stream of owner of produce?– Who is the owner?

Page 14: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Aside

• VOTE on November 6th• How do current technologies change or

have the potential to change:– how governments operate– how campaigns are run– how news is disseminated– how opinion / analysis is disseminated– how we vote– ????

Page 15: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

JavaScript refresher

• Scripting language run as part of HTML document– script = = interpreted versus compiled

• functions, variables, limited form of objects, statements

• http://www.codecademy.com – pretty easy given you know (at least) one

programming language

Page 16: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

examples• simplified credit card: http://

faculty.purchase.edu/jeanine.meyer/creditcard.html

• dice game: button, input fields (used for output). http://faculty.purchase.edu/jeanine.meyer/javascriptcraps.html General lesson: dividing up tasks into small(er) functions

• transitions: images on canvas, animation http://faculty.purchase.edu/jeanine.meyer/html5/crossingthelineallcases.html

Page 17: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Sample Research topics

• Will give these throughout course (you can look ahead)– politics– http://www.thetoolbox.cc– technology in education– history, e.g., old technology being replaced (

http://www.nytimes.com/2012/06/28/world/europe/after-3-decades-in-france-minitels-days-are-numbered.html?pagewanted=all

– software tools/packages/frameworks• Example: data-driven documents: http://d3js.org/

Page 18: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Assignments of dates

• Count off

Page 19: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Course

• Mainly lecture / discussion– Most lecturing by me, some lecturing by you– Some discussion asynchronous

• You need to work! Make the course your own.– research topics– identify research project

Page 20: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Posting examplesComputing in the news examples • Bugs

http://www.nytimes.com/2012/08/09/opinion/after-knight-capital-new-code-for-trades.html?hpw

• Mars rover: http://gcn.com/articles/2012/08/06/mars-curiosity-nasa-deep-space-network.aspx

• Patents: http://www.nytimes.com/2012/08/25/technology/jury-reaches-decision-in-apple-samsung-patent-trial.html?hp

• General source: http://www.sciencedaily.com/releases/2012/08/120806094053.htm?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+sciencedaily+%28ScienceDaily%3A+Latest+Science+News%29

Page 21: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Example

• Lecture series on folding and unfolding– inspired by origami

• http://courses.csail.mit.edu/6.849/fall10/lectures/

• Take the time to view at least the first couple of lectures: video and notes.

Page 22: Advanced Topics Introduction to course. Refresher on client/server; JavaScript. Homework: Introduce yourself on moodle. Start posting. Start looking for.

Homework

• Introduce yourself (again) on moodle

• Do JavaScript lessons and check out examples– I will assume that you can read an HTML

document, including understanding JavaScript and, to a lesser extent, CSS.

• Start posting