13. Oct. 9:00 - 18:00
- What do you want to achieve?
- How would you like to achieve it?
- What is the first step which you would work on?
- What is the difference between Python3 and Python2?
- How to do object oriented programming (OOP), what is good OOP design?
- What can we do with numpy/plotting?
- How to set-up a python project (how to set up modules, init scripts, ...)
- What is unit testing and what are the best pratices?
Pycon 2013 talk ("Transforming Code into Beautiful, Idiomatic Python"): video: https://www.youtube.com/watch?feature=player_embedded&v=OSGv2VnC0go text content: https://gist.github.com/JeffPaine/6213790
- it was experimental
- we could learn fomr eachother
- see where other people are
- topics
- different skills, picked up all, could work
- many guided tutorials, good starting point
- ideas, how to analyze
- Github klowledge, Gitlab
- culture of writing elegant code
- details: git, collaboration
- new things
- github + using it
- collaboration (soul)
- finding a common point
- interactivity
- collaboration
- small collaboration tasks, Python
- group examples in small groups
- collabration process
- structure (form)
- slides to start into a topic for building a common ground and knowledge base
- given tasks
guidance
common tasks - orinetation/structure
- content (content)
- tutorials can be done at home
- share code, suggest changes, code review + code review tools
Out of point 3, we formulate actions which achieve the needs behind the improvement ideas
- structure and orintation
- needs: clarity, efficiency
- introducing each topic with slides instead of just talking can build a common ground and orient the group
- needs: group coherence, trust
- common tasks will help the group to know eachother better, undestand and practice together
They can be used in setting where collabration also strengthens the bond between the participants.
- Forms:
- Pair Programming
- Discussions
- changing roles and feedback
- Forms:
- common tasks will help the group to know eachother better, undestand and practice together
They can be used in setting where collabration also strengthens the bond between the participants.
- needs: clarity, efficiency
- Collaboration:
- needs: connection
- to get a connection, people need to see eachother as the humans they are and not be defined by their work.
- Forms:
- valuing athmosphere of acceptance
- meet at lunch together, discuss about what you do outside of the GeoX
- have a after school chill out somewhere
- Forms:
- to get a connection, people need to see eachother as the humans they are and not be defined by their work.
- needs: help
- to reduce the hurdle to ask other people for, we can have them collaborate and talk right away.
Forms:- Randori Kata
- pair programming
- to reduce the hurdle to ask other people for, we can have them collaborate and talk right away.
- needs: connection
- Content:
- Motivation: Why use Python
- One Algorithm in Python, Matlab, R, C.
- Idea: find ways to express the same program, relate to known language
- Not Idea: Compare the languages on a metric
- Python:
- How to write modules
- How to do OOP (Python Tutor)
self,__init__, attributes - Coding practice and guidelines (Hound CI)
- image processing (Nicco does not do that so needs to ask someone help)
- how to use numpy
- debugging and stepping though
Each of the building blocks addresses one or more of the needs and forms from above. It is estimated in time, particpant number and content.
Nicco proposes to prepare the following. If you think something is missing, please open an issue and consider preparing it yourself as it is important to you.
Forms:
- Randori Kata
- DIY Tutorial
- Pair Programming session
- Talk
- Prepared task
Examples: - Code Review
Tools:
- Python Tutor http://pythontutor.com/live.html
Live visualizer for programs. - Pytest https://docs.pytest.org/en/latest/
Testing program - Hound CI https://www.houndci.com/
Python style guide - flake8 https://pypi.python.org/pypi/flake8
Python style checker