You are on page 1of 112

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?

M.S. Defense

+ What?
- When?

- When thesis is ready!

+ Who?
+ How Long?

+What?
+When?
- Who?
- You

- Advisor

- Committee

+How Long?

M.S. Defense

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?
c
Presentation: 30 45 mins
i
l
b
u
P
Questions and Answers: 10 30 mins
Closed doors

Discussion: 5 15 mins
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
h
t
i
w
e
n s
o
D si
e
h
t

s
k
e
e
w
e
e
Thr
e
m
i
t
f
o
d
a
ahe
sis is
e
h
t
r
e
t
f
A
complete

e
s
n
e
f
e
d
e
l
u
d
Sche
around here

Talk Preparation
You show
props
slides

Alexs 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

Alexs rules
For 1 hour talk:
First set : 24 hours
Second set:12 hours
Third set : 6 hours

Defense

Second rehearsal
with advisor
24-48 hours

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

Masters 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
Slide(s) before Outline
One-three slides

screen shots
output (e.g. In graphics)
architecture diagram
best experimental data

Quick visual summary of


your thesis

Speak
30-second version of your
thesis talk

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.

Edito
r

User

Data Management Framewor

Tools
DB Driver
Query
Processo
r
Query
Processo
r

GODDAG

DB Driver

In-memory data
structure

XML

Special
DBMS

RDBMS
Persistent
support

Extende
dXPath Extende
XQuery
d

Concurrent Parser

Driver

XML
(TEI)

Driver

JITTS

Driver

BUVH

XML

XML

Distributed XML Document

Other
representatio

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 (contd)
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

<firstname> Karthikeyan </firstname>

Markup

<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>
XXX

YYY

<college>

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]

Example:

Location step

/ 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>
XXX

<college>

descendant
ancestor

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

e
m
i
t
r
u
o
Y

!
e
n
i
h
s
to

Solution and Implementation

DO:
Think about it...
Come up with a narrative
Concentrate on ideas
Explain

DONT:

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 Definition


xdescendant
xancestor

xdescendant

xancestor

Se Boetius ws ore naman haten Seuerinus se ws heretoga Romana


Swati Tata

Extended XPath [TR394-04]


XPathExpression ::= LocationStep*
LocationStep ::= Axis ::nodetest [predicates]
New axes:
xancestor
xdescendant
xfollowing
xpreceding
overlapping

Semantics:
xancestor(n) := {x | start-index(x)

start-index(n) and
end-index(x) end Algorithms for linear evaluation of
index(x)}
axes

precedingoverlapping
followingoverlapping
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 Swatis
};

one technical moment

Swati Tata

Applying Normal Maps to the Implicit Surface

y
z

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

Edito
r

User

Data Management Framewor

Tools
DB Driver
Query
Processo
r
Query
Processo
r

GODDAG

DB Driver

In-memory data
structure

XML

Special
DBMS

RDBMS
Persistent
support

Extende
dXPath Extende
XQuery
d

Concurrent Parser

Driver

XML
(TEI)

Driver

JITTS

Driver

BUVH

XML

XML

Distributed XML Document

Architecture Diagram

Other
representatio

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

Output

8,216
triangles

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 didnt?

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 Joyces 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 ws ore naman <w>ha


<line/> ten</w> <w>Seuerin<dmg-start/>us</w> <w>s<dmg-end/>e</w> ws heretoga
<line/>Romana

Splits
<line> Se Boetius ws ore 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> ws
heretoga </line>
<line>Romana </line>

Durusau, ODonnel ( 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

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!