Skip to content

Order of basics section #49

Open
Open

Description

@j-m-dean

Would it not be an easier learning curve to change the order of the basics section from

  • url: /basics/types
    • url: /basics/collections
    • url: /basics/numpy_arrays
    • url: /basics/functions
    • url: /basics/flow_control
    • url: /basics/and_or
    • url: /basics/loops

to

  • url: /basics/types
    • url: /basics/collections
    • url: /basics/flow_control
    • url: /basics/and_or
    • url: /basics/loops
    • url: /basics/numpy_arrays
    • url: /basics/functions

Arrays and functions before flow control, loops, and logic seems a bit odd to me. Thoughts?

Activity

  1. bjmorgan commented on Apr 2, 2020

    @bjmorgan
    Contributor

    Your proposed structure is a lot closer to how we organised our Y4 course last year. After this we decided on the new structure: why? We think functions should go early because otherwise you are using print() etc without having them properly explained. Ditto for modules using e.g. math.sqrt(). numpy arrays can be introduced as “special” collections. And you can do realistic exercises without using any logic or flow control and still understand everything, so these go last.

    That said, this is not fixed in stone, but is how we are planning to structure the Y4 course next year.

  2. arm61 commented on Apr 3, 2020

    @arm61
    Contributor

    Building on Ben's comment, I spoke with João Malhado from Imperial, who mentioned that their Python course (focused on data analysis) doesn't ever mention loops as the NumPy vectorisation renders them unnecessary. So I think that there is some method to our madness of having a non-traditional order.

    Obviously this may all change when we actually have content, so I think we should keep this issue open for now.

  3. added
    waitingWaiting for something or someone
    and removed
    questionFurther information is requested
    on Apr 3, 2020
  4. bjmorgan commented on Apr 3, 2020

    @bjmorgan
    Contributor

    No loops or logic in our Y1 labs either, and they are kind of shoe-horned in to the Y2 lab. You could build the same model without using either.

  5. j-m-dean commented on Apr 4, 2020

    @j-m-dean
    ContributorAuthor

    Fair enough, I guess I am biased by my own python education wherein numpy vectorisation wasn't even taught in depth until the second year course.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    waitingWaiting for something or someone

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions