Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General feedback #28

Open
duncanwp opened this issue Dec 6, 2016 · 3 comments
Open

General feedback #28

duncanwp opened this issue Dec 6, 2016 · 3 comments

Comments

@duncanwp
Copy link
Owner

duncanwp commented Dec 6, 2016

No description provided.

@duncanwp
Copy link
Owner Author

duncanwp commented Dec 6, 2016

  • Could mention scripting a bit more - how to do it. Particularly how to work with multiple datasets across multiple cores - perhaps we can cover this on the final day
  • Maybe cover the conda setup in a bit more detail at some point - people see this as a 'python thing' and can be quite complicated at first

@ajdawson
Copy link
Collaborator

ajdawson commented Dec 6, 2016

I think we forgot to mention anywhere that all the libraries and Python itself are open-source, and thus anyone can contribute to them (bug reports, improving documentation, code).

@duncanwp
Copy link
Owner Author

"The overall layout of the course was very good although the second day was the most difficult and challenging one (and I didn’t even follow the CIS part!). Maybe some swapping of topics or diluting of topics could alleviate that.

You guys live & breath Python but that sometimes meant concepts were used without introduction. E.g. concept of objects, methods, classes & OOB were introduced either seemingly random (objects & methods) or rather late (OOB). Note that objects and OOB are conceptually very different from languages we usually use. Introducing them gradually might work (e.g. first objects and methods to explain basic Python syntax, later on OOB). The specific OOB-oriented syntax of Python is already visible in the use of matlibplot but one can deal with it there without mention of OOB.

The intro on the first day might be sped up; after all we’ve all worked with computer languages before. Important things to note: white space matters, case sensitive, Python data structures (list, tuple, dictionary), indexing in Python, how to get help on Python. Some of these things were part of the course, others just cropped up (or not at all). I’d say a list of possible variables (int, float, char etc) can be dealt with quickly: of course a language like Python knows those.

The difference between a view and a copy of Python data also came up randomly. But again it is an important distinction with most other languages (although pointers exist in most languages these days many people stay away from them).

The reliance on the notebook was sometimes a problem. In general this is a very useful tool to teach a language but it also created many moments of ‘Oh, yes, I should not forget to say …” (Python stuff like None or “””. The latter by the way should be introduced much earlier (not on third day) as part of a number of techniques to learn Python on the go, e.g. help()). Maybe a succinct traditional presentation followed by a notebook session might be a better way to organise many of the individual sessions.

I also found the different fonts used for normal text and Python commands to be insufficient. Maybe use colour as well?

The pycharm session ran into some trouble, maybe because two different things were introduced at once: IDE and optimisation?

Overall a wide variety of really useful topics was covered and usually well explained.

One suggestion: maybe at the end of the day you could give some bigger exercise to allow people to play around more with the language? The breaks can be shortened in my opinion."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants