Programming course issueshttps://git.lumc.nl/courses/programming-course/-/issues2019-12-09T15:59:33+01:00https://git.lumc.nl/courses/programming-course/-/issues/32Feedback 2019 course2019-12-09T15:59:33+01:00van den BergFeedback 2019 courseBelow are some changes based on assisting with the practicals for the 2019 version of the Python course.
* List comprehensions should not be part of the course. They are too complex since many people already struggle with for loops.
* ...Below are some changes based on assisting with the practicals for the 2019 version of the Python course.
* List comprehensions should not be part of the course. They are too complex since many people already struggle with for loops.
* More general, we should only show them things in Python we want them to use. For example, we should only show them the correct `with open(filename)`, not `fp = open(filename), do_something(fp), fp.close()`
* A few people had troubles with the `FizzBuzz` question because they did not known the `elif` statement exists. Should `elif` be added to the slides?https://git.lumc.nl/courses/programming-course/-/issues/31IPython or jupyter ?2018-04-30T05:44:31+02:00Wai Yi LeungIPython or jupyter ?With the new series of the programming course. Should we convert the IPython notebooks to the new "Jupyter" format? (though, ipynb will work, ipython as cli also)
May be relevant to show some side tracks on using IPython for R/JuliaWith the new series of the programming course. Should we convert the IPython notebooks to the new "Jupyter" format? (though, ipynb will work, ipython as cli also)
May be relevant to show some side tracks on using IPython for R/Juliahttps://git.lumc.nl/courses/programming-course/-/issues/30Post-course evaluation notes2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlPost-course evaluation notesPresent:
- Jeroen Laros
- Michiel van Galen
- Wai Yi Leung
- Martijn Vermaat
Boosting participation
----------------------
We want to involve the students more and push them to really do exercises. Afternoons off don't rea...Present:
- Jeroen Laros
- Michiel van Galen
- Wai Yi Leung
- Martijn Vermaat
Boosting participation
----------------------
We want to involve the students more and push them to really do exercises. Afternoons off don't really seem to work for that. Instead, perhaps do 3 full days with some time for supervised exercises.
We have to very careful that it will not get boring for fast students when we wait for the slow ones.
Separate presenting from practice
---------------------------------
Idea is to have more structure here. Ideally have good course material in written narrative, including exercises, which will be the backbone of the course. We introduce concepts in our presentations with separate slides, but these are always based on (or can refer to) the written course material.
This course material can be implemented in IPython notebooks, where the exercises have some empty code cells.
We also do just presentations, and separate this from some time for exercises afterwards. These can be intertwined as 20 or 30 minute sessions.
Object-oriented programming
---------------------------
This lesson can be much sooner, e.g., after *More Python Goodness*.
Mode of operation
-----------------
We introduce different modes of writing code:
1. (I)Python interpreter
2. IPython Notebook
3. Text editor
This makes things more complex. Perhaps we can completely skip the first one?https://git.lumc.nl/courses/programming-course/-/issues/29Pandas slides2018-04-30T05:44:31+02:00Wai Yi LeungPandas slidesReorganize sheets:
- Basic concepts of Pandas
- Basic datatypes, DataFrames, Series etc.
- The relation to Numpy
- Basic Plotting functions
- In relation to matplotlib
- Extended plotting features with seaborn
- comparing matplo...Reorganize sheets:
- Basic concepts of Pandas
- Basic datatypes, DataFrames, Series etc.
- The relation to Numpy
- Basic Plotting functions
- In relation to matplotlib
- Extended plotting features with seaborn
- comparing matplotlib with sns specific syntax
- Autocomplete feature and context based plotting, data manipulation
We should re-use the knowledge gained from the Numpy, IPython + matplotlib, sessions. So this session would be the exercise lecture where we apply the knowledge.
In the ordering of the lectures, this session is the last session of the day.
Wai Yi LeungWai Yi Leunghttps://git.lumc.nl/courses/programming-course/-/issues/28Notebook layout fix2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlNotebook layout fixOur custom notebook stylesheet causes cells with little content (or at least content that does not have wide lines) to be centered, which looks a bit weird.Our custom notebook stylesheet causes cells with little content (or at least content that does not have wide lines) to be centered, which looks a bit weird.https://git.lumc.nl/courses/programming-course/-/issues/27Some scheduled extra time for exercises2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlSome scheduled extra time for exercisesIt might be better to actually schedule from 9 till 13 while keeping the current lecture schedule from 9 till 12. The extra hour would give some time to start exercises with supervision and also allows for some overflow when lectures tak...It might be better to actually schedule from 9 till 13 while keeping the current lecture schedule from 9 till 12. The extra hour would give some time to start exercises with supervision and also allows for some overflow when lectures take too long.https://git.lumc.nl/courses/programming-course/-/issues/26Formatting errors in Pandas slides2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlFormatting errors in Pandas slidesPerhaps this is my fault, but there seem to be some incorrect cell types set in the Pandas slides (i.e. code cells with Markdown content, which gives Python errors).Perhaps this is my fault, but there seem to be some incorrect cell types set in the Pandas slides (i.e. code cells with Markdown content, which gives Python errors).https://git.lumc.nl/courses/programming-course/-/issues/25Error in NumPy slides2017-07-18T10:40:44+02:00Martijn Vermaatm.vermaat.hg@lumc.nlError in NumPy slidesJust a formatting error. There's one slide that contains cells from two slides (which doesn't fit).Just a formatting error. There's one slide that contains cells from two slides (which doesn't fit).Martijn Vermaatm.vermaat.hg@lumc.nlMartijn Vermaatm.vermaat.hg@lumc.nlhttps://git.lumc.nl/courses/programming-course/-/issues/24Order of lectures2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlOrder of lecturesIdea: Swap the NumPy lesson with one of the Wednesday lessons (IPython Notebook or matplotlib).
Reasoning: The Wednesday lessons are all a bit lighter on content and can probably do with a little less time. The Tuesday lessons are all...Idea: Swap the NumPy lesson with one of the Wednesday lessons (IPython Notebook or matplotlib).
Reasoning: The Wednesday lessons are all a bit lighter on content and can probably do with a little less time. The Tuesday lessons are all quite hard and need their time, especially the NumPy lesson (which used to be two hours). Same goes for the assignments.
I don't think the IPython notebook or matplotlib lessons have any hard dependencies on NumPy. Either would be fine, but the new form of the matplotlib lesson uses IPython Notebook, so it would be most obvious to swap NumPy with IPython Notebook.
I guess it's too late for this year though.https://git.lumc.nl/courses/programming-course/-/issues/23Add instructions howto set a convenient default editor.2018-04-30T05:44:31+02:00Michiel van GalenAdd instructions howto set a convenient default editor.VI will is used as default editor for the LUMC laptops. When %edit magic is called in ipython it will use the default editor. This may be confusing for students which never used VI before.VI will is used as default editor for the LUMC laptops. When %edit magic is called in ipython it will use the default editor. This may be confusing for students which never used VI before.https://git.lumc.nl/courses/programming-course/-/issues/22Lesson 2.2 exercise "Analyse a repeat structure" is not clear2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlLesson 2.2 exercise "Analyse a repeat structure" is not clearApparently it is not clear enough what string we want them to define. Perhaps look for another way of wording this without using 'tandem repeat'.Apparently it is not clear enough what string we want them to define. Perhaps look for another way of wording this without using 'tandem repeat'.https://git.lumc.nl/courses/programming-course/-/issues/21Title for Pandas lesson2017-07-18T10:40:44+02:00Martijn Vermaatm.vermaat.hg@lumc.nlTitle for Pandas lessonWe should settle on one title for "the Pandas lesson".
Current candidates:
- More on IPython and Python libraries making science peanuts
- Painting Pandas
- Python for data analysis
@wyleung Do you favor one?We should settle on one title for "the Pandas lesson".
Current candidates:
- More on IPython and Python libraries making science peanuts
- Painting Pandas
- Python for data analysis
@wyleung Do you favor one?https://git.lumc.nl/courses/programming-course/-/issues/20Accessing GitLab using HTTPS from the course laptops2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlAccessing GitLab using HTTPS from the course laptopsSome users will have to access GitLab over HTTPS because they are not on the internal LUMC network.
Due to a bug in Ubuntu 14.04, this will fail (as seen during the Git course). Here's a solution:
https://git.lumc.nl/humgen/gitcour...Some users will have to access GitLab over HTTPS because they are not on the internal LUMC network.
Due to a bug in Ubuntu 14.04, this will fail (as seen during the Git course). Here's a solution:
https://git.lumc.nl/humgen/gitcourse/issues/8
So we may want to run this fix on the laptops:
wget https://gist.githubusercontent.com/martijnvermaat/744dde0fa70df0ebf44a/raw/fix_sslv3.sh && bash fix_sslv3.shhttps://git.lumc.nl/courses/programming-course/-/issues/19Add Bowo and Zuotian to authors?2017-07-18T10:40:44+02:00Martijn Vermaatm.vermaat.hg@lumc.nlAdd Bowo and Zuotian to authors?I updated some lessons to list the current teachers, but I guess it's better to not remove the original author (in most cases Bowo, Zuotian's Git lesson was removed). Or we list all present and past teachers, that would also include Zuot...I updated some lessons to list the current teachers, but I guess it's better to not remove the original author (in most cases Bowo, Zuotian's Git lesson was removed). Or we list all present and past teachers, that would also include Zuotian.https://git.lumc.nl/courses/programming-course/-/issues/18List of participants - pre course preparations2017-07-18T10:40:44+02:00Wai Yi LeungList of participants - pre course preparationsDo we have a list of participants?
We need to inform them about what to prepare from their side (laptop, readings)
Installation of the virtualenv and such.Do we have a list of participants?
We need to inform them about what to prepare from their side (laptop, readings)
Installation of the virtualenv and such.https://git.lumc.nl/courses/programming-course/-/issues/17Where to split the multi-hour lessons?2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlWhere to split the multi-hour lessons?I guess we need to define where to hand over to the next teacher for the multi-hour lessons.
In practice we can always deviate a bit depending on time, but we should have some rough idea I guess.
Than we can perhaps also split the ...I guess we need to define where to hand over to the next teacher for the multi-hour lessons.
In practice we can always deviate a bit depending on time, but we should have some rough idea I guess.
Than we can perhaps also split the notebooks to one-hour parts, which is a bit more manageable.
Relevant lectures:
- Introduction to Python
1. Martijn
2. Jeroen
3. Michiel
- More Python
1. Michiel
2. Wai Yi
- A sip of BioPython
1. Wai Yi
2. Martijn
https://git.lumc.nl/courses/programming-course/-/issues/16Solutions to exercises and assignments2017-07-18T10:40:44+02:00Martijn Vermaatm.vermaat.hg@lumc.nlSolutions to exercises and assignmentsFrom last year I have some example solutions to NumPy and matplotlib exercises. For some reason I added them to the programming course repository.
So I removed them here and created a new **private** repository for this: [programming-...From last year I have some example solutions to NumPy and matplotlib exercises. For some reason I added them to the programming course repository.
So I removed them here and created a new **private** repository for this: [programming-course-solutions](https://git.lumc.nl/m.vermaat.hg/programming-course-solutions) (had to be outside the humgen group)
If you have any example solutions, please add them there.https://git.lumc.nl/courses/programming-course/-/issues/15Assignments repository2017-07-18T10:40:44+02:00Martijn Vermaatm.vermaat.hg@lumc.nlAssignments repositoryThere is some material for the assignments in the [programming-course-assignments](https://git.lumc.nl/humgen/programming-course-assignments) repository.
The idea is that students will fork that repository and push solutions to their ...There is some material for the assignments in the [programming-course-assignments](https://git.lumc.nl/humgen/programming-course-assignments) repository.
The idea is that students will fork that repository and push solutions to their fork. We just have to write some documentation on how to do that.
It also needs updating. For example, the sequencer assignment is still in there.
https://git.lumc.nl/courses/programming-course/-/issues/14Git2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlGitWhat to do with Git (GitLab/GitHub)?
What is the first practical where they need some code? When do they first have to submit some code?
Should we have an explanation of:
1. Clone the practical repository
2. Do the practical
3...What to do with Git (GitLab/GitHub)?
What is the first practical where they need some code? When do they first have to submit some code?
Should we have an explanation of:
1. Clone the practical repository
2. Do the practical
3. Commit changes
4. Send pull request
And for both GitLab and GitHub? Where do we document this?https://git.lumc.nl/courses/programming-course/-/issues/13Communication channel2018-04-30T05:44:31+02:00Martijn Vermaatm.vermaat.hg@lumc.nlCommunication channelLast year we used the GitLab wall, which does not exist anymore.
Michiel and I tried HipChat, but it requires registration and we were not really impressed.
A mailing list could be an option, but seems a bit overkill and not real-t...Last year we used the GitLab wall, which does not exist anymore.
Michiel and I tried HipChat, but it requires registration and we were not really impressed.
A mailing list could be an option, but seems a bit overkill and not real-time enough.
Perhaps [etherpad.mozilla.org](https://etherpad.mozilla.org) is a good option? We also used that in the software carpentry course at VU Amsterdam.