Research Patterns Nick Feamster and Alex Gray CS 7001 September 26, 2007.

Slides:



Advertisements
Similar presentations
Generating Ideas #1: Research Patterns
Advertisements

Examples of Research Patterns
Math for Liberal Studies. There is a list of numbers called weights These numbers represent objects that need to be packed into bins with a particular.
Local Search Algorithms Chapter 4. Outline Hill-climbing search Simulated annealing search Local beam search Genetic algorithms Ant Colony Optimization.
What is good thinking? What is involved in good problem solving?
 The amount of time it takes a computer to solve a particular problem depends on:  The hardware capabilities of the computer  The efficiency of the.
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
Error Tolerant Address Configuration for Data Center Networks with Malfunctioning Devices Xingyu Ma, Chengchen Hu, Kai Chen, Che Zhang, Hongtao Zhang,
Best-First Search: Agendas
Minimizing Multi-Hop Wireless Routing State under Application- based Accuracy Constraints Mustafa Kilavuz & Murat Yuksel University of Nevada, Reno.
EXPERT SYSTEMS apply rules to solve a problem. –The system uses IF statements and user answers to questions in order to reason just like a human does.
SENG 531: Labs TA: Brad Cossette Office Hours: Monday, Wednesday.
Finding Aggregates from Streaming Data in Single Pass Medha Atre Course Project for CS631 (Autumn 2002) under Prof. Krithi Ramamritham (IITB).
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Recursion: Overview What is Recursion? Reasons to think recursively? An Example How does recursion work?
Applying Design Patterns to Wireless Sensor Network Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering.
Sensor Node Architecture Issues Stefan Dulman
Cognitive Studies in Physics (and Astronomy) Do in-class questions help students’ learning? Addie Dove Dong Han.
Revisting Random Key Pre-distribution Schemes for Wireless Sensor Network By Joengmin Hwang and Yongdae Kim, Computer Science and Engineering, University.
Finding Protection Cycles in DWDM Networks 2002 IEEE ICC on Volume 5, 28 April-2 May Page(s): Reporter: Jyun-Yong Du.
SM3121 Software Technology Mark Green School of Creative Media.
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
 Wisegeek.com defines Data Compression as:  “Data compression is a general term for a group of technologies that encode large files in order to shrink.
How to Become an Independent and Successful Researcher?
Tal Saiag & Anna Itin May 2013
Energy Saving In Sensor Network Using Specialized Nodes Shahab Salehi EE 695.
Tradeoffs in Network Complexity. Introducing Complexity “It won’t scale” “It’s not elegant” These are statements about complexity “Reduce complexity,”
CS 268: Project Suggestions Scott Shenker and Ion Stoica (Fall, 2010) 1.
Revolutionizing the Field of Grey-box Attack Surface Testing with Evolutionary Fuzzing Department of Computer Science & Engineering College of Engineering.
Expand your capabilities. Increase efficiency. With the Lexmark MX6500e – a powerful, versatile multifunction option device.
Mehdi Kargar Aijun An York University, Toronto, Canada Discovering Top-k Teams of Experts with/without a Leader in Social Networks.
Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur Guided By – Prof. Amitabha Mukerjee.
4.4 Solving Exponential and Logarithmic Equations.
ITGD4207 Operations Research
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
1 Section 5.5 Solving Recurrences Any recursively defined function ƒ with domain N that computes numbers is called a recurrence or recurrence relation.
ILOG Solver Directions Laurent Perron ILOG SA. Outline Constraint Programming, a powerful technology The CP suite in ILOG CP faces new challenges Recent.
CS 1308 Computer Literacy and The Internet Software.
INTERACTIVE ANALYSIS OF COMPUTER CRIMES PRESENTED FOR CS-689 ON 10/12/2000 BY NAGAKALYANA ESKALA.
1 Performance Optimization In QTP Execution Over Video Automation Testing Speaker : Krishnesh Sasiyuthaman Nair Date : 10/05/2012.
1 Mobile-Assisted Localization in Wireless Sensor Networks Nissanka B.Priyantha, Hari Balakrishnan, Eric D. Demaine, Seth Teller IEEE INFOCOM 2005 March.
Summer 2004CS 4953 The Hidden Art of Steganography A Brief Introduction to Information Theory  Information theory is a branch of science that deals with.
Taiming Feng, Chuang wang, Wensheng Zhang and Lu Ruan INFOCOM 2008 Presented by Mary Nader.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Localization and Secure Localization. Learning Objectives Understand why WSNs need localization protocols Understand localization protocols in WSNs Understand.
A STEP PASCAL Challenge? You decide…. Overview What is PASCAL? What is a PASCAL Challenge? VOC2006 – an example challenge STEP as a PASCAL Challenge?
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
A Classification-based Approach to Question Answering in Discussion Boards Liangjie Hong, Brian D. Davison Lehigh University (SIGIR ’ 09) Speaker: Cho,
UNIT 2 LESSON 5 CS PRINCIPLES. OBJECTIVES Students will be able to: Explain why protocols are necessary to overcome the underlying unreliability of the.
Lessons of the Square Watermelon Japanese grocery stores had a problem. They are much smaller than their US counterparts and therefore don't have room.
Tufts Wireless Laboratory School Of Engineering Tufts University Paper Review “An Energy Efficient Multipath Routing Protocol for Wireless Sensor Networks”,
Data Transmission Mechanism for Multiple Gateway System Xuan He, Yuanchen Ma and Mika Mizutani, 6th International Conference on New Trends in Information.
Introduction to Evaluation without Users. Where are you at with readings? Should have read –TCUID, Chapter 4 For Next Week –Two Papers on Heuristics from.
Algorithms For Solving History Sensitive Cascade in Diffusion Networks Research Proposal Georgi Smilyanov, Maksim Tsikhanovich Advisor Dr Yu Zhang Trinity.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
TEAM: KIRISOR COUNTRY: ROMANIA Learn more than just theory, learn skills!
Christoph F. Eick: Thoughts on the Rook Project Challenges of Playing Bridge Well 
A Classification for Access Control List To Speed Up Packet-Filtering Firewall CHEN FAN, LONG TAN, RAWAD FELIMBAN and ABDELSHAKOUR ABUZNEID Department.
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Abstract In this paper, the k-coverage problem is formulated as a decision problem, whose goal is to determine whether every point in the service area.
Introduction.
Case-Based Reasoning.
CSCD 506 Research Methods for Computer Science
FUTURE JOBS READERS Level 3-⑤ Data Miners.
Workflow applications
Unique Features of Sensor Networks
Approximation Algorithms
Automated Analysis and Code Generation for Domain-Specific Models
Computational Thinking
Unique Features of Sensor Networks
Presentation transcript:

Research Patterns Nick Feamster and Alex Gray CS 7001 September 26, 2007

General Approach Find a problem Understand a problem Solve a problem Review solution

Finding Problems

Hop on a trend Find a nail that fits your hammer Revisit old problems (with new perspective) Making life easier –Pain points –Wish lists *-ations –Generalization –Specialization –Automation

Hop on a Trend Need places to discover trends Funding agencies –Funded proposals –Calls for proposals Conference calls for papers Industry/technology trends: trade rags

Finding a Nail for Your Hammer Become an expert at something –Youll become valuable to a lot of people Develop a system that sets you ahead of the pack Apply your secret weapon to one or more problem areas –Algorithm –System –Expertise Turn the crank

Revisiting Problems Previous solutions may have assumed certain problem constraints What has changed since the problem was solved? –Processing power –Cost of memory –New protocols –New applications –…

Pain Points Look to industry, other researchers, etc. for problems that recur In programming, if you have to do something more than a few times, script! In research, if the same problem is recurring and solved the same silly way, there may be a better way…

Wish Lists What systems do you wish you had that would make your life easier? –Less spam? –Faster file transfer, automatic file sync? –… What questions would you like to know the answer to? –Chances are there is data out there to help you find the answer…

Generalize From Specific Problems Previous work may outline many points in the design space There may be a general algorithm, system, framework, etc., that solves a large class of problems instead of going after point solutions

Specialize a General Problem Finding general problems –Look for general problem areas –Look for taxonomies and surveys that lay out a problem space Applying constraints to the problem in different ways may yield a new class of problems –Example: Routing (in wireless, sensor networks, wired, delay-tolerant networks, etc.)

Automation Some existing problems, tasks, etc. are manual and painful –Automation could make a huge difference –Its also often very difficult because it requires complex reasoning Related to pain points

Understanding Problems

Exhaustive Search Collect data –Often this can enhance your expertise as a side effect Model the problem –List all of the constraints to a problem space –Consider all of the different angles within your model that you might be able to attack the problem (example: phishing attacks, routing configuration errors) Consider many other examples –May suggest general framework or approach –You may also see a completely different approach

Formalization Define metrics –Consider ways to measure the quality of various solutions –What constitutes a good solution –Objective functions can be optimized Formalization/modeling can lead to simplifying assumptions (hopefully not over-simplifying) –Can also suggest ways to attack the problem –…or an algorithm itself

Decomposition Given a model, it often becomes easier to break a solution into smaller parts Solve (or at least understand) each piece individually and how they interact Even if you cannot solve the whole problem in toto, you can make progress