M.S. Thesis Presentation Alex Dekhtyar for CSC 590 We will talk about... • Logistics of M.S. Defense • Structure of Presentation • Presentation Style –Delivery –Slides Part I. M.S. Defense M.S. Defense + What? + When? + Who? + How Long? - M.S. Defense What? - Final step + When? + Who? + How Long? + What? - When? - M.S. Defense When thesis is ready! + Who? + How Long? + What? + When? - Who? M.S. Defense - You - Advisor - Committee + How Long? M.S. Defense + What? + When? + Who? - How Long? Presentation: 30– 45 mins Questions and Answers: 10 – 30 mins Discussion: 5 – 15 mins Total: 45 – 90 mins M.S. Defense + What? + When? + Who? - How Long? Presentation: 30– 45 mins Questions and Answers: 10 – 30 mins Discussion: 5 – 15 mins Closed doors Total: 45 – 90 mins Logistics Committee Selection Defense Scheduling Talk Preparation Committee Selection Committee = Advisor + at least 2 more faculty members Selected by: You and Advisor Select: (a)Those who know you (b)Those who know the field When: as early as possible Scheduling Defense Talk Preparation You show props slides Alex’s rules For 1 hour talk: First set : 24 hours Second set:12 hours Third set : 6 hours You speak Think ... Memorize first 2-5 mins Practice, practice, practice Talk Preparation First rehearsal with advisor 24-48 hours Alex’s rules For 1 hour talk: First set : 24 hours Second set:12 hours Third set : 6 hours Second rehearsal with advisor 24-48 hours Defense Logistics Committee Selection Defense Scheduling Talk Preparation We will talk about... • Logistics of M.S. Defense Structure of Presentation • Presentation Style –Delivery –Slides Part II. Presentation Structure Presentation Outline Title Slide: «backstory» Teaser Outline Introduction/Motivation Problem Background Solution Implementation Validation Related work Future work and conclusions 7 – 12 minutes 5 – 20(!) minutes 10 - 25 minutes 5 - 10 minutes 3 - 5 minutes Title Slide & Backstory Direct Extraction of Normal Maps from Volume Data Title Advisor Master’s Thesis Thesis mention By Mark Barry Name Department University February 2007 Date Management of Concurrent XML using Distributed DOM Karthikeyan Sethuramasubbu Advisor: Dr. Alexander Dekhtyar Department of Computer Science University of Kentucky Building An Operational Data Store For A Direct Marketing Application System Chad Smith March, 2009 Department of Computer Science California Polytechnic State University, SLO Title Slide & Backstory Slide • Title • Name • Advisor • Department • Thesis mention • Date Speak • Who you are • What you do • How you came across this project • ... a smooth transition to next slide... Teaser Distributed DOM Processor EXPath Processor DOM DOM … DOM Distributed DOM DOM Parser XML XML … XML Distributed XML Document Karthikeyan S. Multi-hierarchical XML Teaser (Optional) Slides Speak • Slide(s) before Outline • One-three slides • 30-second version of your thesis talk – – – – • screen shots output (e.g. In graphics) architecture diagram «best» experimental data Quick visual summary of your thesis Why • Show your contribution right away When • Your Intro/Background part is long (15+ mins) Sravanthi Vadlamudi Project Goal Developed front-end for an automated requirements tracing tool. Data Management Framework User Editor Tools DB Driver Special DBMS Query Processor Query Processor GODDAG DB Driver In-memory data structure XML RDBMS Persistent support Extended XPath Extended XQuery Concurrent Parser Driver XML (TEI) … Driver JITTS Driver BUVH XML XML Distributed XML Document Other representations Emil Iacob Outline Outline • • • • • • • Introduction Contributions Previous Work Initial Exploration Dual Contouring With Normal Map Extraction Results Conclusion and Future Work Mark Barry Outline Slide List of key «milestones» in talk Speak • VERY LITTLE! Use throughout the talk to keep track of where you are Presentation Outline Title Slide: «backstory» Teaser Outline Introduction/Motivation Problem Background Solution Implementation Validation Related work Future work and conclusions Introduction/Motivation Your Goals 1. Explain the subject area 2. Motivate your problem 3. State your contributions 5-10 minutes By minute 10 of the talk your contribution(s) MUST be stated/described Introduction (cont’d) My Contributions – Signature files • • • • • Abstraction Storage requirements Search space Network traffic Backend load sharing – Cooperative I.S. daemon • Transparency • Update independence – Query manager • Building SQL statements • Query shipment decisions Saad Ijad Contributions • Direct extraction of low-resolution meshes with normal maps from volume data – One integrated step – Excellent visual results – Fast • Benefits: – Shortcuts the current multi-step process • High-resolution mesh never generated • No extra high- to low-resolution simplification process • Efficient “search” generating normal maps Mark Barry Problem Definition Formal Problem statement must be found in your talk May be fully covered in Introduction May be fully covered in Background May need to be formally stated separately Mark Barry Introduction • Problem: – High-resolution meshes = slow to render • Use low-resolution meshes – Fast to render – Still look good One of a number of slides Speak • Articulate the problem • Use stress, inflection Background Committee members must understand what your work is about Background Non-Functional Requirements 1. (Relatively) short 2. Explain all necessary things 3. Sufficient to explain/introduce/define your problem 4. Should assume General CS knowledge within curriculum No special topic knowledge What is XML? Attribute name <student id=“123456”> Attribute value Markup <firstname> Karthikeyan </firstname> <lastname> Sethuramasubbu </lastname> <college> College of Engineering content <major>Computer Science</major> </college> </student> XML schema to Validate XML <!ELEMENT Student (firstname, lastname, college) <!ELEMENT college (#PCDATA | major)*> <!ATTLIST Student id ID #REQUIRED> <!ELEMENT firstname #PCDATA> Karthikeyan S. Document Object Model (DOM) root <student> id=“123456” <firstname> <lastname> XXX <college> element node YYY College of Engineering attribut e node Text node <major> Computer Science Karthikeyan S. Path Expressions <student> id=“123456” <firstname> <lastname> <college> XXX YYY College of Engineering Find the major of the student: <major> Computer Science student college major /student/college/major is called the path expression Karthikeyan S. XPath – To access data from XML XPathExpression:= step1/step2/step3/……../stepn stepi := axis :: node-test Predicate* Predicate := [expression] Location step Example: / child ::college [position()=1] / descendant::* axis Node-test predicate Karthikeyan S. Took about 10 mins XPath Introduced 2-3 weeks worth of course material <student> context node XPath Axes •child id=“123456” <firstname> <lastname> <college> •descendant •ancestor XXX YYY College of Engineering child <major> •parent •preceding Computer • following Science •attribute Context Node : current node in the tree Karthikeyan S. Presentation Outline Title Slide: «backstory» Teaser Outline Introduction/Motivation Problem Background Solution Implementation Validation Related work Future work and conclusions Solution and Implementation Solution and Implementation DO: Think about it... Come up with a narrative Concentrate on ideas Explain DON’T: Get bogged in minutia Jump from point to point Leave cruicial pieces out Solution and Implementation Remember: Highlight that this is your work! Formal description of your work is called thesis Presentation = high level description You get (at most) one chance to go technical Use it wisely A picture is worth a thousand words Specific «things» • Definitions – Example/Illustration – Formal statement Extended Axis Definitions xdescendant xancestor xdescendant xancestor Se Boetius wæs ođre naman haten Seuerinus se wæs heretoga Romana Swati Tata Extended XPath [TR394-04] XPathExpression ::= LocationStep* LocationStep ::= Axis ::nodetest [predicates] New axes: • xancestor • xdescendant • xfollowing • xpreceding Semantics: xancestor(n) := {x | start-index(x) ≥ start-index(n) and end-index(x) ≤ end-index(x)} • Algorithms for linear evaluation of axes • overlapping • preceding-overlapping • following-overlapping • and their combinations New function: documents(String[,String]*) New return type: ICollectionSet Specific «things» • Definitions – Example/Illustration – Formal statement • You may include formal statements • But: spend your time on examples Specific «things» • Algorithms/Methods/Techniques – – – – Example/Illustration Pseudocode Code Math Surface Extraction From Volume Data • Marching Cubes algorithm Mark Barry Surface Extraction From Volume Data • Marching Cubes algorithm Mark Barry Surface Extraction From Volume Data • Extended Marching Cubes algorithm – Captures features better Contour vertices with normals Marching Cubes contour surface Extended Marching Cubes contour surface Mark Barry Surface Extraction From Volume Data • Might not explain • Extended Marching Cubes algorithm much by itself – Captures features better • But remember – you get to talk Contour vertices with normals Marching Cubes contour surface Extended Marching Cubes contour surface Mark Barry xdescendant (Pseudo-code) evaluateXdescendant (n, hname, result) { if n is leaf-node return null evaluateDescendant (n, hname, result) append result to a Vector V for each element p in Vector V if Start index of p is in between the start and end index of n append p to result return result } Karthikeyan S. Swati Tata Extended XPath to XQuery /xdescendant-or-self::*/parent::* for $u in ( (for $x in doc(‘doc1’) /descendant-or-self::* where local:startIndex ($x) >= startIndex (doc(“doc1”)) and local:endIndex($x) < =endIndex (doc(“doc1”)) return if ($x intersect $R) $x union $R else $x) union …… (for $x in doc(‘docn’) /descendant-or-self::* where local:startIndex ($x) >= startIndex (doc(“docn”)) and local:endIndex($x) <= endIndex (doc(“docn”)) return if ($x intersect $R) then $x union $R else $x) ) return ( (for $u1 in doc(“doc1”)/$u/parent::* return if $x intersect $R then $x union $R else $R) union …. (for $u1 in doc(“docn”)/$u/parent::* return if $x intersect $R then $x union $R else $R) ) Evaluation of startIndex and endIndex • End index computed as sum of start index and total length of the descendant text nodes. declare function local: endIndex ($node as node()) as xs: integer { let $st:=local: startIndex ($node) let $nodeText:=fn: string-join ((for $u in $node/descendant-or-self::* return $u/text()),'') let $len:=fn: string-length ($nodeText) let $end:=$st+$len return($end) }; Swati Tata Evaluation of startIndex and endIndex • End index computed as sum of start index and total length of the descendant text nodes. declare function local: endIndex ($node as node()) as xs: integer { let $st:=local: startIndex ($node) let $nodeText:=fn: string-join ((for $u in $node/descendant-or-self::* return $u/text()),'') let $len:=fn: string-length ($nodeText) let $end:=$st+$len return($end) This was Swati’s }; «one technical moment» Swati Tata Applying Normal Maps to the Implicit Surface y y z x z x 2 x ab sin(bx) f ( x, y , z ) 2 y ab sin(by) 2 z ab sin(bz) y z y x x Mark Barry Specific «things» • Algorithms/Methods/Techniques – – – – Example/Illustration Pseudocode Code Math • You may include math/pseudocode • But: spend your time on examples Specific «things» • Software – – – – – – Architecture Diagram Component-by-component coverage Implementation Info Screenshots/Walkthroughs Output Demo Data Management Framework User Editor Tools DB Driver Special DBMS Query Processor Query Processor GODDAG DB Driver In-memory data structure XML RDBMS Persistent support Extended XPath Extended XQuery Concurrent Parser Driver XML (TEI) … Driver JITTS Driver BUVH XML XML Distributed XML Document Architecture Diagram Other representations Emil Iacob Sravanthi Vadlamudi Start a new project Software Screenshots/ Walkthrough Sravanthi Vadlamudi Advanced mode Sravanthi Vadlamudi Trace tab Sravanthi Vadlamudi RETRO Trace tab Sravanthi Vadlamudi RETRO Browse tab Sravanthi Vadlamudi Browse tab Sravanthi Vadlamudi RETRO Trace tab Sravanthi Vadlamudi RETRO View tab Applying Normal Maps to the Implicit Surface 138,632 triangles 8,216 triangles Output Mark Barry Adaptive Contouring of Volume Data With Normal Map Extraction • Results Mark Barry Implementation • • • • Emulation Java 2 Micro Edition Sun Wireless Toolkit Oracle, SQL Server 2000, MS Access • Java Database Connectivity Implementation Details Saad Ijad Presentation Outline Title Slide: «backstory» Teaser Outline Introduction/Motivation Problem Background Solution Implementation Validation Related work Future work and conclusions Validation + How did you evaluate? + What did you do? + What results did you obtain? + What do results mean? Validation - How did you evaluate? - Experiment - Case Study - Software V&V - Testimony +What did you do? + What results did you obtain? + What do results mean? Validation + How did you evaluate? + What did you do? + What results did you obtain? + What do results mean? Validation + How did you evaluate? - What did you do? - Hypothesis/Objective of study - Experimental/Case study design - Validation activities, ... + What results did you obtain? + What do results mean? Validation + How did you evaluate? + What did you do? + What results did you obtain? + What do results mean? Validation + How did you evaluate? + What did you do? - What results did you obtain? - Graphs, charts, tables, ... Program output +What do results mean? Validation + How did you evaluate? + What did you do? + What results did you obtain? + What do results mean? Validation + How did you evaluate? + What did you do? + What results did you obtain? - What do results mean? - Hypothesis confirmed? - What worked? - What didn’t? Validation + How did you evaluate? + What did you do? + What results did you obtain? + What do results mean? + At this point you are probably running out of time... Evaluation Outline • Original text is taken from James Joyce’s Ulysses (project Gutenberg) • Used 10 hierarchies • Markup generated randomly for these 10 hierarchies Karthikeyan S. Evaluation Outline • Four sets of queries – Queries that test individual axes • /xdescendant:: line/ancestor::* – Queries with recursive predicates • / xdescendant:: line [xancestor:: fol] – Queries with varying number of hierarchies • /child::* (“condition, navigation”) – Queries with varying length • /overlapping:: (“condition”) • /overlapping:: (“condition”) / overlapping:: (“navigation”) Karthikeyan S. Experimental Results Karthikeyan S. Experimental Results Karthikeyan S. Experimental Results Karthikeyan S. Results 225,467 quads 558 quads 360 ms 1 ms 99.8% fewer polygons 360x faster to render Mark Barry Results 225,467 quads 65 quads 360 ms 0.3 ms 99.97% fewer polygons 1200x faster to render Mark Barry Results 150,823 quads 10,950 quads 245 ms 22 ms 92.7% fewer polygons 11.1x faster to render Mark Barry Results 64,896 quads 3,035 quads 103 ms 6 ms 95.3% fewer polygons 17.2x faster to render Mark Barry Results 56,637 quads 91 ms 1,406 quads 97.5% fewer polygons 3 ms 30.3x faster to render Mark Barry Sravanthi Vadlamudi Results of Survey • Simple experiment to trace 22 high level with 52 low level requirements is assigned. • Experiment was done on 30 students of class cs617. • Group1 had 15 students for manual tracing. • Group 2 had 15 students for tracing using RETRO. • A Survey with 7 questions is given to each group and answers were on 5-point scale. 5 is strongly agree and 1 is strongly disagree. Sravanthi Vadlamudi Questions of Survey • Questions common to both groups. The project could be completed quickly. The project was tedious. If I were The project was simple to complete. performing a similar task in the future, I would want to use a software tool to assist. • MEANS for questions: 1 Manual Group RETRO Group 2 3 4 3.4 2.3 3.6 4.5 3.6 3.4 2.5 3.8 Sravanthi Vadlamudi Questions Specific to RETRO • RETRO was easy to use. • I would rather have completed the project by hand than use RETRO. • It probably took less time to use RETRO than it would have to complete the project by hand. • Means for questions: 5 6 7 3.8 2.2 3.6 Questions specific to manual group • I would rather have completed the project by hand than use a software tool. • It probably would have taken less time to use a software tool to complete the project than it did by hand. • Means for questions: 5 6 2 4.4 Sravanthi Vadlamudi Results of survey(Contd…) • From the analysis of the result : Students liked using RETRO. Students of manual group preferred using some software tool. Sravanthi Vadlamudi Presentation Outline Title Slide: «backstory» Teaser Outline Introduction/Motivation Problem Background Solution Implementation Validation Related work Future work and conclusions Related Work Terse: List of papers nothing else Verbose Overview Detailed description of one-two approaches Compare-and-contrast Previous Work • Contour surface (mesh) extraction from volumes • Adaptive contouring • Dual contouring • Generating normal maps Terse, but no citations! Mark Barry Concurrent Hierarchies • Representation of non-well-formed features within the same XML document • TEI Guidelines (P4) • Milestone (empty) elements Here, drawbacks of existing work are used to motivate research <line/> Se Boetius wæs ođre naman <w>ha <line/> ten</w> <w>Seuerin<dmg-start/>us</w> <w>s<dmg-end/>e</w> wæs heretoga <line/>Romana • Splits <line> Se Boetius wæs ođre naman <w id=“1”>ha</w> </line> <line> <w id=“1”>ten</w> <w>Seuerin<dmg id=“2”>us</dmg></w> <w><dmg id=“2”> s</dmg>e</w> wæs heretoga </line> <line>Romana </line> •Durusau, O’Donnel ( XML Europe 2002) • Separate DTDs • One XML document • Xpath expressions encode markup of “atomic pieces” Emil Iacob Future Work • Promises, promises: 1. Fix known weaknesses/incompletness 2. Add new features 3. Apply to something else Conclusion and Future Work • Future Work 3 – Application to games? 2 – Determine good simplification error metric • Optimal placement of fine details in normal map vs. mesh – Faster and high-quality normal interpolation – Optimize code Mark Barry Future Enhancements 1 • Re-write the back end to java. 1• Display the keywords used in tracing to the analyst. 2 • Color-code the keywords in both the high level and low level elements • 2 Enable analyst to modify the keywords used for tracing. Sravanthi Vadlamudi Future Work • Promises, promises: 1. Fix known weaknesses/incompletness 2. Add new features 3. Apply to something else – Who? – Not necessarily you – Be bold! Conclusions What you did What you achieved What you learned What you published Part III. Presentation Style Next Time!