38
Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria @ inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Problem Solving in Sprego Mária Csernoch, Piroska Biró [email protected] Faculty of Informatics, University of Debrecen, Hungary

Embed Size (px)

Citation preview

Page 1: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Problem Solving in Sprego

Mária Csernoch, Piroska Biró

[email protected]

Faculty of Informatics, University of Debrecen, Hungary

Page 2: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Computer problem solving approaches

computer algorithmic and debugging based

(CAAD)

trial-and-error wizard based

(TAEW)

deep approaches

surface approaches

algorithmic based

information based

concept based

Csernoch & Biro (2015) Computer Problem Solving. In Hungarian: Számítógépes problémamegoldás, TMT, Tudományos és Műszaki Tájékoztatás, Könyvtár- és információtudományi szakfolyóirat, vol. 62, no. 3, 2015, pp. 86–94.

Page 3: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Pólya (1954)How To Solve It – concept based

• understand the problem, see clearly what is required

• see how the various items are connected, how the unknown is connected to the data, in order to obtain the idea of the solution to make a plan

• carry out the plan• we look back, at the completed solution, we

review and discuss it

Page 4: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Problem solving in non-traditional programming environments

• understand the problem, see clearly what is required

• see how the various items are connected, how the unknown is connected to the data, in order to obtain the idea of the solution to make a plan

• carry out the plan• we look back, at the completed solution, we

review and discuss it

Usage!!!!

Bricolage!

Page 5: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Teaching Informatics

computer problem solving

concept and CAAD based=

Polya’s problem solving method

deep approach surface approach

Sprego

Page 6: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Sprego

Spre goSprego adsheet Le

Page 7: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Sprego functions

Sprego 1 Sprego 2 Sprego 3

SUM()AVERAGE()MIN()MAX()  LEFT()  RIGHT()  LEN()  SEARCH()  IF()              

Page 8: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Sprego functions

Sprego 1 Sprego 2 Sprego 3

SUM() INDEX()AVERAGE() MATCH()MIN() ISERROR()MAX()  LEFT()  RIGHT()  LEN()  SEARCH()  IF()              

Page 9: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Sprego functions

Sprego 1 Sprego 2 Sprego 3

SUM() INDEX() SMALL()AVERAGE() MATCH() LARGE()MIN() ISERROR() ROW()MAX()   COLUMN()LEFT()   AND()RIGHT()   OR()LEN()   NOT()SEARCH()   SUBSTITUTE()IF()   OFSET()    TRANSPOSE()    ROUND()    RAND()    INT()

Page 10: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Sprego tools

• Sprego functions• connection to mathematics

– concept of function– multilevel functions– multivariable functions

• array formulas– concept of vector

• discussion, debugging• authentic data sources• version independent

– MS Excel, OpenOffice, LibreOffice

Programming in functional languages

Developing computational

thinking

Page 11: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Problem solving process in Sprego

• building the concept– characteristics of the problem

• building the algorithm• coding (usage)

– most inside function output argument– outer function output argument– …– outmost function output result

• discussion, debugging

Page 12: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

SpregoI’ve learned with Spregospreadsheet management,programming.https://jamesradburn.files.wordpress.com/2012/02/cropped-untitled-6.jpghttp://sd.keepcalm-o-matic.co.uk/i/trust-me-i-m-a-trainee-teacher.png

Page 13: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

I’ve learned Sprego!

To use this, we have to think.

Creating multilevel functions leads to building algorithms.

Helps developing analytical thinking.

We can see clearly to advantages of general purpose functions.

Adaptable spreadsheet knowledge.

More conscious usage of arguments (inputs).

General purpose functions can be used on different contexts.

The multilevel INDEX(MATCH()) function is more interesting than the limited HLOOKUP() and VLOOKUP() functions.

Page 14: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

• deep approach method• non-traditional programming environments

Sprego

Page 15: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Deep approach methods

• focus– problem solving

• effective• develop

– computational thinking– algorithmic, debugging skills

• environment– programming– non-traditional computer related activities

• introduction to programming• language(s) of end-users

Page 16: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Effectiveness of Sprego

• Teaching practice– pre- and in-service teachers of Informatics– tertiary education, students of Software Engineering– primary and secondary education

• Testing phases– pre-test (1ST): after graduation exam– post-test (2ND): after Sprego– delayed post-test (FI): one year after Sprego

Page 17: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Effectiveness of Sprego

Page 18: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

List of states and territories of the United States

http://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States

Page 19: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

State

• Characteristics– leading Space– closing [X] string, random

• Algorithm– removing Space cutting out Space-free

string– removing [X] string cutting out [X]-free

string– separating the states by [X]

• Coding

Page 20: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

=LEN(A2:A51)

Coding – State – Leading Space

879

1210

69

171316

58

109

{ }

Page 21: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

{ }

Coding – Leading Space

8 7

7 6

9 8

12 11

10 9

6 5

9 8

17 16

13 12

16 15

5 4

8 7

10 99 8

=LEN(A2:A51)

879

1210

69

171316

58

109

-1

Page 22: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – Leading Space

8 7 Alabama

7 6 Alaska

9 8 Delaware

12 11 Kentucky[C]

10 9 Louisiana

6 5 Maine

9 8 Maryland

17 16 Massachusetts[D]

13 12 North Dakota

16 15 Rhode Island[F]

5 4 Utah

8 7 Vermont

10 9 Wisconsin9 8 Wyoming

=LEN(A2:A51)-1 RIGHT(A2:A51, ) = LEN(A2:A51)-1{ }

8 7

7 6

9 8

12 11

10 9

6 5

9 8

17 16

13 12

16 15

5 4

8 7

10 99 8

Page 23: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – [X]

8

7

9

12

10

6

9

17

13

16

5

8

108

{ } =LEN(A2:A51)

Page 24: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – [X]

8 4

7 3

9 5

12 8

10 6

6 2

9 5

17 13

13 9

16 12

5 1

8 4

10 68 4

-4{ } =LEN(A2:A51)

8

7

9

12

10

6

9

17

13

16

5

8

108

Page 25: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – [X]

8 4 Alab

7 3 Ala

9 5 Delaw

12 8 Kentucky

10 6 Louisi

6 2 Ma

9 5 Maryl

17 13 Massachusetts

13 9 North Dak

16 12 Rhode Island

5 1 U

8 4 Verm

10 6 Wiscon8 4 Wyom

=LEN(A2:A51)-4{ } = RIGHT(A2:A51,LEN(A2:A51)-1) =LEFT( , ) = LEN(A2:A51)-4

8 4

7 3

9 5

12 8

10 6

6 2

9 5

17 13

13 9

16 12

5 1

8 4

10 68 4

Page 26: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – separating the states by [X]

#VALUE!#VALUE!#VALUE!

10#VALUE!#VALUE!#VALUE!

15#VALUE!

14#VALUE!#VALUE!#VALUE!#VALUE!

=SEARCH("[",A2:A51){ }

Page 27: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – separating the states by [X]

#VALUE!#VALUE!#VALUE!

10#VALUE!#VALUE!#VALUE!

15#VALUE!

14#VALUE!#VALUE!#VALUE!#VALUE!

#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

10 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

15 FALSE#VALUE! TRUE

14 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

=SEARCH("[",A2:A51) = (SEARCH("[",A2:A51)){ } =ISERROR( )

Page 28: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – separating the states by [X]

#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

10 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

15 FALSE#VALUE! TRUE

14 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

=ISERROR(SEARCH("[";A2:A51)) =IF( ,"",""){ } = ISERROR(SEARCH("[",A2:A51))

#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

10 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

15 FALSE#VALUE! TRUE

14 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

Page 29: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

10 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

15 FALSE#VALUE! TRUE

14 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

#VALUE! TRUE Alabama#VALUE! TRUE Alaska#VALUE! TRUE Delaware

10 FALSE  #VALUE! TRUE Louisiana#VALUE! TRUE Maine#VALUE! TRUE Maryland

15 FALSE  #VALUE! TRUE North Dakota

14 FALSE  #VALUE! TRUE Utah#VALUE! TRUE Vermont#VALUE! TRUE Wisconsin#VALUE! TRUE Wyoming

Coding – separating the states by [X]

#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

10 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

15 FALSE#VALUE! TRUE

14 FALSE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

=IF(ISERROR(SEARCH("[",A2:A51)),"","") =IF(ISERROR(SEARCH("[",A2:A51)), ,"") RIGHT(A2:A51,LEFT(A2:A51)-1) { }

Page 30: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – separating the states by [X]

#VALUE! TRUE Alabama Alabama#VALUE! TRUE Alaska Alaska#VALUE! TRUE Delaware Delaware

10 FALSE   Kentucky#VALUE! TRUE Louisiana Louisiana#VALUE! TRUE Maine Maine#VALUE! TRUE Maryland Maryland

15 FALSE   Massachusetts#VALUE! TRUE North Dakota North Dakota

14 FALSE   Rhode Island#VALUE! TRUE Utah Utah#VALUE! TRUE Vermont Vermont#VALUE! TRUE Wisconsin Wisconsin#VALUE! TRUE Wyoming Wyoming

=IF(ISERROR(SEARCH("[",A2:A51)),RIGHT(A2:A51,LEN(A2:A51)-1),"") LEFT(RIGHT(A2:A51,LEN(A2:A51)-1),LEN(A2:A51)-4))

{ }

#VALUE! TRUE Alabama#VALUE! TRUE Alaska#VALUE! TRUE Delaware

10 FALSE  #VALUE! TRUE Louisiana#VALUE! TRUE Maine#VALUE! TRUE Maryland

15 FALSE  #VALUE! TRUE North Dakota

14 FALSE  #VALUE! TRUE Utah#VALUE! TRUE Vermont#VALUE! TRUE Wisconsin#VALUE! TRUE Wyoming

=IF(ISERROR(SEARCH("[",A2:A51)),RIGHT(A2:A51,LEN(A2:A51)-1), )

Page 31: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Population

• Characteristics– number of commas

• 1 comma: thousandth of original number• 2 commas: string

• Algorithm– deciding: number or string– removing commas

• Coding

Page 32: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – Population{ } =G2:G51*1000

#VALUE!735132925749

#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!

723393#VALUE!#VALUE!

626630#VALUE!

582658

Page 33: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – Population

=G2:G51*1000 = G2:G51*1000 =ISERROR( ) { }

#VALUE! TRUE735132 FALSE925749 FALSE

#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

723393 FALSE#VALUE! TRUE#VALUE! TRUE

626630 FALSE#VALUE! TRUE

582658 FALSE

#VALUE!735132925749

#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!

723393#VALUE!#VALUE!

626630#VALUE!

582658

Page 34: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – Population

= ISERROR(G2:G51*1000) =ISERROR(G2:G51*1000) =IF(ISERROR(G2:G51*1000),,G2:G51*1000)

#VALUE! TRUE 0735132 FALSE 735132925749 FALSE 925749

#VALUE! TRUE 0#VALUE! TRUE 0#VALUE! TRUE 0#VALUE! TRUE 0#VALUE! TRUE 0

723393 FALSE 723393#VALUE! TRUE 0#VALUE! TRUE 0

626630 FALSE 626630#VALUE! TRUE 0

582658 FALSE 582658

#VALUE! TRUE735132 FALSE925749 FALSE

#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE#VALUE! TRUE

723393 FALSE#VALUE! TRUE#VALUE! TRUE

626630 FALSE#VALUE! TRUE

582658 FALSE

{ }

Page 35: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – Population =IF(ISERROR(G2:G51*1000),,G2:G51*1000) =IF(ISERROR(G2:G51*1000), , G2:G51*1000)

= SUBSTITUTE(G2:G51,",","") )

{ }

#VALUE! TRUE 0 4833722735132 FALSE 735132 735132925749 FALSE 925749 925749

#VALUE! TRUE 0 4395295#VALUE! TRUE 0 4625470#VALUE! TRUE 0 1328302#VALUE! TRUE 0 5928814#VALUE! TRUE 0 6692824

723393 FALSE 723393 723393#VALUE! TRUE 0 1051511#VALUE! TRUE 0 2900872

626630 FALSE 626630 626630#VALUE! TRUE 0 5742713

582658 FALSE 582658 582658

#VALUE! TRUE 0735132 FALSE 735132925749 FALSE 925749

#VALUE! TRUE 0#VALUE! TRUE 0#VALUE! TRUE 0#VALUE! TRUE 0#VALUE! TRUE 0

723393 FALSE 723393#VALUE! TRUE 0#VALUE! TRUE 0

626630 FALSE 626630#VALUE! TRUE 0

582658 FALSE 582658

Page 36: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Coding – Population

#VALUE! TRUE 0 4833722 4833722735132 FALSE 735132 735132 735132925749 FALSE 925749 925749 925749

#VALUE! TRUE 0 4395295 4395295#VALUE! TRUE 0 4625470 4625470#VALUE! TRUE 0 1328302 1328302#VALUE! TRUE 0 5928814 5928814#VALUE! TRUE 0 6692824 6692824

723393 FALSE 723393 723393 723393#VALUE! TRUE 0 1051511 1051511#VALUE! TRUE 0 2900872 2900872

626630 FALSE 626630 626630 626630#VALUE! TRUE 0 5742713 5742713

582658 FALSE 582658 582658 582658

=IF(ISERROR(G2:G51*1000), SUBSTITUTE(G2:G51,",",""), G2:G51*1000)

*1

=IF(ISERROR(G2:G51*1000), SUBSTITUTE(G2:G51,",","") , G2:G51*1000)

{

}

#VALUE! TRUE 0 4833722735132 FALSE 735132 735132925749 FALSE 925749 925749

#VALUE! TRUE 0 4395295#VALUE! TRUE 0 4625470#VALUE! TRUE 0 1328302#VALUE! TRUE 0 5928814#VALUE! TRUE 0 6692824

723393 FALSE 723393 723393#VALUE! TRUE 0 1051511#VALUE! TRUE 0 2900872

626630 FALSE 626630 626630#VALUE! TRUE 0 5742713

582658 FALSE 582658 582658

Page 37: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Substitutable functions

*IF?() functionsCOUNTIF()COUNTIFS()SUMIF()SUMIFS()AVERAGEIF()AVERAGEIFS()COUNTBLANK()COUNT()COUNTA()AVERAGEA()

Database functions

Matrix functionsHLOOKUP()VLOOKUP()ROWS()COLUMNS()

Maths functionsSUMPRODUCT()SUMSQ()SUMX2MY2()SUMX2PY2()SUMXMY2()SQRTPI()RANDBETWEEN()

Page 38: Problem Solving in Sprego Mária Csernoch, Piroska Biró csernoch.maria@inf.unideb.hu Faculty of Informatics, University of Debrecen, Hungary

Problem Solving in Sprego

Mária Csernoch, Piroska Biró

[email protected]

Faculty of Informatics, University of Debrecen, Hungary

Thank you for your attention.