I'm a beginner learning Dark basic too. One thing I am doing which is helping solidify new knowledge is to write my own tutorial program outlining things i want to know, not to share with others but rather just to practically use commands and burn them into my mind.
i ask myself a question, and then answer it giving examples within the program.
as my knowledge builds i find more complicated and creative ways to use the simple commands I have learned, and add in new features i am covering at present.
the upside of this is if i ever go rusty then i have a tutorial written by me for me, explaining and practically using the examples.
I already find that the little I have picked up so far can be applied to a great many tasks with a little creativity.
I haven't used any books, i began with the dark basic help file in one corner of my window and worked through the introduction sections, and looked at its command index and example code to find out how to do things.
I feel the best way to learn something is to need to do it.
when you need it for a real task the code application becomes real as apposed to a textbook example you are detached from which is full of strange stuff.
hope this is helpful.
Sometimes I like to use words out of contents