Introduction to course. Refresher on client/server; JavaScript. 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.
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:
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.
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
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!
Theory of Computation videos Shai Simonson. Course Webpage http://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
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
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
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
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…
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
More… What is business / revenue stream of owner of produce? Who is the owner?
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 ????
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
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
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/
Assignments of dates Count off
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
Posting examples Computing 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
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.
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