SlideShare a Scribd company logo
1 of 46
Download to read offline
Jácome Cunha
LMCC
2001-2006 (e mais além)
Toda a Verdade
Disclaimer
• Uma parte desta apresentação baseia-se na minha
memória
• Esta (a minha memória) nunca foi conhecida como
sendo muito fiável…
• Logo, é possível que alguns factos sejam apenas
aproximações à verdade
• Por favor, não me levem muito a sério ;)
2
Porquê LMCC?
3
LESI…
4
A Paixão foi Imediata!
• No início foi triste :(
• Mas rapidamente
me apercebi do
“erro” inicial
• E da sorte que tive
5
A vida tem sempre um plano para nós!


(mesmo que tentam escolher o curso errado
para vocês :)
6
Como foi o curso?
7
Duro, muito duro!!
8
Era precisar pensar, muito!
Difícil para quem acaba
de vir do secundário…
9
Lex+Yacc??
Isso é muito fácil, vocês
aprendem sozinhos.
10
“Não estou aqui para vos
ensinar, mas sim para
vos questionar”
11
“Entram porcos,
saem salsichas!”
12
“Diverti-me a implementar
isto, no fim de semana,
como um Monad de estado.”
13
Os alunos do L(M)CC (e já agora
os de LE(S)I) saem preparados
como poucos!
14
Nos últimos três anos os do DI/FCT/UNL
também começaram a melhorar ;)
E no final do curso?
15
Não fiquei muito
motivado…
17
Projeto Final de Curso
• Integrei o projeto PURe, enquanto
bolseiro
• Orientado pelo Prof. Luís Barbosa e Dr.
Joost Visser
• Publicamos depois o meu primeiro artigo
científico
19
Curso terminado,
now what?
20
PhD??
• Acho que na altura nem percebia bem o que era…
• Mas não era ERPs, e parecia-me desafiante,
excitante mesmo
• Mas afinal, o que se faz num doutoramento??
• Para começar, é-se (des?)orientadores: 

Prof. João Saraiva e Dr. Joost Visser
• Investigação em… folhas de cálculo!
23
24
Mas de facto também
se trabalha!
25
HaExcel (?)
26
A B
C D E
...
are provided through a tool, called Gencel, which is an ex-
tension to MS Excel that restricts the definition and pos-
sible evolution of a concrete spreadsheet according to the
specification given by the template. Thus, illegal update
operations like a partial copying or moving of vertical (vex)
or horizontal (hex) recurring groups are prevented. Further-
more, formulas are updated correctly and automatically. For
example, in the case of inserting new instances of vex or hex
groups in a concrete generated spreadsheet. For details on
the type system and spreadsheet generation, we refer to [12].
Figures 2 and 3 demonstrate a somewhat more involved
example of a Vitsl template and a corresponding Gencel
spreadsheet application for a budget calculation. We will
use this application to illustrate some limitations of the
Vitsl/Gencel approach as a motivation for the proposed
ClassSheet model.
Figure 2 shows that a hex group has been defined by clus-
tering columns C, D, and E. The underlying problem domain
requirement was that for each year (and for each category)
the values Qnty, Cost and their product form a logical unit
and should occur in the spreadsheet. The only way to ex-
press this logical clustering of three cells within Vitsl is by
the omission of layout-oriented notations as the two small
vertical bars in the header row between C, D, and E. In Gen-
cel, this grouping causes the corresponding insertion and
deletion of groups of three columns as blocks.2
Now imagine that the Vitsl designer would have grouped
only the cells D and E, which would solely be visible in
Vitsl by an additional bar within the header row between
the columns C and D. This notationally minimally di er-
ent Vitsl model would have resulted in a completely di er-
ent spreadsheet application, in which the horizontal repeti-
tion would have been restricted to the two columns D and
E. This di erent grouping would express that the quantity
value is fixed for all years, while only the cost value might
vary yearly.
Another possible source for an error-prone spreadsheet
model is due to the indication of references in formu-
las by means of cell-oriented addresses like C4*D4. Here,
once more, the use of business logic-oriented notations like
Qnty*Cost helps to prevent the design of incorrect data com-
putations.
Therefore, since Vitsl is limited to the support of layout-
of data values, which are summed up and the sum of which
is shown in a separate cell. From an object-oriented point
of view, one can see a summation object, which aggregrates
a list of objects bearing single data values. Looking at the
layout structure, the list of single value objects, consisting
of a header Item and a list of value objects, is embedded into
the layout of the summation object, consisting of a header
entry Income and a footer with the label Total and an ag-
gregation formula assigned to an attribute named total. We
call such an object-oriented extended template a ClassSheet
since it defines classes together with their attributes and
aggregational relationships.
1
A
Income
2
3
Item
value = 0
4 Total
5 total = SUM(Item.value)
...
total : Int
Income
value : Int = 0
Item
*
SUM(Item.value)
IncomeˆItemˆ0 ˆTotalˆSUM((0, 2))
Figure 5: A simple one-dimensional ClassSheet.
Thus, ClassSheets consists of a list of attribute definitions
grouped by classes and are arranged on a two dimensional
grid. Additional labels are used to annotate the concrete
representation. Class names are set in boldface in contrast
to attribute names and labels, which are set in normal face.
In addition, colored borders are used to depict the di erent
classes within a ClassSheet.3
Class parts may be spread over header and footer en-
tries, which results in a bracket-like structure indicated by a
square-bracket-like notation of (open) class rectangles. For
example, in Figure 5, the red class Income is split into a
header and footer part that surrounds the blue class Item.
References to other entries, being expressed in Vitsl by co-
ordinates, are defined by using attribute names, as shown in
the SUM formula in the example. Summarizing, ClassSheets
...
Generate
SS App
Detect FDs Infer CS
Map to
UML
Original SS
Improved SS
Map to
RDB
Map to
other
paradigms
are provided through a tool, called Gencel, which is an ex-
tension to MS Excel that restricts the definition and pos-
sible evolution of a concrete spreadsheet according to the
specification given by the template. Thus, illegal update
operations like a partial copying or moving of vertical (vex)
or horizontal (hex) recurring groups are prevented. Further-
more, formulas are updated correctly and automatically. For
example, in the case of inserting new instances of vex or hex
groups in a concrete generated spreadsheet. For details on
the type system and spreadsheet generation, we refer to [12].
Figures 2 and 3 demonstrate a somewhat more involved
example of a Vitsl template and a corresponding Gencel
spreadsheet application for a budget calculation. We will
use this application to illustrate some limitations of the
Vitsl/Gencel approach as a motivation for the proposed
ClassSheet model.
Figure 2 shows that a hex group has been defined by clus-
tering columns C, D, and E. The underlying problem domain
requirement was that for each year (and for each category)
the values Qnty, Cost and their product form a logical unit
and should occur in the spreadsheet. The only way to ex-
press this logical clustering of three cells within Vitsl is by
the omission of layout-oriented notations as the two small
vertical bars in the header row between C, D, and E. In Gen-
cel, this grouping causes the corresponding insertion and
deletion of groups of three columns as blocks.2
Now imagine that the Vitsl designer would have grouped
only the cells D and E, which would solely be visible in
Vitsl by an additional bar within the header row between
the columns C and D. This notationally minimally di er-
ent Vitsl model would have resulted in a completely di er-
ent spreadsheet application, in which the horizontal repeti-
tion would have been restricted to the two columns D and
E. This di erent grouping would express that the quantity
value is fixed for all years, while only the cost value might
of data values, which are summed up and the sum of which
is shown in a separate cell. From an object-oriented point
of view, one can see a summation object, which aggregrates
a list of objects bearing single data values. Looking at the
layout structure, the list of single value objects, consisting
of a header Item and a list of value objects, is embedded into
the layout of the summation object, consisting of a header
entry Income and a footer with the label Total and an ag-
gregation formula assigned to an attribute named total. We
call such an object-oriented extended template a ClassSheet
since it defines classes together with their attributes and
aggregational relationships.
1
A
Income
2
3
Item
value = 0
4 Total
5 total = SUM(Item.value)
...
total : Int
Income
value : Int = 0
Item
*
SUM(Item.value)
IncomeˆItemˆ0 ˆTotalˆSUM((0, 2))
Figure 5: A simple one-dimensional ClassSheet.
Thus, ClassSheets consists of a list of attribute definitions
grouped by classes and are arranged on a two dimensional
grid. Additional labels are used to annotate the concrete
representation. Class names are set in boldface in contrast
to attribute names and labels, which are set in normal face.
In addition, colored borders are used to depict the di erent
classes within a ClassSheet.3
UML Class
Diagram
FDs
ClassSheet
Relational DB
Ha(skell)Excel
27
A B
C D E
...
are provided through a tool, called Gencel, which is an ex-
tension to MS Excel that restricts the definition and pos-
sible evolution of a concrete spreadsheet according to the
specification given by the template. Thus, illegal update
operations like a partial copying or moving of vertical (vex)
or horizontal (hex) recurring groups are prevented. Further-
more, formulas are updated correctly and automatically. For
example, in the case of inserting new instances of vex or hex
groups in a concrete generated spreadsheet. For details on
the type system and spreadsheet generation, we refer to [12].
Figures 2 and 3 demonstrate a somewhat more involved
example of a Vitsl template and a corresponding Gencel
spreadsheet application for a budget calculation. We will
use this application to illustrate some limitations of the
Vitsl/Gencel approach as a motivation for the proposed
ClassSheet model.
Figure 2 shows that a hex group has been defined by clus-
tering columns C, D, and E. The underlying problem domain
requirement was that for each year (and for each category)
the values Qnty, Cost and their product form a logical unit
and should occur in the spreadsheet. The only way to ex-
press this logical clustering of three cells within Vitsl is by
the omission of layout-oriented notations as the two small
vertical bars in the header row between C, D, and E. In Gen-
cel, this grouping causes the corresponding insertion and
deletion of groups of three columns as blocks.2
Now imagine that the Vitsl designer would have grouped
only the cells D and E, which would solely be visible in
Vitsl by an additional bar within the header row between
the columns C and D. This notationally minimally di er-
ent Vitsl model would have resulted in a completely di er-
ent spreadsheet application, in which the horizontal repeti-
tion would have been restricted to the two columns D and
E. This di erent grouping would express that the quantity
value is fixed for all years, while only the cost value might
vary yearly.
Another possible source for an error-prone spreadsheet
model is due to the indication of references in formu-
las by means of cell-oriented addresses like C4*D4. Here,
once more, the use of business logic-oriented notations like
Qnty*Cost helps to prevent the design of incorrect data com-
putations.
Therefore, since Vitsl is limited to the support of layout-
of data values, which are summed up and the sum of which
is shown in a separate cell. From an object-oriented point
of view, one can see a summation object, which aggregrates
a list of objects bearing single data values. Looking at the
layout structure, the list of single value objects, consisting
of a header Item and a list of value objects, is embedded into
the layout of the summation object, consisting of a header
entry Income and a footer with the label Total and an ag-
gregation formula assigned to an attribute named total. We
call such an object-oriented extended template a ClassSheet
since it defines classes together with their attributes and
aggregational relationships.
1
A
Income
2
3
Item
value = 0
4 Total
5 total = SUM(Item.value)
...
total : Int
Income
value : Int = 0
Item
*
SUM(Item.value)
IncomeˆItemˆ0 ˆTotalˆSUM((0, 2))
Figure 5: A simple one-dimensional ClassSheet.
Thus, ClassSheets consists of a list of attribute definitions
grouped by classes and are arranged on a two dimensional
grid. Additional labels are used to annotate the concrete
representation. Class names are set in boldface in contrast
to attribute names and labels, which are set in normal face.
In addition, colored borders are used to depict the di erent
classes within a ClassSheet.3
Class parts may be spread over header and footer en-
tries, which results in a bracket-like structure indicated by a
square-bracket-like notation of (open) class rectangles. For
example, in Figure 5, the red class Income is split into a
header and footer part that surrounds the blue class Item.
References to other entries, being expressed in Vitsl by co-
ordinates, are defined by using attribute names, as shown in
the SUM formula in the example. Summarizing, ClassSheets
...
Generate
SS App
Detect FDs Infer CS
Map to
UML
Original SS
Improved SS
Map to
RDB
Map to
other
paradigms
are provided through a tool, called Gencel, which is an ex-
tension to MS Excel that restricts the definition and pos-
sible evolution of a concrete spreadsheet according to the
specification given by the template. Thus, illegal update
operations like a partial copying or moving of vertical (vex)
or horizontal (hex) recurring groups are prevented. Further-
more, formulas are updated correctly and automatically. For
example, in the case of inserting new instances of vex or hex
groups in a concrete generated spreadsheet. For details on
the type system and spreadsheet generation, we refer to [12].
Figures 2 and 3 demonstrate a somewhat more involved
example of a Vitsl template and a corresponding Gencel
spreadsheet application for a budget calculation. We will
use this application to illustrate some limitations of the
Vitsl/Gencel approach as a motivation for the proposed
ClassSheet model.
Figure 2 shows that a hex group has been defined by clus-
tering columns C, D, and E. The underlying problem domain
requirement was that for each year (and for each category)
the values Qnty, Cost and their product form a logical unit
and should occur in the spreadsheet. The only way to ex-
press this logical clustering of three cells within Vitsl is by
the omission of layout-oriented notations as the two small
vertical bars in the header row between C, D, and E. In Gen-
cel, this grouping causes the corresponding insertion and
deletion of groups of three columns as blocks.2
Now imagine that the Vitsl designer would have grouped
only the cells D and E, which would solely be visible in
Vitsl by an additional bar within the header row between
the columns C and D. This notationally minimally di er-
ent Vitsl model would have resulted in a completely di er-
ent spreadsheet application, in which the horizontal repeti-
tion would have been restricted to the two columns D and
E. This di erent grouping would express that the quantity
value is fixed for all years, while only the cost value might
of data values, which are summed up and the sum of which
is shown in a separate cell. From an object-oriented point
of view, one can see a summation object, which aggregrates
a list of objects bearing single data values. Looking at the
layout structure, the list of single value objects, consisting
of a header Item and a list of value objects, is embedded into
the layout of the summation object, consisting of a header
entry Income and a footer with the label Total and an ag-
gregation formula assigned to an attribute named total. We
call such an object-oriented extended template a ClassSheet
since it defines classes together with their attributes and
aggregational relationships.
1
A
Income
2
3
Item
value = 0
4 Total
5 total = SUM(Item.value)
...
total : Int
Income
value : Int = 0
Item
*
SUM(Item.value)
IncomeˆItemˆ0 ˆTotalˆSUM((0, 2))
Figure 5: A simple one-dimensional ClassSheet.
Thus, ClassSheets consists of a list of attribute definitions
grouped by classes and are arranged on a two dimensional
grid. Additional labels are used to annotate the concrete
representation. Class names are set in boldface in contrast
to attribute names and labels, which are set in normal face.
In addition, colored borders are used to depict the di erent
classes within a ClassSheet.3
UML Class
Diagram
FDs
ClassSheet
Relational DB
29
MDSheet (?)
The foreign key
constraint guarantees
that only existing values
are referenced, or
created if necessary.
The primary key
constraint guarantees
that no duplicate values
are inserted in a block.
The value constraint
guarantees that
values of a block are
within a certain
range.
30
Model-Driven SpreadSheets
The foreign key
constraint guarantees
that only existing values
are referenced, or
created if necessary.
The primary key
constraint guarantees
that no duplicate values
are inserted in a block.
The value constraint
guarantees that
values of a block are
within a certain
range.
31
Sync
Sync
Button pressed
Sheet 0Sheet 1
Sheet 0
Sheet 1
From the model MDSheet generates a template
Haskell ClassSheet data
type
Application of evolution rule
chosen by the user
New Haskell
ClassSheet data type
Forward and backward
transformations
New Haskell spreadsheet
representation
BASIC sends sheet 1 (data) to
MDSheet the back-end
Haskell spreadsheet
representation
Application of the forward/
backward tansformation
BASIC sends sheet 0 (model) to the
MDSheet back-end
33
⇠=
( 1 1 ⇥ 1 2)4((pnt "removedCol")4( 2 1 ⇥ 2 2))
( ˆ
a = f)#
|”removedCol” :( 0
ˆ
a0
= f0
)#
p
( p 0
ˆ
a =f p a0
= f0
)#
(⇡1 ⇡1 ⇥ ⇡1 ⇡2)4(⇡2 ⇡1 ⇥ ⇡2 ⇡2)
34
conforms to conforms to
Op
Op
to
from
M
D
ClassSheet
Spreadsheet
ClassSheet'
Spreadsheet'
Conceitos que não aprendi
• Spreadsheets :)
• Model-Driven Development/Engineering (MDD/MDE)
• End-User Development
• (Embedded) Domain Specific Language ((E)DSL)
• Bad Smell
• Refactoring
• Bidirectional Transformations (BX)
• Empirical Studies
35
As linguagens, técnicas,
ferramentas que aprendem no
curso não definem os vossos
limites
36
A vossa capacidade de
perceber os conceitos mais
abstratos é mais importante
37
PhD, done!
Again, now what?
38
Yet Another Grant
• Post-doc
• Mais investigação com folhas de cálculo
• Algumas aulas
• Algumas co-orientações
39
Uma NOVA vida
40
Atualmente…
• Professor Auxiliar na Faculdade de Ciência e
Tecnologia da Universidade NOVA de Lisboa
• Dou aulas, organizo eventos científicos, faço
investigação, oriento estágios, bolseiros, alunos de
mestrado, PhD, etc. (mais divertido do que ERP :)
• Embora no contexto da minha instituição, eu defino
os meus interesses e como invisto o meu tempo
41
Green Software Computing
42
Sustentabilidade de Sistemas
Ciber-Físicos (CPS/IoT/Smart *)
43
<Indicator>,
Cost,of,programming,
a,new,applica6on,
<Value>,
Reuse,hardware,
components,
<Dimension>,
Technical,
Sustainability,
<Value>,
Adapt,soAware,to,
regula6on,changes,
<Ac6vity>,,
Adapt,Traveling,
Salesman,
Problem,
solu6ons,
<Ac6vity>,
Build,adap6ve,
soAware,
<Goal>,
Sustainability,
<Value>,
Reuse,soAware,for,
programming,,UAVs,
<Indicator>,
Cost,of,building,a,
new,UAV,
<Value>,
Op6mize,the,
flight,routes,
<Indicator>,
Number,of,
flights/month,
<Ac6vity>,
Use,3D,printers,
to,generate,
pieces,
<Ac6vity>,
Use,model,
driven,
development,
<Indicator>,
Cost,of,maintaining,an,
applica6on/service,
<Value>,
Preserve,hardware,
components,
<SubMAc6vity>,
Automa6c,
detec6on,of,
<Indicator>,
Cost,of,maintaining,
UAVs,
<SubMAc6vity>,
Adapt,to,
weather,
<Regula6on>,
Na6onal,Aerial,
Restric6ons,
Engenharia de Software
para Sistemas Ciber-Físicos
44
Engenharia de Software
para 

Engenheiros Não-Profissionais
45
That’s all folks!
Obrigado pela atenção!
Questões?
46

More Related Content

What's hot

Module 6 (2) type of excel chart
Module 6 (2) type of excel chartModule 6 (2) type of excel chart
Module 6 (2) type of excel chartDr. Shalini Pandey
 
Sqqs1013 ch2-a122
Sqqs1013 ch2-a122Sqqs1013 ch2-a122
Sqqs1013 ch2-a122kim rae KI
 
Ifsm 201 Future Our Mission/newtonhelp.com
Ifsm 201 Future Our Mission/newtonhelp.comIfsm 201 Future Our Mission/newtonhelp.com
Ifsm 201 Future Our Mission/newtonhelp.comamaranthbeg39
 
Presentation of Data
Presentation of DataPresentation of Data
Presentation of DataJagdish Powar
 
Tables, Graphs, and Charts Social Studies
Tables, Graphs, and Charts Social StudiesTables, Graphs, and Charts Social Studies
Tables, Graphs, and Charts Social StudiesLyn Gile Facebook
 
Chart Components
Chart ComponentsChart Components
Chart Componentslindy23
 
4.02a Student Notes
4.02a Student Notes4.02a Student Notes
4.02a Student Noteswmassie
 
Connected charts explicit visualization of relationship between data graphics
Connected charts explicit visualization of relationship between data graphicsConnected charts explicit visualization of relationship between data graphics
Connected charts explicit visualization of relationship between data graphicsAsliza Hamzah
 
How to make a conditional column chart in Excel
How to make a conditional column chart in ExcelHow to make a conditional column chart in Excel
How to make a conditional column chart in ExcelSteveEqualsTrue
 
Spring 2020 excel project #1 instructions
Spring 2020 excel project #1   instructionsSpring 2020 excel project #1   instructions
Spring 2020 excel project #1 instructionsAnetteNsah
 
The use of data visualization to tell effective
The use of data visualization to tell effectiveThe use of data visualization to tell effective
The use of data visualization to tell effectivegentlemoro
 
Number and number theory
Number and number theoryNumber and number theory
Number and number theoryMaria BREEN
 
Week 8 presenting data in charts, graphs, and tables 2
Week 8 presenting data in charts, graphs, and tables 2Week 8 presenting data in charts, graphs, and tables 2
Week 8 presenting data in charts, graphs, and tables 2Hafizul Mukhlis
 

What's hot (20)

Module 6 (2) type of excel chart
Module 6 (2) type of excel chartModule 6 (2) type of excel chart
Module 6 (2) type of excel chart
 
Bigdata
BigdataBigdata
Bigdata
 
Sqqs1013 ch2-a122
Sqqs1013 ch2-a122Sqqs1013 ch2-a122
Sqqs1013 ch2-a122
 
Ifsm 201 Future Our Mission/newtonhelp.com
Ifsm 201 Future Our Mission/newtonhelp.comIfsm 201 Future Our Mission/newtonhelp.com
Ifsm 201 Future Our Mission/newtonhelp.com
 
Presentation of Data
Presentation of DataPresentation of Data
Presentation of Data
 
Ba accounting skills lecture 1
Ba accounting skills lecture 1Ba accounting skills lecture 1
Ba accounting skills lecture 1
 
Tables, Graphs, and Charts Social Studies
Tables, Graphs, and Charts Social StudiesTables, Graphs, and Charts Social Studies
Tables, Graphs, and Charts Social Studies
 
Charts in excel
Charts in excelCharts in excel
Charts in excel
 
Chart Components
Chart ComponentsChart Components
Chart Components
 
4.02a Student Notes
4.02a Student Notes4.02a Student Notes
4.02a Student Notes
 
Connected charts explicit visualization of relationship between data graphics
Connected charts explicit visualization of relationship between data graphicsConnected charts explicit visualization of relationship between data graphics
Connected charts explicit visualization of relationship between data graphics
 
How to make a conditional column chart in Excel
How to make a conditional column chart in ExcelHow to make a conditional column chart in Excel
How to make a conditional column chart in Excel
 
Spring 2020 excel project #1 instructions
Spring 2020 excel project #1   instructionsSpring 2020 excel project #1   instructions
Spring 2020 excel project #1 instructions
 
Microsoft excel
Microsoft excelMicrosoft excel
Microsoft excel
 
The use of data visualization to tell effective
The use of data visualization to tell effectiveThe use of data visualization to tell effective
The use of data visualization to tell effective
 
Tabulation
TabulationTabulation
Tabulation
 
Chap06 scr
Chap06 scrChap06 scr
Chap06 scr
 
Number and number theory
Number and number theoryNumber and number theory
Number and number theory
 
Ix calc ii charts
Ix calc ii chartsIx calc ii charts
Ix calc ii charts
 
Week 8 presenting data in charts, graphs, and tables 2
Week 8 presenting data in charts, graphs, and tables 2Week 8 presenting data in charts, graphs, and tables 2
Week 8 presenting data in charts, graphs, and tables 2
 

Similar to LMCC - 30 Anos

Introduction to micro soft Training ms Excel.ppt
Introduction to micro soft Training ms Excel.pptIntroduction to micro soft Training ms Excel.ppt
Introduction to micro soft Training ms Excel.pptdejene3
 
LESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptx
LESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptxLESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptx
LESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptxmarybethgrabillo1
 
In Section 1 on the Data page, complete each column of the spreads.docx
In Section 1 on the Data page, complete each column of the spreads.docxIn Section 1 on the Data page, complete each column of the spreads.docx
In Section 1 on the Data page, complete each column of the spreads.docxsleeperharwell
 
4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdf
4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdf4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdf
4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdfNitish Nagar
 
ENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docx
ENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docxENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docx
ENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docxYASHU40
 
Concatenate excel
Concatenate excelConcatenate excel
Concatenate excelkpperumalla
 
Libre Office Calc Lesson 4: Understanding Functions
Libre Office Calc Lesson 4: Understanding FunctionsLibre Office Calc Lesson 4: Understanding Functions
Libre Office Calc Lesson 4: Understanding FunctionsSmart Chicago Collaborative
 
LabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docx
LabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docxLabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docx
LabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docxDIPESH30
 
E-Book 25 Tips and Tricks MS Excel Functions & Formulaes
E-Book 25 Tips and Tricks MS Excel Functions & FormulaesE-Book 25 Tips and Tricks MS Excel Functions & Formulaes
E-Book 25 Tips and Tricks MS Excel Functions & FormulaesBurCom Consulting Ltd.
 
Excel Project 3 – MS Excel (Fall 2018)Use the project descriptio
Excel Project 3 – MS Excel (Fall 2018)Use the project descriptioExcel Project 3 – MS Excel (Fall 2018)Use the project descriptio
Excel Project 3 – MS Excel (Fall 2018)Use the project descriptiogalinagrabow44ms
 
Simple Spreadsheet Tips
Simple Spreadsheet TipsSimple Spreadsheet Tips
Simple Spreadsheet TipsInside Access
 
Devry bis 155 week 3 quiz data analysis
Devry bis 155 week 3 quiz data analysisDevry bis 155 week 3 quiz data analysis
Devry bis 155 week 3 quiz data analysisshyaminfo104
 
Chapter 29Foundations of Family CareFamily DefinedT.docx
Chapter 29Foundations of Family CareFamily DefinedT.docxChapter 29Foundations of Family CareFamily DefinedT.docx
Chapter 29Foundations of Family CareFamily DefinedT.docxcravennichole326
 
Ifsm 201 Enhance teaching / snaptutorial.com
Ifsm 201 Enhance teaching / snaptutorial.comIfsm 201 Enhance teaching / snaptutorial.com
Ifsm 201 Enhance teaching / snaptutorial.comBaileya15
 

Similar to LMCC - 30 Anos (20)

Excel training
Excel trainingExcel training
Excel training
 
Introduction to micro soft Training ms Excel.ppt
Introduction to micro soft Training ms Excel.pptIntroduction to micro soft Training ms Excel.ppt
Introduction to micro soft Training ms Excel.ppt
 
G10 Unit 4.pptx
G10 Unit 4.pptxG10 Unit 4.pptx
G10 Unit 4.pptx
 
LESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptx
LESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptxLESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptx
LESSON-4-HOW-DO-I-USE-ADVANCED-EXCEL-TOOLS-TO-PROCESS-AND-PRESENTDATA.pptx
 
In Section 1 on the Data page, complete each column of the spreads.docx
In Section 1 on the Data page, complete each column of the spreads.docxIn Section 1 on the Data page, complete each column of the spreads.docx
In Section 1 on the Data page, complete each column of the spreads.docx
 
BA.pdf
BA.pdfBA.pdf
BA.pdf
 
4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdf
4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdf4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdf
4b6c1c5c-e913-4bbf-b3a4-41e23cb961ba-161004200047.pdf
 
Ba accounting skills lecture 1
Ba accounting skills lecture 1Ba accounting skills lecture 1
Ba accounting skills lecture 1
 
ENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docx
ENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docxENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docx
ENGR 102B Microsoft Excel Proficiency LevelsPlease have your in.docx
 
Concatenate excel
Concatenate excelConcatenate excel
Concatenate excel
 
Libre Office Calc Lesson 4: Understanding Functions
Libre Office Calc Lesson 4: Understanding FunctionsLibre Office Calc Lesson 4: Understanding Functions
Libre Office Calc Lesson 4: Understanding Functions
 
LabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docx
LabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docxLabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docx
LabsLab5Lab5_Excel_SH.htmlLab 5 SpreadsheetsLearning Outcomes.docx
 
E-Book 25 Tips and Tricks MS Excel Functions & Formulaes
E-Book 25 Tips and Tricks MS Excel Functions & FormulaesE-Book 25 Tips and Tricks MS Excel Functions & Formulaes
E-Book 25 Tips and Tricks MS Excel Functions & Formulaes
 
Computer Science Assignment Help
Computer Science Assignment Help Computer Science Assignment Help
Computer Science Assignment Help
 
Excel Project 3 – MS Excel (Fall 2018)Use the project descriptio
Excel Project 3 – MS Excel (Fall 2018)Use the project descriptioExcel Project 3 – MS Excel (Fall 2018)Use the project descriptio
Excel Project 3 – MS Excel (Fall 2018)Use the project descriptio
 
Simple Spreadsheet Tips
Simple Spreadsheet TipsSimple Spreadsheet Tips
Simple Spreadsheet Tips
 
Devry bis 155 week 3 quiz data analysis
Devry bis 155 week 3 quiz data analysisDevry bis 155 week 3 quiz data analysis
Devry bis 155 week 3 quiz data analysis
 
Excel booklet
Excel bookletExcel booklet
Excel booklet
 
Chapter 29Foundations of Family CareFamily DefinedT.docx
Chapter 29Foundations of Family CareFamily DefinedT.docxChapter 29Foundations of Family CareFamily DefinedT.docx
Chapter 29Foundations of Family CareFamily DefinedT.docx
 
Ifsm 201 Enhance teaching / snaptutorial.com
Ifsm 201 Enhance teaching / snaptutorial.comIfsm 201 Enhance teaching / snaptutorial.com
Ifsm 201 Enhance teaching / snaptutorial.com
 

More from Jácome Cunha

Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet EngineeringJácome Cunha
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven SpreadsheetsJácome Cunha
 
Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentJácome Cunha
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesJácome Cunha
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsJácome Cunha
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data ScientistsJácome Cunha
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Jácome Cunha
 
jStanley: Placing a Green Thumb on Java Collections
jStanley: Placing a Green Thumb on  Java CollectionsjStanley: Placing a Green Thumb on  Java Collections
jStanley: Placing a Green Thumb on Java CollectionsJácome Cunha
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesJácome Cunha
 
MDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven SpreadsheetsMDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven SpreadsheetsJácome Cunha
 
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14Jácome Cunha
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringJácome Cunha
 
Talk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 WorkshopTalk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 WorkshopJácome Cunha
 
Talk SAC '12 - SE Track
Talk SAC '12 - SE TrackTalk SAC '12 - SE Track
Talk SAC '12 - SE TrackJácome Cunha
 

More from Jácome Cunha (20)

Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet Engineering
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven Spreadsheets
 
Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet Development
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with Spreadsheets
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data Scientists
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
 
jStanley: Placing a Green Thumb on Java Collections
jStanley: Placing a Green Thumb on  Java CollectionsjStanley: Placing a Green Thumb on  Java Collections
jStanley: Placing a Green Thumb on Java Collections
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web Services
 
MDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven SpreadsheetsMDSheet – Model-Driven Spreadsheets
MDSheet – Model-Driven Spreadsheets
 
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
Spreadsheet Engineering @ OSU - EECS Colloquium - 02/24/14
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet Engineering
 
Talk at VL/HCC '12
Talk at VL/HCC '12Talk at VL/HCC '12
Talk at VL/HCC '12
 
Talk at QUATIC '12
Talk at QUATIC '12Talk at QUATIC '12
Talk at QUATIC '12
 
Talk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 WorkshopTalk at the Joint SSaaPP/FATBIT 2012 Workshop
Talk at the Joint SSaaPP/FATBIT 2012 Workshop
 
Talk
TalkTalk
Talk
 
Talk at IS-EUD '11
Talk at IS-EUD '11Talk at IS-EUD '11
Talk at IS-EUD '11
 
Talk at EUSPRIG '11
Talk at EUSPRIG '11Talk at EUSPRIG '11
Talk at EUSPRIG '11
 
Talk at VL/HCC '11
Talk at VL/HCC '11Talk at VL/HCC '11
Talk at VL/HCC '11
 
Talk SAC '12 - SE Track
Talk SAC '12 - SE TrackTalk SAC '12 - SE Track
Talk SAC '12 - SE Track
 

Recently uploaded

HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 

Recently uploaded (20)

HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 

LMCC - 30 Anos

  • 1. Jácome Cunha LMCC 2001-2006 (e mais além) Toda a Verdade
  • 2. Disclaimer • Uma parte desta apresentação baseia-se na minha memória • Esta (a minha memória) nunca foi conhecida como sendo muito fiável… • Logo, é possível que alguns factos sejam apenas aproximações à verdade • Por favor, não me levem muito a sério ;) 2
  • 5. A Paixão foi Imediata! • No início foi triste :( • Mas rapidamente me apercebi do “erro” inicial • E da sorte que tive 5
  • 6. A vida tem sempre um plano para nós! 
 (mesmo que tentam escolher o curso errado para vocês :) 6
  • 7. Como foi o curso? 7
  • 9. Era precisar pensar, muito! Difícil para quem acaba de vir do secundário… 9
  • 10. Lex+Yacc?? Isso é muito fácil, vocês aprendem sozinhos. 10
  • 11. “Não estou aqui para vos ensinar, mas sim para vos questionar” 11
  • 13. “Diverti-me a implementar isto, no fim de semana, como um Monad de estado.” 13
  • 14. Os alunos do L(M)CC (e já agora os de LE(S)I) saem preparados como poucos! 14 Nos últimos três anos os do DI/FCT/UNL também começaram a melhorar ;)
  • 15. E no final do curso? 15
  • 16.
  • 18.
  • 19. Projeto Final de Curso • Integrei o projeto PURe, enquanto bolseiro • Orientado pelo Prof. Luís Barbosa e Dr. Joost Visser • Publicamos depois o meu primeiro artigo científico 19
  • 21.
  • 22.
  • 23. PhD?? • Acho que na altura nem percebia bem o que era… • Mas não era ERPs, e parecia-me desafiante, excitante mesmo • Mas afinal, o que se faz num doutoramento?? • Para começar, é-se (des?)orientadores: 
 Prof. João Saraiva e Dr. Joost Visser • Investigação em… folhas de cálculo! 23
  • 24. 24
  • 25. Mas de facto também se trabalha! 25
  • 26. HaExcel (?) 26 A B C D E ... are provided through a tool, called Gencel, which is an ex- tension to MS Excel that restricts the definition and pos- sible evolution of a concrete spreadsheet according to the specification given by the template. Thus, illegal update operations like a partial copying or moving of vertical (vex) or horizontal (hex) recurring groups are prevented. Further- more, formulas are updated correctly and automatically. For example, in the case of inserting new instances of vex or hex groups in a concrete generated spreadsheet. For details on the type system and spreadsheet generation, we refer to [12]. Figures 2 and 3 demonstrate a somewhat more involved example of a Vitsl template and a corresponding Gencel spreadsheet application for a budget calculation. We will use this application to illustrate some limitations of the Vitsl/Gencel approach as a motivation for the proposed ClassSheet model. Figure 2 shows that a hex group has been defined by clus- tering columns C, D, and E. The underlying problem domain requirement was that for each year (and for each category) the values Qnty, Cost and their product form a logical unit and should occur in the spreadsheet. The only way to ex- press this logical clustering of three cells within Vitsl is by the omission of layout-oriented notations as the two small vertical bars in the header row between C, D, and E. In Gen- cel, this grouping causes the corresponding insertion and deletion of groups of three columns as blocks.2 Now imagine that the Vitsl designer would have grouped only the cells D and E, which would solely be visible in Vitsl by an additional bar within the header row between the columns C and D. This notationally minimally di er- ent Vitsl model would have resulted in a completely di er- ent spreadsheet application, in which the horizontal repeti- tion would have been restricted to the two columns D and E. This di erent grouping would express that the quantity value is fixed for all years, while only the cost value might vary yearly. Another possible source for an error-prone spreadsheet model is due to the indication of references in formu- las by means of cell-oriented addresses like C4*D4. Here, once more, the use of business logic-oriented notations like Qnty*Cost helps to prevent the design of incorrect data com- putations. Therefore, since Vitsl is limited to the support of layout- of data values, which are summed up and the sum of which is shown in a separate cell. From an object-oriented point of view, one can see a summation object, which aggregrates a list of objects bearing single data values. Looking at the layout structure, the list of single value objects, consisting of a header Item and a list of value objects, is embedded into the layout of the summation object, consisting of a header entry Income and a footer with the label Total and an ag- gregation formula assigned to an attribute named total. We call such an object-oriented extended template a ClassSheet since it defines classes together with their attributes and aggregational relationships. 1 A Income 2 3 Item value = 0 4 Total 5 total = SUM(Item.value) ... total : Int Income value : Int = 0 Item * SUM(Item.value) IncomeˆItemˆ0 ˆTotalˆSUM((0, 2)) Figure 5: A simple one-dimensional ClassSheet. Thus, ClassSheets consists of a list of attribute definitions grouped by classes and are arranged on a two dimensional grid. Additional labels are used to annotate the concrete representation. Class names are set in boldface in contrast to attribute names and labels, which are set in normal face. In addition, colored borders are used to depict the di erent classes within a ClassSheet.3 Class parts may be spread over header and footer en- tries, which results in a bracket-like structure indicated by a square-bracket-like notation of (open) class rectangles. For example, in Figure 5, the red class Income is split into a header and footer part that surrounds the blue class Item. References to other entries, being expressed in Vitsl by co- ordinates, are defined by using attribute names, as shown in the SUM formula in the example. Summarizing, ClassSheets ... Generate SS App Detect FDs Infer CS Map to UML Original SS Improved SS Map to RDB Map to other paradigms are provided through a tool, called Gencel, which is an ex- tension to MS Excel that restricts the definition and pos- sible evolution of a concrete spreadsheet according to the specification given by the template. Thus, illegal update operations like a partial copying or moving of vertical (vex) or horizontal (hex) recurring groups are prevented. Further- more, formulas are updated correctly and automatically. For example, in the case of inserting new instances of vex or hex groups in a concrete generated spreadsheet. For details on the type system and spreadsheet generation, we refer to [12]. Figures 2 and 3 demonstrate a somewhat more involved example of a Vitsl template and a corresponding Gencel spreadsheet application for a budget calculation. We will use this application to illustrate some limitations of the Vitsl/Gencel approach as a motivation for the proposed ClassSheet model. Figure 2 shows that a hex group has been defined by clus- tering columns C, D, and E. The underlying problem domain requirement was that for each year (and for each category) the values Qnty, Cost and their product form a logical unit and should occur in the spreadsheet. The only way to ex- press this logical clustering of three cells within Vitsl is by the omission of layout-oriented notations as the two small vertical bars in the header row between C, D, and E. In Gen- cel, this grouping causes the corresponding insertion and deletion of groups of three columns as blocks.2 Now imagine that the Vitsl designer would have grouped only the cells D and E, which would solely be visible in Vitsl by an additional bar within the header row between the columns C and D. This notationally minimally di er- ent Vitsl model would have resulted in a completely di er- ent spreadsheet application, in which the horizontal repeti- tion would have been restricted to the two columns D and E. This di erent grouping would express that the quantity value is fixed for all years, while only the cost value might of data values, which are summed up and the sum of which is shown in a separate cell. From an object-oriented point of view, one can see a summation object, which aggregrates a list of objects bearing single data values. Looking at the layout structure, the list of single value objects, consisting of a header Item and a list of value objects, is embedded into the layout of the summation object, consisting of a header entry Income and a footer with the label Total and an ag- gregation formula assigned to an attribute named total. We call such an object-oriented extended template a ClassSheet since it defines classes together with their attributes and aggregational relationships. 1 A Income 2 3 Item value = 0 4 Total 5 total = SUM(Item.value) ... total : Int Income value : Int = 0 Item * SUM(Item.value) IncomeˆItemˆ0 ˆTotalˆSUM((0, 2)) Figure 5: A simple one-dimensional ClassSheet. Thus, ClassSheets consists of a list of attribute definitions grouped by classes and are arranged on a two dimensional grid. Additional labels are used to annotate the concrete representation. Class names are set in boldface in contrast to attribute names and labels, which are set in normal face. In addition, colored borders are used to depict the di erent classes within a ClassSheet.3 UML Class Diagram FDs ClassSheet Relational DB
  • 27. Ha(skell)Excel 27 A B C D E ... are provided through a tool, called Gencel, which is an ex- tension to MS Excel that restricts the definition and pos- sible evolution of a concrete spreadsheet according to the specification given by the template. Thus, illegal update operations like a partial copying or moving of vertical (vex) or horizontal (hex) recurring groups are prevented. Further- more, formulas are updated correctly and automatically. For example, in the case of inserting new instances of vex or hex groups in a concrete generated spreadsheet. For details on the type system and spreadsheet generation, we refer to [12]. Figures 2 and 3 demonstrate a somewhat more involved example of a Vitsl template and a corresponding Gencel spreadsheet application for a budget calculation. We will use this application to illustrate some limitations of the Vitsl/Gencel approach as a motivation for the proposed ClassSheet model. Figure 2 shows that a hex group has been defined by clus- tering columns C, D, and E. The underlying problem domain requirement was that for each year (and for each category) the values Qnty, Cost and their product form a logical unit and should occur in the spreadsheet. The only way to ex- press this logical clustering of three cells within Vitsl is by the omission of layout-oriented notations as the two small vertical bars in the header row between C, D, and E. In Gen- cel, this grouping causes the corresponding insertion and deletion of groups of three columns as blocks.2 Now imagine that the Vitsl designer would have grouped only the cells D and E, which would solely be visible in Vitsl by an additional bar within the header row between the columns C and D. This notationally minimally di er- ent Vitsl model would have resulted in a completely di er- ent spreadsheet application, in which the horizontal repeti- tion would have been restricted to the two columns D and E. This di erent grouping would express that the quantity value is fixed for all years, while only the cost value might vary yearly. Another possible source for an error-prone spreadsheet model is due to the indication of references in formu- las by means of cell-oriented addresses like C4*D4. Here, once more, the use of business logic-oriented notations like Qnty*Cost helps to prevent the design of incorrect data com- putations. Therefore, since Vitsl is limited to the support of layout- of data values, which are summed up and the sum of which is shown in a separate cell. From an object-oriented point of view, one can see a summation object, which aggregrates a list of objects bearing single data values. Looking at the layout structure, the list of single value objects, consisting of a header Item and a list of value objects, is embedded into the layout of the summation object, consisting of a header entry Income and a footer with the label Total and an ag- gregation formula assigned to an attribute named total. We call such an object-oriented extended template a ClassSheet since it defines classes together with their attributes and aggregational relationships. 1 A Income 2 3 Item value = 0 4 Total 5 total = SUM(Item.value) ... total : Int Income value : Int = 0 Item * SUM(Item.value) IncomeˆItemˆ0 ˆTotalˆSUM((0, 2)) Figure 5: A simple one-dimensional ClassSheet. Thus, ClassSheets consists of a list of attribute definitions grouped by classes and are arranged on a two dimensional grid. Additional labels are used to annotate the concrete representation. Class names are set in boldface in contrast to attribute names and labels, which are set in normal face. In addition, colored borders are used to depict the di erent classes within a ClassSheet.3 Class parts may be spread over header and footer en- tries, which results in a bracket-like structure indicated by a square-bracket-like notation of (open) class rectangles. For example, in Figure 5, the red class Income is split into a header and footer part that surrounds the blue class Item. References to other entries, being expressed in Vitsl by co- ordinates, are defined by using attribute names, as shown in the SUM formula in the example. Summarizing, ClassSheets ... Generate SS App Detect FDs Infer CS Map to UML Original SS Improved SS Map to RDB Map to other paradigms are provided through a tool, called Gencel, which is an ex- tension to MS Excel that restricts the definition and pos- sible evolution of a concrete spreadsheet according to the specification given by the template. Thus, illegal update operations like a partial copying or moving of vertical (vex) or horizontal (hex) recurring groups are prevented. Further- more, formulas are updated correctly and automatically. For example, in the case of inserting new instances of vex or hex groups in a concrete generated spreadsheet. For details on the type system and spreadsheet generation, we refer to [12]. Figures 2 and 3 demonstrate a somewhat more involved example of a Vitsl template and a corresponding Gencel spreadsheet application for a budget calculation. We will use this application to illustrate some limitations of the Vitsl/Gencel approach as a motivation for the proposed ClassSheet model. Figure 2 shows that a hex group has been defined by clus- tering columns C, D, and E. The underlying problem domain requirement was that for each year (and for each category) the values Qnty, Cost and their product form a logical unit and should occur in the spreadsheet. The only way to ex- press this logical clustering of three cells within Vitsl is by the omission of layout-oriented notations as the two small vertical bars in the header row between C, D, and E. In Gen- cel, this grouping causes the corresponding insertion and deletion of groups of three columns as blocks.2 Now imagine that the Vitsl designer would have grouped only the cells D and E, which would solely be visible in Vitsl by an additional bar within the header row between the columns C and D. This notationally minimally di er- ent Vitsl model would have resulted in a completely di er- ent spreadsheet application, in which the horizontal repeti- tion would have been restricted to the two columns D and E. This di erent grouping would express that the quantity value is fixed for all years, while only the cost value might of data values, which are summed up and the sum of which is shown in a separate cell. From an object-oriented point of view, one can see a summation object, which aggregrates a list of objects bearing single data values. Looking at the layout structure, the list of single value objects, consisting of a header Item and a list of value objects, is embedded into the layout of the summation object, consisting of a header entry Income and a footer with the label Total and an ag- gregation formula assigned to an attribute named total. We call such an object-oriented extended template a ClassSheet since it defines classes together with their attributes and aggregational relationships. 1 A Income 2 3 Item value = 0 4 Total 5 total = SUM(Item.value) ... total : Int Income value : Int = 0 Item * SUM(Item.value) IncomeˆItemˆ0 ˆTotalˆSUM((0, 2)) Figure 5: A simple one-dimensional ClassSheet. Thus, ClassSheets consists of a list of attribute definitions grouped by classes and are arranged on a two dimensional grid. Additional labels are used to annotate the concrete representation. Class names are set in boldface in contrast to attribute names and labels, which are set in normal face. In addition, colored borders are used to depict the di erent classes within a ClassSheet.3 UML Class Diagram FDs ClassSheet Relational DB
  • 28.
  • 29. 29
  • 30. MDSheet (?) The foreign key constraint guarantees that only existing values are referenced, or created if necessary. The primary key constraint guarantees that no duplicate values are inserted in a block. The value constraint guarantees that values of a block are within a certain range. 30
  • 31. Model-Driven SpreadSheets The foreign key constraint guarantees that only existing values are referenced, or created if necessary. The primary key constraint guarantees that no duplicate values are inserted in a block. The value constraint guarantees that values of a block are within a certain range. 31
  • 32. Sync Sync Button pressed Sheet 0Sheet 1 Sheet 0 Sheet 1 From the model MDSheet generates a template Haskell ClassSheet data type Application of evolution rule chosen by the user New Haskell ClassSheet data type Forward and backward transformations New Haskell spreadsheet representation BASIC sends sheet 1 (data) to MDSheet the back-end Haskell spreadsheet representation Application of the forward/ backward tansformation BASIC sends sheet 0 (model) to the MDSheet back-end
  • 33. 33 ⇠= ( 1 1 ⇥ 1 2)4((pnt "removedCol")4( 2 1 ⇥ 2 2)) ( ˆ a = f)# |”removedCol” :( 0 ˆ a0 = f0 )# p ( p 0 ˆ a =f p a0 = f0 )# (⇡1 ⇡1 ⇥ ⇡1 ⇡2)4(⇡2 ⇡1 ⇥ ⇡2 ⇡2)
  • 34. 34 conforms to conforms to Op Op to from M D ClassSheet Spreadsheet ClassSheet' Spreadsheet'
  • 35. Conceitos que não aprendi • Spreadsheets :) • Model-Driven Development/Engineering (MDD/MDE) • End-User Development • (Embedded) Domain Specific Language ((E)DSL) • Bad Smell • Refactoring • Bidirectional Transformations (BX) • Empirical Studies 35
  • 36. As linguagens, técnicas, ferramentas que aprendem no curso não definem os vossos limites 36
  • 37. A vossa capacidade de perceber os conceitos mais abstratos é mais importante 37
  • 39. Yet Another Grant • Post-doc • Mais investigação com folhas de cálculo • Algumas aulas • Algumas co-orientações 39
  • 41. Atualmente… • Professor Auxiliar na Faculdade de Ciência e Tecnologia da Universidade NOVA de Lisboa • Dou aulas, organizo eventos científicos, faço investigação, oriento estágios, bolseiros, alunos de mestrado, PhD, etc. (mais divertido do que ERP :) • Embora no contexto da minha instituição, eu defino os meus interesses e como invisto o meu tempo 41
  • 43. Sustentabilidade de Sistemas Ciber-Físicos (CPS/IoT/Smart *) 43 <Indicator>, Cost,of,programming, a,new,applica6on, <Value>, Reuse,hardware, components, <Dimension>, Technical, Sustainability, <Value>, Adapt,soAware,to, regula6on,changes, <Ac6vity>,, Adapt,Traveling, Salesman, Problem, solu6ons, <Ac6vity>, Build,adap6ve, soAware, <Goal>, Sustainability, <Value>, Reuse,soAware,for, programming,,UAVs, <Indicator>, Cost,of,building,a, new,UAV, <Value>, Op6mize,the, flight,routes, <Indicator>, Number,of, flights/month, <Ac6vity>, Use,3D,printers, to,generate, pieces, <Ac6vity>, Use,model, driven, development, <Indicator>, Cost,of,maintaining,an, applica6on/service, <Value>, Preserve,hardware, components, <SubMAc6vity>, Automa6c, detec6on,of, <Indicator>, Cost,of,maintaining, UAVs, <SubMAc6vity>, Adapt,to, weather, <Regula6on>, Na6onal,Aerial, Restric6ons,
  • 44. Engenharia de Software para Sistemas Ciber-Físicos 44
  • 45. Engenharia de Software para 
 Engenheiros Não-Profissionais 45
  • 46. That’s all folks! Obrigado pela atenção! Questões? 46