If you are going to be taking a class in algorithms soon, you might be wondering if it will be a difficult class. This post will show you how hard you can expect the class to be and what you can do to make the class easier.
Overall, a first course in computer science algorithms is not usually a hard class. However, there is a lot to learn so you will still need to study a reasonable amount.
There are actually a number of factors that will impact the difficulty of the class for you. However, there are a number of things that you can do to make it much easier.
Reasons why algorithms can be a hard class
There are a number of aspects to the class that can make it difficult. The class focuses on showing you ways to design code so that it runs as efficiently as possible. There are usually many different ways that you can solve the same code problem but they can have very different run times. As a result, it can be difficult to tell when you have found the most optimal solution to a coding problem.
Also, there are many different algorithmic techniques that you are taught in the class that will give you different methods of solving common coding problems. There are many different algorithms that get taught in the class and some of them can be tricky to understand, at first, so the class will require some effort on your part.
Reasons why algorithms can be an easy class
Even though there are some things that can make the class tricky, there are also a number of aspects to the class that make it less difficult.
Overall, the algorithms are not that difficult to understand and the test questions will usually be very similar to those you see in class. In order to do well it will mostly be necessary for you to work through lots of different problems so that you can see the correct approach to a problem easily.
Also, algorithms is a very useful class. The reason for this is that most tech companies use algorithms to test their applicants. If you can do well with algorithms, it will greatly improve your chances of getting a job offer at a tech company. This also has resulted in an abundance of material online that will teach you algorithms.
It depends on the professor
The difficulty of the class will largely depend on the professor.
Some professors will cover the material quickly, expect you to know everything from the book, ask tough questions on the exam and give you little idea of what will be on the exam.
While, other professors will not rush through the book, ask simpler questions and let you know what you can expect to see on the exam.
Before choosing the class, it would be recommended to see how other students have rated the professor that will be teaching it.
However, just for future reference, when you are applying to tech companies, you should make sure to be able to solve the harder problems since you should expect to get asked them in an interview.
It depends on your own background
The difficulty of the class will also depend largely on your own background. The class does involve some mathematics. If you have done well in math classes such as discrete math, you will likely be ok with the math in algorithms. Also, it would also help to have done well in data structures.
How much you can expect to study
Generally, you should expect to spend around 10-15 hours per week on the class assuming its three credit hours. You might need to spend more or less time on the class than that, depending on other factors influencing how difficult the class is for you such as the professor, how demanding your college is and your own background.
Ways to make algorithms easier
Below are a number of things you can do to make the class easier for yourself.
Plan the schedule for the semester early on
It is important to plan the entire semester out during the first week of classes. By doing so you will be able to spot potentially difficult weeks, before they come, avoid missing due dates and know when you need to start focusing on a certain class.
Prepare for it ahead of time
Another thing you can do that will greatly improve your chances of success, in the class, would be to prepare for it ahead of time. My recommended way of doing so would be to watch a Youtube playlist teaching algorithms. Here is one playlist. It would also help to work through an algorithms textbook.
Pick a well-reviewed professor
As mentioned above, the professor will have a big impact on the difficulty of the class. It would help to try to choose your professor for the class as early as possible and to look at what other students have said about them.
Read the book before skipping to the problems
Many students will jump to the problems before reading the relevant chapter from the textbook because they want to save time. The problem with this is that the problems will be based on what is in the textbook and the professor will often skip over sections from it.
Instead of jumping straight to the problems, you will likely have a much easier time if you read the chapter before jumping to them.
Prioritize the material given to you by the professor
If the professor gives you any material then make sure to prioritize understanding it especially if it is a study guide. This material tends to be very likely to appear on the exam.