I loved my University though. They were accredited for their CS program (not sure how important that is honestly in fact I only learned about that because I had to do an exit interview). Though there are many arguably better Universities in Utah such as BYU and U of U to name a fewer, I’ve come to believe that pretty much any University will likely give you a world class education. Also Utah State is a research University which is an added bonus, because it helps to have teachers that research in their field. I felt I got a really good grasp on the theoretical principles there. My favorite course was probably Discrete Mathematics at USU. It helped me get a good grasp on abstract thinking (might as well bring that up since this thread is about that). I really recommend anyone take something similar to Discrete Math by starting to go through the readings for the Mathematics for Computer Science course from MIT Open Course Ware and possibly the videos too (OCW) (e.g. [2] or [3]). Reading the beginning of the Math for Computer Science course manual prepared me for my Discrete Math class so well (In fact I ended getting over a 100% final grade because the teacher had to move the grading curve, because likely too many were likely not doing so good). Usually before you take a class like that you need to take Calculus, but really all you need to know from Calculus to complete that class is likely sums and series. Any ways best of luck with your studies and if you plan on doing online education I’m not sure the best University to do it through. I was really glad that I was able to attend University on campus though, because though I can be disciplined I feel like I lack that discipline whenever I don’t have enough pressure to keep me focused and not get distracted on other things. Again best of luck in studies!
[1]: http://www.hnreplies.com/ [2]: https://ocw.mit.edu/courses/electrical-engineering-and-compu... [3]: https://ocw.mit.edu/courses/electrical-engineering-and-compu...