09 2 software tools introduction to part ii · software tools introduction to part ii compsci e...
TRANSCRIPT
009
YEAR
20 7
32
Software ToolsIntroduction to Part II
CO
MP
SC
I Introduction to Part II
eala
nd Part II - Lecture 1
klan
d | N
ew Z
eve
rsity
of A
uck
The
Uni
v
1
Christof Lutteroth009 • Originally from Berlin, Germany
YEAR
20 7
32
g y y• My research interests: HCI, Software Engineering• Contact details:
l tt th@ kl d
CO
MP
SC
I [email protected] 373-7599 84478Office 303 - 494 (4th level CompSci building)
eala
nd
Office 303 494 (4 level CompSci building)
• If you have questions, come to my office
klan
d | N
ew Z
e y q , y• A good time to see me is directly after the lectures
vers
ity o
f Auc
kTh
e U
niv
2
Part II Timetable009 When What Where
YEAR
20 7
32
Monday 13-14 Lecture 279Tuesday 13-14 Lecture/Tutorial 279
CO
MP
SC
I Thursday 13-14 Lab GCL
At least twice Your project team You decide
eala
nd
At least twice every week
Your project team meeting
You decide
klan
d | N
ew Z
e
1st June 7pm Assignment 2 (25%)
ADB
vers
ity o
f Auc
k
TBA Exam (50%) TBA
The
Uni
v
33
009
YEAR
20 7
32C
OM
PS
CI
Introduction to Part II
eala
nd
Introduction to Part II
klan
d | N
ew Z
eve
rsity
of A
uck
The
Uni
v
4
Software Tools009 • Humans are necessary for creative,
YEAR
20 7
32
yintelligent tasks
• Tools can support such tasksI d ti it ith f l
CO
MP
SC
I – Increase productivity with useful functionality
– Guide the developer (e g context help)
eala
nd
Guide the developer (e.g. context help)– Avoid defects
H f h hl
klan
d | N
ew Z
e • Humans are not necessary for highly repetitive, routine work
• Tools can automate such tasks
vers
ity o
f Auc
k • Tools can automate such tasks– Increase productivity; more time for
creative work
The
Uni
v
5– Avoid defects introduced by the human factor
Development Processes (Ex mpl : RUP)
009
(Example: RUP)
YEAR
20 7
32C
OM
PS
CI
eala
ndkl
and
| New
Ze
vers
ity o
f Auc
kTh
e U
niv
62006 Giles Lewis
Version Control Systems009
y
• Technology to manage changes that several YEAR
20 7
32
gy g gdevelopers do on a common repository
• Changes create new version of the changed files
CO
MP
SC
I
• Old versions are always accessibleDevelopers
eala
nd WorkingCopy Repository
Developers
klan
d | N
ew Z
e y p y
Version 5Working
vers
ity o
f Auc
k
Version 2Version 3
Version 4Copy
W ki
The
Uni
v
7Version 1Working
Copy
Compilers009
pclassclass X {
Source Code Token Stream
YEAR
20 7
32
Lexeryint
X {Parser
class X {// commentint y;
}
CO
MP
SC
I
; }
class X
}
eala
nd
0110010010 CheckerCode
Generator var
i t
y
klan
d | N
ew Z
e
Errors
intAbstractSyntaxTree
Target Code
vers
ity o
f Auc
k
• Lexer chops the source code into tokens
The
Uni
v
• Parser constructs the syntactic relations between the tokens (abstract syntax tree, AST) 8
Type Systems009
yp y
Type Checking: detect potential runtime errors in YEAR
20 7
32
yp g psource code
int m(String s) {int y = s + 1;
CO
MP
SC
I
m(y,3);return s;
}
eala
nd Type System: Formalize type checking by using rules
}
klan
d | N
ew Z
e yp y yp g y gthat describe correct programs
vers
ity o
f Auc
kTh
e U
niv
9
Learning Outcomes009
g
After the course you should be able to…YEAR
20 7
32
y• Apply some of the eXtreme Programming practices• Describe main concepts of version control systems
CO
MP
SC
I
m p f y m• Use Subversion to efficiently work in a team• Use ANTLR to create your own lexers and parsers
eala
nd
Use ANTLR to create your own lexers and parsers• Do simple type derivations using formal type systems• Write simple academic research papers
klan
d | N
ew Z
e Write simple academic research papers
vers
ity o
f Auc
kTh
e U
niv
10
009
YEAR
20 7
32C
OM
PS
CI
Assignment 2
eala
nd
Assignment 2
klan
d | N
ew Z
eve
rsity
of A
uck
The
Uni
v
11
Assignment 2009
g
25% in total for one team research projectYEAR
20 7
32
p j• Teams of four• Choose a given topic or come up with your own
CO
MP
SC
I
g p m p y• Every project has a mentor
– Mentor is there to guide the project
eala
nd
Mentor is there to guide the project– Mentor has regular meetings with team– Team’s responsibility to ask mentor
klan
d | N
ew Z
e Team s responsibility to ask mentor• Submit individual report
– 5 pages IEEE style
vers
ity o
f Auc
k 5 pages IEEE style– Text, figures, bibliography– Will be graded by marker
The
Uni
v Will be graded by marker– 1st June Assignment Dropbox 12
Project Expectations009
j p
• The project is flexible and scalable YEAR
20 7
32
p jExpectations:– Work as a team
CO
MP
SC
I (you can work with other teams as well!)• Have a project group meeting every week
eala
nd
• If you are stuck, ask! (your teammates, mentor, other teams, lecturer)
klan
d | N
ew Z
e
• Come to the lectures/labs (you will learn what you need to do a good project)
20 h f d l t ( it t th )
vers
ity o
f Auc
k – 20 hours for development (commit to the repo)– 10 hours for report (IEEE style)
O l h j h b i
The
Uni
v – Only the project report has to be written individually (everything else can be teamwork) 13
Report Grading Schedule009
p g
Approx. 5 pages (including figures) IEEE styleYEAR
20 7
32
pp p g ( g g ) y1. Introduction:
Have you introduced the project and its aims?
CO
MP
SC
I
2. Related Work: Project background? Have you cited and described academic related work (≥4 citations)?
eala
nd
3. Requirements: What needed to be done? Why?4. Design: How did you design your solution? Why?
klan
d | N
ew Z
e
5. Implementation: How did you implement it? What did you contribute? How did the team work? Challenges?
vers
ity o
f Auc
k
6. Conclusion: Achievements? Conclusions? Lessons? Future/unfinished work?
The
Uni
v
14
009
YEAR
20 7
32C
OM
PS
CI
Suggested Projects
eala
nd
Suggested Projects
klan
d | N
ew Z
eve
rsity
of A
uck
The
Uni
v
15
PDStore Projects009
j• A database system developed here at Uni
C l f tYEAR
20 7
32
• Cool features:– Versioning
d/ d d
CO
MP
SC
I – Structured/unstructured data– Compression
eala
nd
– Merging• Comes with tools:
klan
d | N
ew Z
e
– Visual data editor PDEdit– Data access layer generator PDGen
vers
ity o
f Auc
k
• Group of Masters & PhD students working on it
The
Uni
v
16
PDStore Projects009
j1. Configurable shapes for PDEdit (Ted)2 A t ti l t f PDEDit (T d)
YEAR
20 7
32
2. Automatic layout for PDEDit (Ted)3. Performance engineering (bottleneck analysis,
optimizations caching Btrees ) (Daniel)
CO
MP
SC
I optimizations, caching, Btrees…) (Daniel)4. Extraction of Wikipedia into PDStore (Lian)5 P t PDSt t P th (D )
eala
nd
5. Port PDStore to Python (Danver)6. Flexible object persistence in Python (Danver)7 SPARQL f PDSt (M k)
klan
d | N
ew Z
e 7. SPARQL for PDStore (Mark)
D i l ( d 011) D (db 072)
vers
ity o
f Auc
k Daniel (zden011), Danver (dbra072),Lian (llee058), Mark (gsun014), Ted (tyeu008)
The
Uni
v
17
Auckland Interface Model (AIM)
009
(AIM)• Cross-platform customization system for GUIs
YEAR
20 7
32
• Allows you to change a GUI while it is running• E.g. to make it easier, better, more personal
CO
MP
SC
I
Projects:1 Widget customization in AIM for Java
eala
nd
1. Widget customization in AIM for Java(using latest PDStore) (Clemens)
2 Layout editing in AIM for Flash (Ted)
klan
d | N
ew Z
e 2. Layout editing in AIM for Flash (Ted)3. AIM for C# (Clemens)4 AIM table widget (Ted)
vers
ity o
f Auc
k 4. AIM table widget (Ted)
Clemens (clemens zeidler@googlemail com)
The
Uni
v Clemens ([email protected]),Ted (tyeu008) 18
Haiku009 • Novel open-source operating system
YEAR
20 7
32
p p g y• Modular, coherent design• Friendly and active community
CO
MP
SC
I
y mm y• C++
eala
nd
Projects:1 PDStore for Haiku
klan
d | N
ew Z
e 1. PDStore for Haiku2. PDEdit for Haiku3 AIM for Haiku
vers
ity o
f Auc
k 3. AIM for Haiku4. Text view with C++ code completion (using CLANG)
The
Uni
v
Mentor: Clemens ([email protected]) 19
009
YEAR
20 7
32C
OM
PS
CI
Summary
eala
nd
Summary
klan
d | N
ew Z
eve
rsity
of A
uck
The
Uni
v
20
Today’s summary009
y y
Part 2 will cover various types of tools and techniques:YEAR
20 7
32
yp q1. Development processes (eXtreme Programming)2. Version Control Systems (Subversion, git)
CO
MP
SC
I
y m ( , g )3. Compilers4. Type systems
eala
nd
4. Type systems5. Academic Writing (Assignment 2 report)
klan
d | N
ew Z
e
1. Form a team (max 4)2 Ch p j t t th
vers
ity o
f Auc
k 2. Choose a project together3. Attend the lab to discuss your project
with Christof (Thursday 1pm in GCL)!!!
The
Uni
v
21
( y p )
Quiz009
Q1. How can software tools help with repetitive routine
tasks?YEAR
20 7
32
tasks?2. How can software tools help with creative tasks?3. Name four of the five main topics covered in part 2.
CO
MP
SC
I
p p
eala
ndkl
and
| New
Ze
vers
ity o
f Auc
kTh
e U
niv
22