INFO 344 Web Tools And Development

Slides:



Advertisements
Similar presentations
Announcements You survived midterm 2! No Class / No Office hours Friday.
Advertisements

Book Recommender System Guided By: Prof. Ellis Horowitz Kaijian Xu Group 3 Ameet Nanda Bhaskar Upadhyay Bhavana Parekh.
Complexity Theory  Complexity theory is a problem can be solved? Given: ◦ Limited resources: processor time and memory space.
CS 206 Introduction to Computer Science II 09 / 10 / 2008 Instructor: Michael Eckmann.
1 CS 177 Week 12 Recitation Slides Running Time and Performance.
CS 280 Data Structures Professor John Peterson. Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries.
CS 280 Data Structures Professor John Peterson. Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries.
LINC Volunteer Course NorQuest College. The word “blog” is a short form of “web log.” A blog is an online place for you to share your ideas, thoughts,
Chapter 5 Algorithm Analysis 1CSCI 3333 Data Structures.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
COMP Introduction to Programming Yi Hong May 13, 2015.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
1 History of compiler development 1953 IBM develops the 701 EDPM (Electronic Data Processing Machine), the first general purpose computer, built as a “defense.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
JavaScript – Quiz #9 Lecture Code:
Linear Algebra Data Analysis Project Directions. You must have the following ready: Survey question 1 written. Survey question 2 written. Log into Google.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Catie Welsh January 10, 2011 MWF 1-1:50 pm Sitterson 014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
1 CS 177 Week 12 Recitation Slides Running Time and Performance.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Club Overview - Day 2 (Get Excited!!!!!). Agenda I. Log into Canvas II. Choosing a Level III. Learning and Creating IV. Closing.
1 5. Abstract Data Structures & Algorithms 5.6 Algorithm Evaluation.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
LECTURE 23: LOVE THE BIG-OH CSC 212 – Data Structures.
ASSIGNMENT 2 Salim Malakouti. Ticketing Website  User submits tickets  Admins answer tickets or take appropriate actions.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Web-Based Information Retrieval Week 1: Administrivia Old Dominion University Department of Computer Science CS 895 Spring 2013 Michael L. Nelson 01/15/13.
1 5. Abstract Data Structures & Algorithms 5.6 Algorithm Evaluation.
What you always wanted to know about life as a professional software developer but were too afraid to ask.
Project Model-Based Systems Engineering: Documentation and Analysis
LINC Volunteer Course NorQuest College
Large-scale file systems and Map-Reduce
Programming Assignment #1
Introduction to complexity
History of compiler development
Chapter 12: Query Processing
INFO 344 Web Tools And Development
Warm Up – April 24th Open the class blog site and review our task for today. Open Google Classroom. Next, look over the new assignment open the document.
COSC 6340 Projects & Homeworks Spring 2002
Rutgers University Psychology Department R-Point Subject Pool
Compiler Construction
Optimizing Malloc and Free
Wednesday, April 18, 2018 Announcements… For Today…
Computer Science 2 Hashing
INFO 344 Web Tools And Development
Parallel Analytic Systems
Using technologies in your studies
INFO 344 Web Tools And Development
Searching, Sorting, and Asymptotic Complexity
Searching, Sorting, and Asymptotic Complexity
CSE 373: Data Structures & Algorithms
INFO 344 Web Tools And Development
Pre-AP 9/17 Pick up the lab rubric from the side table
slides created by Ethan Apter
Sum this up for me Let’s write a method to calculate the sum from 1 to some n public static int sum1(int n) { int sum = 0; for (int i = 1; i
Algorithmic complexity
INFO 344 Web Tools And Development
INFO 344 Web Tools And Development
INFO 344 Web Tools And Development
INFO 344 Web Tools And Development
INFO 344 Web Tools And Development
Presentation transcript:

INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014

Announcements Azure + AWS credits sent Azure = see slides on Canvas (today) AWS = google it, how to use the credits

Programming Assignment #2

Build a query suggestion service My favorite programming assignment

Rewarding! Does something useful Does something you use everyday 10 hours of work looks like 10 days of results Challenging but FUN.

Query Suggestion All modern websites with user input has this, it’s a must-have. Super useful. Needs to be fast.

Final Product AJAX Web service hosted on Azure, super scalable Written in C#, follow best practices & things taught in class No SDKs/external libraries except for jQuery for AJAX

Great User Experience Must be AJAX Must be fast, i.e. year web service returning the results needs to be < 100ms.

Deliverables Due on April 30, 11pm PST Submit on Canvas Please submit the following as a single zip file: Readme.txt with URL to your Azure instance & GitHub repro Screenshot of your Azure dashboard with Instance running (azure-compute.jpg) C# source code (we should be able to run this locally) Write up explaining how you implemented everything. Make sure to address each of the requirements, writeup.txt (~500 words) Extra credits – short paragraph in extracredits.txt for each extra credit (how to see/trigger/evaluate/run your extra credit feature and how you implemented it)

Start Early!!! Today!!! This is the hardest programming assignment all quarter

Hint Google search “trie”, you will need this to store your data for fast retrieval Your algorithm will likely be recursive/depth first search Trim results to 10 to improve performance Run out of memory = store as much data as you can! Only store titles with a-z, A-z, (space), ignore everything else.

Big O notation Run time complexity as ‘n’ increases Common ones are n = number of elements Common ones are O(n), O(n^2), O(log n), O(n log n) Some proofs may be complicated (see Algo’s class) Linear search = O(n) Binary search = O(log n)

Big O for PA2 Data = millions of titles/phrases! Linear search O(n) – too slow! Trie search O(log n) – very fast! The log-base number is likely 26 (or 27) 10 instructions in O(n) searches 10 titles… 10 instructions in O(log n) searches 26^(10) titles!

Always use Trie? 10 vs. 26^10 OMG. Always use Trie! Not for free! Space-time tradeoff Linear search O(n) = less than 500mb Trie O(log n) = maybe over 10GB to fit everything!

Challenge Code for this assignment == hard so start early! If you can write the code in 4 hours, you will pass any coding interview but this will likely take 20-30 hours esp if you’ve never heard of a ‘trie’ 2 weeks for this assignment so start now! This will be fun and very worthwhile to take the time and learn.

Extra Credit [10pts] Popularity (page view) based query suggestion* [10pts] Hybrid List & Trie data structure (convert to Trie after > X entries in node) [10pts] Handle misspelling gracefully** [5pts] Query suggestion based on user searches These are actually really really fun.

Questions?