I have been using Julia for more than a year now and I am now trying to learn some more difficult topics. Note that my background is not in CS. I work mostly in Control Engineering.
Let us say we can split content in Julia Manual into three parts Beginner, Intermediate, and Expert
The levels of expertise may be classified as:
- Beginner level - Knows contents from Julia wiki-book.
- Intermediate level- Knows topics such as Conversion and Promotion, Value types etc.
- Expert level - I don’t know which topics would go here. Maybe meta-programming?
My current understanding is in between beginner and intermediate level. In order to understand any Intermediate level topic I do the following:
- Try to understand the section in Julia manual.
- If not understood, google and find another reference and understand what was missing.
Ex. 1: Promotion and Conversion: The part on Conversion in Julia manual is very clear but the promotion part is a bit difficult. Also, how to use the two together was not clear to me. So I referred to this answer on SO and I think I have understood it now.
Ex. 2: Value types: The part in manual is very short. I could not find a good reference for this part.
Also, the above procedure is not very efficient. Particularly with respect to finding appropriate reference. I see two options which can make the learning journey more easy and find everything in one place:
Suggestion 1: Simplify and rearrange manual to serve as a one stop shop for all users. Following things could be done
a) Rearrange the sections. : Ex. IMO the section on Function like objects could be moved up as it is easier to understand and used much more than sections before it.
b) Expand the sections. : Ex. The section on value types can be expanded.
3) Add examples. : Ex. The section on value types and section on conversion and promotion can be made better by adding more examples.
4) Add context to given sections. Ex: Why does one need to use value types?
However, it might not be possible since the manual might have different design philosophy.
Suggestion 2: Develop wiki-books for Intermediate and Expert level so that easy to understand explanation is available for advanced topics.
Is there a structured way in which one can master topics of increased difficulty level?