BRAC University's CSE 110: Programming Language I. This course would be an introduction to the foundations of computation and purpose of mechanized computation. Emphasis will be placed on techniques of problem analysis and the development of algorithms and programs.
Start by reviewing all the slides provided in the Notes section. Before writing any code, make sure you understand the reasoning and purpose of each function. If you're having trouble grasping a particular topic, try searching for related keywords on renowned platforms like YouTube, W3Schools, freeCodeCamp, Stackoverflow etc. If the issue persists, you can always seek assistance from your ST or Theory/Lab faculty.
Next, move on to the lab assignments section and attempt to solve every problem independently. It's important to note that some problems may take longer than usual to solve, but this is necessary for building the capacity to overcome solo challenges. If you only rely on solutions and don't attempt to solve problems by yourself, you'll struggle in the long run.
Finally, if you want to further enhance your skills after completing all the assignments, you can visit various websites based on your skill level.
Topic wise : Cses, Lightoj
Beginner : BeeCrowd, Codewars, UVA, AtCoder
Intermediate : Codeforces, Codechef, Hackerrank
Pro : Leetcode