First of all, congratulations on choosing computer engineering as your profession. It’s a challenging field, especially if you currently have limited programming experience. Throughout your studies, you’ll often find yourself juggling at least three demanding courses simultaneously, leaving little time to fully digest the material. You’ll have to move quickly from one assignment or exam to the next, so it’s wise to prepare in advance. Read the blog of one of my computer engineering students to get an idea.
To begin with, it helps to understand the "superpowers" you gain with a computer engineering degree and what they can be used for. No, it’s not just about mobile or web applications. It is applied mathematics. At its core, computer engineering is about solving complex problems with an optimal balance of speed and computer memory usage. For instance, if you can perform a task 40,000 times faster, that’s the difference between the blink of an eye and an hour, or having a popular product or a product no one is using. I recommend the following resources:
- An App Called Napster: A documentary about the impact of advances in computing (MP3 compression and peer-to-peer networking) on the music industry.
- Crash Course Computer Science: A six-hour series covering all the topics you’ll encounter during your four years of study.
- But what is a neural network?: An introduction to artificial neural networks and deep learning.
- The essence of calculus: To prepare for the first year mathematics courses.
If you're having trouble understanding the English in the videos, try watching them at 0.5x speed with captions enabled. You can also use Duolingo to boost your English.
During your holidays, spend a couple of weeks familiarizing yourself with key concepts and gaining the ability to solve simple programming problems. This way, during the semester, you’ll only need to focus on understanding the problems themselves, rather than struggling with basic tasks like how to use a compiler or mastering programming language syntax. Follow CS50x 2024, which covers many computer science/engineering topics. Keep in mind that you’ll need to dedicate at least 20 hours per week to solve the problems in this course.
By laying a solid foundation now, you’ll set yourself up for success in your studies and beyond. Remember, the journey of becoming a computer engineer is demanding but very rewarding. Stay curious, keep challenging yourself, and don't hesitate to seek help when needed. Document your progress and the lessons you learn in a blog. Your dedication and hard work will pay off as you acquire the skills to create innovative solutions. Best of luck on your exciting journey into the world of computer engineering!
Music: Vivaldi's Four Seasons: Summer - Epic Trailer Version