These are listed in roughly recommended order.
Code in the website and submit your code to have it checked.
Edubits Challenges Code in the website and submit your code to have it checked - just like CPPLab. Practice in multiple languages (including C++). Nice range of problem difficulties.
Kattis Programming Challenges Code in the website and submit your code to have it checked - just like CPPLab. Practice in multiple languages (including C++). Nice range of problem difficulties.
Hackerearth coding practice
Code and test in browser. Leans towards more complex problems lots of 260 and beyond problems.
Codechef coding practice
Lots of problems, but not as well curated as some of the other sites.
Advent of Code
Annual set of programming challenges counting December 1–25. The front page shows the most recent/current year's problems, but you can also view past events. This reddit post has problems categorized so that you can find say a list of all the problems involving working with Grids or Boolean Lofic.
Leetcode.com programming practice
Advanced practice. Even the Easy problems require CS260 knowledge.
Work on challenge problems proposed by other programmers. Check out solutions created by others.
These resources are focused on programming competitions. They still have lots of programming puzzles, but they tend to emphasize problem solving more than basic programming practice.
US Coding Olympiad
You can make an account and then work your way up from easy problems to hard.
UVA Online Judge
Big lists of problems. A recommended starting point is the category called AOAPC II: Beginning Algorithm Contests (Second Edition) (Rujia Liu)