Lithium-ion battery charger circuit design
Like most problems, you should start this one by breaking it down into simpler problems. A practical design would almost certainly use a microcontroller or an IC to do this, but there's no reason you couldn't build something out of more discrete ICs. Doing so could be instructive. 


Do you need and how would you make a circuit that measures temperature to ensure it's appropriate to charge the batteries?
Do you need and how would you make a circuit that detects when it's time to stop charging and turns everything off until it's time to charge again?
How do you want to switch the current? Will your switching be linear or will you use an inductor to step down the voltage making a more complicated but more efficient design that scales better?
How would you make a circuit that detects and limits current during CC charging?
How would you make a circuit that detects and limits voltage during CV charging?
Do you need and how would you make a circuit that limits current to a lower level if the voltage is below a certian limit.
Can you combine the above parts by sharing elements like the switching elements so you only have one high current/high power transistor?
How do you make the device safe? What could fail and how could it fail and how do you protect users and valuable parts of your circuit if they do? (MOSFETS tend to fail closed so it's a challenge to break a circuit when they start to fail if you don't have some sort of fuse)