At this scale (fewer than 5 students) lectures are a poor choice of educational methodology in any case. Lectures were created as a way to scale up education for the masses. They are driven by economic considerations, not educational ones.
What you have here is precisely the scale of an Oxford University Tutorial in which a few students meet a few times a week with an expert who guides them. Students prepare work in advance. The tutor comments and guides them. He/she can suggest readings, possibly different for each student, and sets new tasks or re-work on existing tasks.
You can also investigate Inquiry Based Learning (Thanks to User skull for proposing that idea in the classroom). This is essentially the same concept as the tutorial, and emphasizes Active Learning.
Thirdly, you also have precisely the scale for a small Agile Software Development team that could be set to a building task using one week iterations that also required that they learn about the language, process, and OO principles as they go. You become both the product customer and the learning Coach. When their code could be improved, show them how in your meetings and have them update it in the next "iteration". With this idea, perhaps combined with the tutorial idea, you can encourage them to teach one another so that not everything they learn comes from you. This can also take Active Learning to the "next level."
As an undergraduate in Maths (shortly after Plato's death), I had at least one course with such a small number of students. One of our tasks was to periodically prepare a topic for presentation to the rest of the class. This might also be possible. Their "lecture" might only require a few minutes and be accompanied by a Q/A session. You can do a wrap-up yourself. This technique can also, over time, helps students overcome their natural reluctance to perform publicly. Many of them will eventually go in to careers in which such performance can be a valuable skill, so you can advance their skill/knowledge on many fronts simultaneously. For some of the students you might need to review their mini-lecture prior to their presentation, both for content and for reassurance.
The real issue is that different people have different ways of learning. You already recognize that and have made adjustments for it, but you may be able to go farther.
I'm not sure that this scales to as many as ten students, however. But some of it might for relatively advanced (i.e. experienced) students.
For a more direct answer to your question (finding resources), you can have the students assist in this. Some sort of computer mediated communication (email list, wiki,...) can be used and students can contribute helpful resources to it. You can reward them for this, also. If it is something like a wiki, you also preserve the resources for the future. You also have a handy way to toss in resources as you come across them and students will have immediate access. Students can also, perhaps, comment on the helpfulness of their peer's contributions, aiding your eventual evaluations.
deferred
beforeclass
. $\endgroup$public static void main
(java and C# are not much better. well may be a lot better, but still can you explain “hello world” program without having to explain access modifiers, OO, return types / functions, main. And we have not even got started. One thing good that can be said about C++ is that it the only language (that I know of), that allows static checking of dimensions ( $f=ma$ ($N=gms^2$)), to be implemented. Oh no, is the feature that allows the Barton–Nackman trick still in the language? $\endgroup$C
based OO languages (Java, C++, C#). I can program all of them, and have done I am not saying that any of them are bad languages. I am only saying that they are not a good first (OO) language. $\endgroup$