
The only guide to getting ahead once you've gotten in--proven strategies for making the most of your college years, based on winning secrets from the country's most successful students What does it take to be a standout student? How can you make the most of your college years--graduate with honors, choose exciting activities, build a head-turning resume, and gain access to the best post-college opportunities? Based on interviews with star students at universities nationwide, from Harvard to the University of Arizona, How to Win at Collegepresents seventy-five simple rules that will rocket you to the top of the class. These college-tested--and often surprising--strategies include: • Don't do all your reading • Drop classes every term • Become a club president • Care about your grades, Ignore your GPA • Never pull an all-nighter • Take three days to write a paper • Always be working on a "grand project" • Do one thing better than anyone else you know Proving that success has little to do with being a genius workaholic, and everything to do with playing the game, How to Win at Collegeis the must-have guide for making the most of these four important years--and getting an edge on life after graduation.
Furthermore, my experience in industry has been that nobody cares about your school after your first job or internship.
So if I were you I'd eliminate options with any red-flags, choose the cheapest option that remains, and then work my tail off to extract as much value as possible (read Cal Newport's "How to Win at College" to start).
2. Maybe start with this one? http://calnewport.com/books/how-to-win-at-college/
3. There's only one person who can figure this out. This is part of the reason I suggest an unrelated job. Sometimes finding out what we don't want to do can be just as useful.
4. Is there some sort of more general advisor for the university that might help you?
I feel extremely blessed, as I have held a series of "dream jobs": 1) video game studio owner at age 17; 2) graphics researcher working for Mandelbrot on his research in '83; 3) Beta Tester for the original Macintosh; 4) 3D graphics researcher back when how to do 3D graphics was unsolved research; 5) video game console OS developer (3D0 & first PSX), 6) video game lead engineer (15 years), 7) I was one of the first people to get Live Interactive Video working on the Internet (Rotor Communications, '99), 8) VFX digital artist & developer for 9 major release feature films; 9) I pioneered and global patented Deep Fakes back in '08 (trying to commercialize that bankrupted me, I was trying to launch Personalized Advertising); and today 10) I'm lead developer of one of the leading facial recognition systems used by 3-lettered organizations world wide.
I get these positions by being irritatingly enthusiastic, technologically deep when first meeting the interviewers, and I try to get right into what their immediate problems to be solved and try to engage in that solution during my interviews. If given make work for evaluation, I simply refuse and ask them what problems they are actually facing: let's solve one of those. This gets the actual problem solvers engaged and I can judge them and they can judge me in our compatibility when problem solving. I tend to cinch the deal trying to get tje job by including 360 degree financial, long term maintenance, and a schedule for planned enhancements achieving expense reduction when executing whatever solution. I tend to minimize having an MBA, because my development achievements speak for themselves; but when I close with financial managers assessment of the company and act like the prospect of working there will be good for them, they tend make an offer. I never act like I need the job. I act like they need me, and without me they would face me working for their competition. Basically, I act like a force, and they can have me on their team of they want. Yes, this is arrogant; it is intentionally so. In many ways, I find I need to treat management like an asshole peer, and be an asshole right to them, and suddenly I'm their favorite guy. People are strange.
We all agree that computer science is not programming, but I believe a firm grasp on basic CS concepts can make anyone a better developer. This relationship is similar to that of a journalist who studies English. While a journalist can have a great career without studying English, there is certainly an argument that theory (English) is just as important as application (Journalism). For programmers, this is the difference between studying theoretical computer science (algorithms, data structures, AI, etc) and learning programming languages (Python, C, etc).
My goal is to become proficient at engineering optimized algorithms for solving real-world problems. This won’t happen by diving right into a book on algorithms and that is something that I fully understand. My question is this: What do I need to know before I start tackling The Algorithm Design Manual? To be a good algorithm designer one certainly needs to know how to analyze the time complexity of an algorithm. What math skills, specifically, are required to do this well? I’ve heard that going through a book on discrete mathematics would be a good idea. What else would you recommend? Statistics and probability, perhaps?