I learned a lot from online classes, especially in the field of programming and algorithms. Some of the online courses I took which I recommend include:
Introduction to computer science and programming using python from MIT: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/
Algorithmic toolbox and Data structures on coursera from University of California San Diego.
Thanks for asking Asmaa :)
First, congratulations on finishing your first year of college. Hope you get to take the time to enjoy your summer and your break.
The first year at the Computer Engineering department in Alexandria University you'll still be studying some core topics in mathematics, physics and electrical engineering in addition to introductory classes in programming.
A good way to prepare yourself for school, especially if you have no prior experience in programming, is by spending some time discovering the new world of programming and software development. There are many online resources on websites such as Udacity.com, Coursera.org, EdX and Khan Academy. They can be very fun and can take out the pressure of learning something new for the first time in a graded setting.
I hear these days the introductory programming class at Alexandria Faculty of Engineering is taught in C. Coursera hosts a great beginner level class in C programming from UC Santa Cruz that makes no assumptions about your experience in programming. I believe it would be a great and fun resource. Here's the link: https://www.coursera.org/learn/c-for-everyone
Another great resource is older students in your college :)
The Computer Engineering department in Alexandria has a very active and helpful ACM student chapter. They welcome all new students and are excited to share resources and experience. Here's the chapter's facebook page: