apresentação do powerpoint - europython€¦ · slides: bit.ly/python-ds. title: apresentação...
TRANSCRIPT
![Page 1: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/1.jpg)
Data Structures Discipline with Python@fmasanori
![Page 2: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/2.jpg)
I love teachingCS Professor at FATEChttps://about.me/fmasanori
http://pycursos.com/python-para-zumbis/
![Page 3: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/3.jpg)
![Page 4: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/4.jpg)
![Page 5: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/5.jpg)
![Page 6: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/6.jpg)
Difficult with C language
"A C program is like a fast dance on a newly waxed dance floor by people carrying razors."Waldi Ravens. Programmer.
![Page 7: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/7.jpg)
But I love Data Structures
![Page 8: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/8.jpg)
Data Structures are cool
![Page 9: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/9.jpg)
Data Structures with Python at FATEC
![Page 10: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/10.jpg)
Retention 2008
85% retained
15% approved
Data Structures with C (2008)
![Page 11: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/11.jpg)
Retention 2015
10% retained
90%approved
Data Structures with Python (2015)
![Page 12: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/12.jpg)
Data Structures with C:
–85% retained (2008)
Python > C:
–12% retained (2014)
–10% retained (2015)
– ENADE grade 5/5 (max) (2013)
–1st Programming Contest InterFATECs(1st/62) (2014)
Summary
![Page 13: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/13.jpg)
• Lab Only – 4 classes/week
• 4 Lab Projects (Python)
• Big Brother (some of the best students couldhelp the other students as coaches)
• Algorithms in C (few) and Python (mainly)
Details
![Page 14: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/14.jpg)
Why Python?
http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext
![Page 15: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/15.jpg)
Usability is a problem for DS also...
"Results show that many aspects of traditional C-style syntax, while it has influenced a generation ofprogrammers, exhibits problems in terms ofusability for novices".
"Perl and Java did not accuracy rates significantlyhigher than a language with randomly generatedkeywords"
Andreas Stefik and Susanna Siebert: "An Empirical Investigation into Programming Language Syntax." ACM Transactions on Computing
Education, 13(4), Nov. 2013.
![Page 16: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/16.jpg)
The most common fault in computer classes is toemphasize the rules of specific programminglanguages, instead of to emphasize the algorithmsthat are being expressed in those languages. D. Knuthinterview at People of ACM, June, 2014.
![Page 17: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/17.jpg)
Talk is cheap. Show me the code.
Linus Torvalds
![Page 18: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/18.jpg)
Variables are just names (references)
![Page 19: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/19.jpg)
References == “pointers”
![Page 20: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/20.jpg)
Big integers
![Page 21: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/21.jpg)
Natural integer division
![Page 22: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/22.jpg)
Multiple assignment
![Page 23: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/23.jpg)
"The programming activity should be viewed
as a process of creating works of literature,
written to be read. “
--D.E. Knuth
Identation
![Page 24: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/24.jpg)
Identation in C
![Page 25: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/25.jpg)
Identation in C
![Page 26: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/26.jpg)
Recursion
"To understand recursion, one must first understand recursion."
--folklore
"To solve the problem, I found barriers within barriers. So, I adopted a recursive solution. "
--a student
Ref.: Feofiloff, P., Algoritmos em C, Editora Campus, 2009.
![Page 27: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/27.jpg)
Recursion
![Page 28: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/28.jpg)
Recursion
![Page 29: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/29.jpg)
Recursion
![Page 30: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/30.jpg)
Recursion (student solution for dec2bin problem)
![Page 31: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/31.jpg)
Linked Lists
![Page 32: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/32.jpg)
Linked Lists
![Page 33: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/33.jpg)
Linked Lists
![Page 34: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/34.jpg)
FIFOs: Distance in Networks
![Page 35: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/35.jpg)
FIFOs: Distance in Networks
![Page 36: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/36.jpg)
FIFOs: Distance in Networks
![Page 37: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/37.jpg)
Stacks: well-formed expression
![Page 38: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/38.jpg)
Stacks: well-formed expression
![Page 39: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/39.jpg)
Selection Sort
![Page 40: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/40.jpg)
Selection Sort
![Page 41: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/41.jpg)
Quicksort
![Page 42: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/42.jpg)
Quicksort
![Page 43: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/43.jpg)
Word Count
Word Count, please download http://www.gutenberg.org/cache/epub/11/pg11.txt
![Page 44: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/44.jpg)
Projects: Sorting Algorithm comparison
![Page 45: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/45.jpg)
Projects: Arthur Merlin Games simplification
Jessica Pâmela
Leandro
Fernanda Renata
WalberGabrielDiogo EclisBrunoAdriano
Leandro
Walber
Gabriel Diogo
Eclis
Bruno
Adriano
![Page 46: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/46.jpg)
Projects: Binaries regions
![Page 47: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/47.jpg)
Projects: Minimum Degree Greedy Heuristic for MIS
![Page 48: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/48.jpg)
• C is good for optimization (details, low level)
• Python is good to show the essence of thealgorithms (readability, high level)
• If the algorithm is the same (complexity) “premature optimization is evil” also in teaching Data Structures.
Conclusions
![Page 49: Apresentação do PowerPoint - EuroPython€¦ · Slides: bit.ly/python-DS. Title: Apresentação do PowerPoint Author: massa Created Date: 7/22/2015 5:16:11 PM](https://reader033.vdocument.in/reader033/viewer/2022042809/5f91374da0564336b6453bb9/html5/thumbnails/49.jpg)
Questions?gist.github.com/fmasanori
http://about.me/fmasanori
Slides: bit.ly/python-DS