CK Wang University of Washington Spring 2014 Me CK BS Electrical Engr MS Computer Sci Semisupervised Named Entity Recog Fable 2 1 2 3 4 Kooapps A really long journey If any of you ID: 732659
Download Presentation The PPT/PDF document "INFO 344 Web Tools And Development" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
INFO 344Web Tools And Development
CK Wang
University of Washington
Spring 2014Slide2
Me == CK
BS Electrical
Engr
, MS Computer
Sci
Semi-supervised Named Entity
Recog
.
Fable 2
1
2
3
4Slide3
Kooapps
A really long journey…
If any of you
wanna
start your own company, we can chat : )Slide4
TA == Frank XueSlide5
Course OutlineSlide6
Basics
Degree Program: Informatics
Course Title:
Web Tools & DevelopmentCourse Number: INFO 344Credit Hours: 5Prerequisites: CSE 142, INFO 343
Add code – come see me after class!!!I’ll pass around a sheet of paper, please put your first/last name + SUIDSlide7
Administrative Information
Instructor
Chun-Kai Wang
chunkaiw@uw.eduOffice hours: MW 12:00pm to 1:20pm @ MGH 80 or by appointment
Teaching AssistantFrank Xuexyx2011@u.washington.eduOffice hours: TBD (Frank will post on Canvas) Lecture MW 1:30pm to 3:20pm @ MGH 430
Lab M 3:30pm to 4:20pm @ MGH 430* Registration questions please contact informatics@uw.eduSlide8
Grading
Programming
Assignment #1
20%Programming Assignment #2 20%Programming Assignment #3 20%
Programming Assignment #4 20%Small Group Project 5%Pop Quizzes 5%Class Participation* 10%Total
100%* Class participation includes discussion forum participation (help answer questions)Slide9
Discussion Forum
https://
canvas.uw.edu/courses/897589/discussion_topics
Learn from teaching! That’s why I’m here!Also: please update profile pics on Canvas so I remember faces!!
Subscribe to topics, esp ones you posted!Slide10
Late Policy
Three (3)
late days for each student for entire quarter
Used in units of one (1) day (i.e. 2 hrs late == 1 day used)
Afterwards => late work == no creditLate days may NOT be used for last assignmentDisclaimer = Although work submitted within the late allowance will receive full credit, late days are intended for emergencies (illness, accidents, family emergencies, etc). Please use these late days wisely because exceptions will not be granted.Slide11
Honor Code
Academic
conduct is extremely important.
Work submitted must be your own workDo not give out assignment solutions to another studentUse private GitHub repository (free for students) until we finish the course
Lastly, what you’ve learned is yours to keep forever.Slide12
Course Description
The
most memorable and rewarding courses I took during my undergraduate and graduate degrees at Stanford were courses that empowered me to do things I never thought I could. CS140 had us implement an entire operating system (synchronization, threads, user programs, virtual memory, and file systems), CS248 had us write a paint program, rasterizer and a full 3D video game, CS244a had us implement a web server, router and TCP/IP all in 10 weeks.
In INFO 343, you learned client-side web programming. This course is on server-side web programming and in particular, I want to empower everyone to do something they’ve never thought they could in such a short amount of time – we’re going to
build the entire search/web infrastructure.Slide13
After this class…
Server-side ProgrammingSlide14
Survey from previous quarterSlide15
In other words…
I want this class to be a class you’ll
remember forever
Because you learned sooooo much.
This class is hard Slide16
Programming = Not in groups…
We will have a lot of group discussions and one group project.
But not the programming assignments.Slide17
Outline
Intro to INFO 344
Local hosting via LAMP/WAMP/MAMP
Intro to PHPIntro to DatabasesIntro to Web ServicesInformation Architecture on AWSIntro to C#Information Architecture on Windows Azure
Survey of Cloud ServicesIntro to Search InfrastructureIndustry Case Study: NLMM @ MSRIndustry Case Study: Server-side @ KooappsIndustry Talk*Group Project: Architecting your website/web service + PresentationScalabilityReliabilityTelemetry (Usage data)Security
Why LAMP & C#/Azure?New vs. Experienced ProgrammerNo final exam => more time for
Programming Assignments (4), hence no late day for PA4Slide18
Not Covering…
Advanced database programming
Advanced security
PerformanceLocalizationMore JavascriptSearch Engine related topicsSlide19
Lab Outline
Week #1 =
Setup accounts with
GitHub, AWS, Azure; WAMP, Eclipse, phpMyAdminWeek #2 = Programming Assignment #1 Q&AWeek #3 = Visual Studio, ASMX, Azure basics
Week #4 = AJAX, DOMWeek #5 = Programming Assignment #2 Q&AWeek #6 = Using Azure Tables and QueuesWeek #7 = Programming Assignment #3 Q&AWeek #8 = JSONPWeek #9 = Programming Assignment #4 Q&AWeek #10 = Career talk, resume, interviewing, jobs
Lab is a bit weird this quarter cuz it’s on MSlide20
Student Introductions
Name, year, from, favorite websiteSlide21
History of Silicon Valley, Computing, the InternetSlide22
Disclaimer: I’m not a historian
Sources: Wikipedia &
http://steveblank.com/secret-history/Slide23Slide24Slide25
WW2 – jam German radar defense, Cold War – spy with electronic/satellites
Electronic WarSlide26
Computing HardwareSlide27
First Generation
Mechanical/Electromechanical, Punch Cards!
Analytical Engine (1837)
Charles Babbage
First Turing-CompleteSlide28
Second Generation
Vacuum tubes
IBM 701 (1952)
Looks really complicated…Slide29
Third Generation
Transistors
IBM Mainframe, minicomputers (1960’s)
HUGE. Tapes, switchesSlide30
Fourth Generation
Personal Computers
Apple II (1977)
Steve Wozniak (designed circuits in high school!!)
8-bit
First mass-market PCReady to use, everything togetherSlide31
Fifth Generation
Smartphones & tablets
iPhone 2g (2007)
iPad, Surface, Android
Steve JobsEven smaller, fits in your pocketSlide32
Future?
Smaller and more convenientSlide33
Computing Software
In particular – User InterfaceSlide34
First Generation
Punch cards, vacuum tubes, switches, yuck!
Not really software!!!Slide35
Second Generation
Command line text, ex: DOS (1980/1981)Slide36
Third Generation
Graphical User Interface (GUI), Mac, Windows (1984/1985)
Zerox
PARC, I’ve been there!Slide37
Fourth Generation
Touch Interface (2007 iPhone, 2010 iPad)Slide38
Future?
http://america.aljazeera.com/articles/2013/8/28/scientists-achievefirsteverhumantohumanmindmeld.html
Scientists said Tuesday they have completed the first human-to-human mind meld, with one researcher sending a brain signal via the Internet to control the hand motion of a colleague sitting across the Seattle campus of the
University of Washington
-- an achievement one of the researchers jokingly referred to it as a "Vulcan mind meld."
Best UI = No UI!Slide39
Internet
aka websites/web servicesSlide40
First Generation
ARPANET, MILNET, NSFNET
Purpose: University Military Research
TCP/IP = 1974-1978
Internet = internetworking (between ARPANET, NSFNET,
etc)Email = main purpose!Also FTP, SSH, etc.Slide41
Second Generation
Baby Internet, Lycos, Excite, Yahoo!, Alta Vista
Directory like Yellow Pages
Browsing, news, sites, sports, infoSlide42
Third Generation
Web 1.0, static webpages – Google, Amazon,
Ebay
Keyword Search
Online CommerceSlide43
Fourth Generation
Web 2.0, AJAX, app-like – Facebook, Twitter, Gmail
Social
Web Apps (ex:
gmail)Slide44
Fifth Generation
OS-like => Facebook platform, Dropbox, Box.net
Cloud OS
Even more web appsSlide45
Future?
Everything in the CloudSlide46
Questions?