If I had 2-3 weeks to learn, this is how I'd do it. A simple book, something I can go over a few times to make sure I understand it. A starter project that is very common (like rock paper scissors) so I can see other peoples solutions. And then a practice website like exercism or codewars to do in my free time.
Time constraints are a limitation but that's a pretty good guide. I never understood people's goal of learning something within a limited time span i mean there could be several reasons but the question is how achievable is the goal.