Course Analytics

for Oregon State University's Computer Science Post-Bacc Program

Upper Division

Core Class

CS 325

Analysis of Algorithms

Data Summary

Filter:

130

Reviews

13

Hours per Week

3.7

/ 5.0 Difficulty


Common Pairings

CS 361:

34 times

CS 340:

24 times

CS 362:

13 times


Tips from Students

Page 1 of 13

SP 20240-5 hours/week2 / 5

Be consistent, don't stress about learning everything, and study for the tests. I am taking this as my 13th class in the program, and I think it is one of the easier ones in terms of time commitment and effort. I feel like the ratings for this class are misleading.

Submitted Mon May 13 2024

WI 20240-5 hours/week2 / 5 CS 361

Students tend to exaggerate the level of difficulty of this class. While I agree that the exams were tough, they were certainly fair! Anyone who spends a few hours studying for them, or at least watches the review session and makes their own cheatsheet will be fine. I am terrible at implementing algorithms, and frankly I'm not the best at programming in general, and I managed get out with an A. Do not stress out about understanding everything from the start, finish your assignments on time (grace days are nice but you might fall behind) and give yourself ample time for the quizzes (only 2 attempts allowed). You're gonna do great!

Submitted Sat Mar 30 2024

WI 20246-12 hours/week3 / 5

Less hours spent per week than 261, but the hours are more painful. Difficulty is sorta consistent throughout the term. Homework can finished in 1 good day. What makes this class hard is exams are worth 40% of your grade so it's challenging to land a solid A, but if you just want to pass, its easy peasy. Course materials are probably the worst in the program but there's great resources online, I recommend skimming the modules for the topics, looking at outside resources and then coming back to the modules to see if you missed anything.

Submitted Fri Mar 22 2024

FA 20236-12 hours/week4 / 5 CS 362

The modules aren't great at explaining the concepts, but there are plenty of resources available online. The assignments aren't terrible - there is enough time to figure things out with outside resources and get perfect or near-perfect scores. The exams are ridiculous, however. Exams are proctored, only one sheet, single-sided notes allowed. No scratch paper, but a whiteboard is allowed. Final is cumulative. Exams will often use strange wording for concepts, making it difficult to know what the right answer is. Know the differences between big O, big Theta, and big Omega, and know them well. And be able to describe them in different ways (upper bound, lower bound, etc). Learn P vs NP vs NP-Complete complexity classes and be able to describe them. I wouldn't say it's hard to pass this class, but the exams make it really difficult to keep that A.

Submitted Mon Dec 11 2023

SU 20236-12 hours/week3 / 5 CS 340

This class is not particularly difficult, provided that you are comfortable with math. Math topics that are relevant include the behavior of functions (i.e., what does the graph of n^2 look like compared to the graph of n), logarithms, induction (but not as formal as in 225), limits and taking derivatives, and graph traversals/terminology. That being said, the class is not really heavily mathy, it's just that you'll understand things faster if you have a good grasp on those topics. All in all, I'd say this class has a lower time commitment than 261, and while it is conceptually more challenging than that class, the actual assignments are easier. There isn't much coding in 325 - there is usually a single small-scale coding problem in each homework and the rest of the questions are about proofs, techniques, and concepts. You should expect to get most of your practice actually implementing algorithms outside class by doing LeetCode. Another thing that makes this class challenging is that the learning material is extremely bad. It's a contender for having the absolute worst quality modules in the entire program. However, there is an abundance of really good learning material for this topic available online for free. By now you may have heard of Abdul Bari's excellent videos, but you should also check out the University of Washington lectures in the semester playlists on the @cse373 YouTube account that correspond with the topic you're learning. The recommended textbook, the famous CLRS, is a great resource (and a great place to find help with homework), and there's also a book by a guy called Steven Skiena called The Algorithm Design Manual that is pretty good too, and has great coverage of logarithms if you're confused by that. (Note: Steven Skiena also has lectures on YT and his class is also called CSE 373, but that's just a coincidence. The lectures I recommend are SP 2022 at University of Washington). One other thing that can be challenging - the exams are weighted very heavily in this class (this final is 25% of the grade). Careless mistakes or blanking out can bring your grade down multiple points, so be careful. Thankfully, the exams aren't very hard - they involve no coding, you get to bring a cheat-sheet, and there are only a pretty small number of questions that aren't multiple choice. For exams, focus on understanding the concepts and be able to identify the pseudocode for algorithms described in the explorations. Don't get too pressed about not being able to come up with solutions to algorithms problems (especially harder things like dynamic programming), because you won't be expected to solve novel algorithms problems on the exams. Just know how things works and be able to identify problems and you should be set.

Submitted Tue Aug 22 2023

SU 20236-12 hours/week3 / 5 CS 361

This class couples nicely with data structures and I'm glad I took data structures before hand. If you enjoy mathematical analysis for proving the time complexity of an algorithm then you'll enjoy the class. If you only enjoy coding then this class will be the bane of your existence. Also, I get why NP hard problems are discussed but I definitely hated that module more than anything else in this class. It was way too abstract for my liking.

Submitted Sat Aug 19 2023

SP 202318+ hours/week4 / 5 CS 361

Go through the pain of gaining access to the GitHub Student Pack (https://education.github.com/pack), which will get you limited access to Educative and its basic algorithms courses. The material in the course modules might not be sufficient to explain the concepts for you. Attend office hours at least once a week. Remember that the professor and the TAs WANT you to pass this course--if you're struggling, let them know; they'd like you to avoid repeating it.

Submitted Tue Jun 20 2023

SP 20236-12 hours/week4 / 5 CS 362

Take soon after data structures, and find resources outside the course. Also, study a lot.

Submitted Wed Jun 14 2023

SP 202313-18 hours/week5 / 5 CS 361CS 391

Focus on activities for the exam. Look up and prep with deriving recurrence formulas, P = NP proofs (lightly touch on), and graph algorithms (Prims, TSP, MST).

Submitted Tue Jun 13 2023

SP 20236-12 hours/week3 / 5 CS 361

Compared to 261, this course was easier in terms of getting an A grade because the solutions for homework are easily found online and the exams are quite easy. However, the actual learning materials themselves were much more challenging than 261. The course materials were poorly written, and I often found external resources to be more helpful. You can easily find solutions to all the problems and algorithms you need to know for this course. While ChatGPT is great for coding assignments and homework, I recommend trying to come up with solutions on your own first. It provides a valuable learning opportunity. The midterm and final exams make up a significant portion of your grade, but they are straightforward. They are slightly more difficult than the quizzes, but much easier than the homework assignments. It will take a considerable amount of time to fully comprehend the materials, but you can learn a great deal by practicing coding algorithms and solving problems.

Submitted Tue Jun 13 2023

Page 1 of 13

About:

Course Analytics was developed for students of Oregon State University's online Computer Science program. The data on difficulty, time commitments, course pairings, and tips have been submitted by real students using this survey. Feel free to add your own reviews if you are a current student! The data is scraped from this spreadsheet.

Course Analytics is an open source project by Nic Nolan.
View the repository on GitHub