Si estás en el 3er año de licenciatura, supongo que debes tener algo de experiencia con C y C ++. Estos lenguajes son mejores en su campo respectivo, es decir, C para aprender los conceptos básicos y fundamentales de la programación y C ++ para comprender el concepto OOPS.
Yo sugeriría elegir cualquiera de los dos (pensé que me inclinaría por C ++, debido a que la mayoría de las cosas de hoy están orientadas a objetos como Ruby / Ruby on rails para desarrollo web, todas las versiones más completas de Java y J2EE, C # para la plataforma de Windows, etc.) y comenzar a aprender.
Let’s C ++ de Yashwant Kanitkar es un gran libro para empezar. Cubre los fundamentos tiene una gran cantidad de preguntas de ejercicio para elegir su cerebro. Además, hay muchos tutoriales en YouTube (si prefiere video / e-learning). Intentar y hacer que la teoría vaya de la mano con aplicaciones / programas prácticos.
Una vez que haya aclarado sus fundamentos, pruebe los sitios web que brindan preguntas como el codificador superior o la plataforma de codificación de Google, etc.
StackoverFlow también serviría a tu propósito una vez que te encuentres con una duda, que no puedas resolver por ti mismo.
Finalmente, sugeriría tener un poco de conocimiento holístico de 3 capas de cualquier aplicación, es decir, frontend, middletyre y el DB. Esto le daría una ventaja en sus entrevistas sobre sus compañeros.
Espero que esto ayude. Aprendizaje feliz y codificación !!