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

Course feedback: Improvements #25

Open
2 of 4 tasks
mikkolad opened this issue Dec 1, 2020 · 5 comments
Open
2 of 4 tasks

Course feedback: Improvements #25

mikkolad opened this issue Dec 1, 2020 · 5 comments

Comments

@mikkolad
Copy link
Collaborator

mikkolad commented Dec 1, 2020

Suggested improvements following feedback:

  • Add relevant sections to exercises to encourage using manual notebook.

  • Emphasise how good plots should look.

  • Maybe display students past common pitfalls and how to avoid them (This would include vectorization)

  • Create a pdf guide on how to get jupyter notebooks working.

@mikkolad
Copy link
Collaborator Author

mikkolad commented Jan 15, 2021

  • Add something with ddof in numpy.std()

  • More on dataframes (Astropy, Pandas, etc..)

@mikkolad
Copy link
Collaborator Author

mikkolad commented Jan 19, 2021

  • Create a website to host the material

@eerovaher
Copy link
Collaborator

eerovaher commented Apr 27, 2021

  • Lesson 2 (NumPy) should be rewritten.
  • All exercises should be reviewed.

@eerovaher
Copy link
Collaborator

I'll summarize my notes about what bothered me last year. I have tried ranking them so that the issues on top are more important to address, either because they are more serious or because they are simple to deal with.

  1. C-style string formatting instead of f-strings. I think a quick remark during a lecture should be enough because most of the students likely don't even know what C-style formatting is.
  2. Lack of structured programming, i.e. not using functions or even for-loops at all.
  3. Absolute paths. Not really a Python issue, but using absolute paths was very prevalent last year so we should address it.
  4. Storing equal-sized numpy arrays in lists.
  5. Not writing vectorized code. Addressing this is the main point of the entire second lesson.
  6. Ignoring PEP8. The Python interpreter does not enforce PEP8, which allows the students to ignore it.
  7. Not treating functions as objects. In one of the projects the students have to fit different line profiles to a spectral line. The simple way is to write a generic fitter that accepts the line profile function as an argument instead of writing a separate fitter for each line profile. I've ranked this low because it is not relevant for the other projects.

@AlinderS
Copy link
Collaborator

AlinderS commented Nov 4, 2021

In lecture 2: We talk about np.empty() and np.zeros(), but we don't talk about the difference between them. My suggestion is to add a short explanation to the manual.
The way we generate random numbers in the exercises for lecture 2 is using the old style, I recommend changing it to the new style.

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

3 participants