Closed respiewak closed 4 years ago
I would add: 1st: plotting - how to, tweaks and packages (people should already know about colourmaps).
6th: I would place that in advanced topics. I'm currently enrolled in one coursera course that does machine learning in python and after 2nd week I need to start all over. In some distant future I might dare to show examples
I agree with @rdzudzar - machine-learning is at least an intermediate topic, if not an advanced topic.
1a. Managing python and python environments
I'd agree about machine learning. It had been mentioned, so I thought to include it, but I don't think it's a beginner topic. I like the idea of adding plotting to the python session, but I'm worried about making that session too cramped and not giving enough time for students to really understand things. Ditto for python environments. Perhaps a second python session would be necessary.
@respiewak Sorry I think there's stuff for at least two python sessions. Plotting in python is probably at least another two session by itself.
Yes, indeed. Also, it can be mix of 'Hey, this is how you do it' and 'Bring your code plot for review to make the code better'. I'm volunteering that I'll bring a code to show for a plot which needs to be improved.
One suggestion made last week was that we have a few "1st-year" sessions that we schedule once per month or so, to run throughout the year. The idea here is that new students can attend these to get started in coding, but they don't have to be taken in any particular order, so students starting at any time of the year can jump right in. Practically speaking, we should have 5 or 6 if we want to have the "course" run twice per year with one of these sessions every month or so.
Currently, our list is: 1) python: importing packages, writing loops and conditionals, useful functions (like
print
andenumerate
), object types (integers, floats, strings, lists, dictionaries, and tuples), etc. 2) Unix: man pages, cat/less/more, find (basics), ls (and useful flags), rm (and dangers), etc. 3) git/github: basics of working on your own and contributing to someone else's code (forks) 4) slurm: submitting jobs, getting interactive sessions. Might not be necessary if ADACS has regular tutorials 5) ssh: ssh-keys, X11 forwarding, ssh config files, etc. 6) machine learning? Thoughts?