Tackle computer science challenges with classic to modern algorithms in machine learning, software design, data systems, and cryptography