Best products from r/UofT

We found 34 comments on r/UofT discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 79 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

Top comments mentioning products on r/UofT:

u/TheStudyOf_Wumbo · 7 pointsr/UofT

You're GPA is great so you don't need to worry about that, IMO I'd list it on your resume.

I would recommend the following:

  1. Do this book, attempt all the chapters if you can (you might be able to leave out threading, but I still recommend it): https://www.amazon.ca/Cracking-Coding-Interview-Programming-Questions/dp/0984782850 (Note: there is a better book but this is a good starting book)

    While concurrently (har har) reading the book, any data structures you don't know, learn. Program them and test that they work.

    Further, check out CSC263 materials and see if you can implement the data structures. You should also at the end of CtCI be able to attempt some of the assignments from CSC263 and complete them.

    Also try coding problems on hackerrank or leetcode or w/e the sites are called -- note they can be demoralizing on hard but it's worth it and you learn a lot

  2. Now that it's the summer time, try to create some bigger projects. If you're going to make a smaller project then make sure you learn something inside and out... for example if you're learning Java and do something with reflection, go absolutely ham on learning how reflection works

    Pick a language and learn it well, again if you do Java, then know how garbage collection works and other core language features (ex: If I ask you what a GC root is, do you know? [ask yourself this in 4 months] Can you compile from the command line? Do you know what Maven is and how to use it? Can you use lambdas and the new stream API? What is type erasure? etc)

    C++ is great at removing your hair, but you'll learn a lot... and if you ever have to work on a C++ project you won't want to kill yourself when you accidentally do object slicing or something funny like this.

  3. Learn SQL/databases/one ORM framework, and interface it with your language of choice (will make CSC343 much easier for you)

  4. Try to learn some web stuff so if you come across it you won't be confused by what to do. Making your own personal site from a template is a good start

  5. Learn either Git or Mercurial well, and good practices (ex: always branch and pull to the master), which will dramatically save you headaches when you get hired. You do not want to be 'that guy' who fucks up the repo...

  6. Learn C or assembly if you can, this will give you the bigger picture and make CSC209/CSC258 also A marks for you (I recommend NASM but MIPS or ARM can work great too)

  7. Get someone to proof read your resume, I don't know anyone who had a proper first resume.

  8. IF YOU CAN... try to contribute to a massive project. Committing even a one line bug fix to a massive project can be a significant amount of work and looks really good on a resume. In fact, I've been told by multiple employers that seeing someone do work on a massive code base that isn't theirs is great brownie points for getting hired since that is what you'll be doing.

    Obviously put your work on github or somewhere, though I think you know that this is implied

    As you can see, attempting the above will directly benefit the following courses:

  • CSC207 (if you do Java)
  • CSC209 (if you do C, or C++)
  • CSC258 (if you do any assembly)
  • CSC236/240/263/265/373 (from CtCI, general experience, etc)
  • CSC301/302 (if you do contributions to a large database)
  • CSC309 (if you do any web stuff)
  • CSC343 (databases)
  • CSC369 (threading, other misc stuff)

    Sounds good doesn't it? Though this is probably only possible if you are doing literally nothing over the summer ;)
u/ArnoldRudolph · 2 pointsr/UofT

Can you do a minor in math? That would be ideal in my opinion.

Make sure to take the courses that I listed. They will be very math heavy, if you want to go in this direction then you should at minimum do MAT235 and preferably MAT237 or higher. Graphics as you may know already is very heavy with linear algebra, but you also will need concepts from multivariable calculus.

This is a very rough road and you will probably want to dedicate your life to it. There aren't that many spots to make a career out of it but there's not as much competition due to how insane this field is... and the only people who go into these areas are people who really love this stuff so that is your competition. Please make sure you are ready for this and if you're not doing much this summer then pick up OpenGL, Direct X or Vulkan (however don't do Direct X 12 or Vulkan if you're completely new unless you've got experience in rendering already).

It may be to your advantage to build a software renderer to understand everything, so you will want to begin here for graphics theory, and your practice interview for graphics should be satisfied by this for starters. If you want to build a software renderer first before jumping into OpenGL or such, this book with the later chapters only (because the first half is all assembly optimization and not that relevant anymore as our compilers are pretty good now) will help a lot. Having said that, doing a degree while studying for all of this will be quite hard, this will be a marathon and not a journey. I would skip the black book though if you find yourself swamped for time. This is also a great book for when you have a weekend to spare.

You should also be making sure you're damn good at C or C++. If you choose C++, then you've got probably 2-3 years of solid work before you're competent in the language. You should also focus on optimization, but do that after you've spent a year with the language. Yes... even the cache lines that CSC369 never covered becomes absolutely critical in at least real time graphics.

You should be doing at minimum CSC418 and maybe CSC320 as well for courses, outside of any math ones.

Finally, I hope you are ready to join the nerd ship, because there's no way in hell you're going to be doing much in your spare time for quite a while... if you have a relationship then it'll get probably a bit rocky. Doing this kind of graphics work puts you in the top tier of street credibility because this area is so vast, since your life will no longer be normal by any stretch of the imagination. Maybe later it will be when you have a job, but for the next few years you are going to be buried.

Also, if you choose to do OpenGL, please at least start at OpenGL 3.3 and use the core profile and not the crufty ancient immediate mode stuff. This site will be an amazing and wonderful tool for you and keep you modern. I know very little of DirectX so I cannot comment on that.

u/nonanonoymous · 13 pointsr/UofT

Someone that hires first years here [1]:

Resumes

I can only speak from the perspective of a smaller company, but I have several suggestions, some of which may be more applicable if you're going to apply to somewhere with less than 100 employees:

  1. A good resume is a must, this is a template that I recommend, keep it one page or less Make sure you get someone else to proof read, because it's a HUGE ding to your 'getting an interview' score if you have obvious typos in your resume.

  2. Some things I look for are open source contributions (github links are very valuable), even if they are just documentation changes. [2]

  3. Also, make sure you include your full (legal) name, phone number, email, and mailing address. Some people don't do this and I probably won't bother emailing you to ask you for those details if you don't include them.

  4. Even if you don't have any personal projects, have taken CSC240, CSC236 or CSC207 and having >80 usually means that you'll at least get an interview as a first year, but larger companies probably won't know the significance of having taken 240.
  • If you want an internship at big-4, you will probably need to talk to an on-campus recruiter at somewhere like YNCF, or have an internal reference. I don't know anyone that even got an interview as a first year except for within those means.

  1. If you've placed in a hackathon or have interesting (or challenging, and well put together) personal projects, that's also good enough to at least land an interview at my company.

    Cover letters

    Some companies will care about cover letters -- I personally count it as a negative if you include a cover letter that is obviously templated:

    Dear hiring manager, I see you are doing [some random thing copied from our website] and I am myself very passionate about [that thing]...

    If you are actually reaching out specifically to join my company because you know someone else that's worked here, or you've used our product and want to work with us for that reason, a cover letter is probably appropriate.

    Interviewing

    Interview in as many places as possible. There are really only two things you should be focusing on as a first year: Cracking the Code Interview, and not being too nervous.

    Seriously. Buy cracking the code interview [3], and spend a week or so solving problems and learning memoization / pointer manipulation / dynamic programming. You'll be SO much better off.

    I find that if you think of every interview as "interview practice for when it matters in later years" you will not be so nervous as a first year. Expect to not know the answers to some questions, and just explain what you are thinking to get "part marks." Freezing up looks much worse than going down the wrong path with confidence.

    References

    [1] I'm CEO of ParseHub -- you can contact me at colin@parsehub.com

    [2] I also do optional lectures for CSC207 on Fridays noon-1PM @ BA1200, one of which will be on how to make open source contributions. Feel free to email me if you want to come.

    [3] It's available on amazon

u/Teshi · 1 pointr/UofT

Wait until you get here and buy:

  1. Winter boots with a good tread and insulated. It rarely dips down to extremely cold, so you won't really need like snow boots (although it doesn't hurt), but a good pair of insulated Timberlands or similar will get you through most of what Toronto will throw at you.

  2. Winter jacket ("Parka"). These have cold ratings. Men's jackets tend to be shorter but you'll be warmer if you get something that covers your hips. Buy something with a hood rimmed with fur (fake or real it doesn't matter). This will almost negate the need for a toque. But you will need both a toque and a scarf to keep the wind off. The scarf should be wide enough to wrap over your chin and mouth/nose if necessary. Again, there are going to be a couple of really cold days when this will be important if you're walking any distance. It's helpful to have the option of being warm.

  3. Buy a pair of long underwear/long johns to wear under your pants. In Toronto, you might wear these only one week out of the year but it will make a huge difference to how warm you feel on those really windy cold days. I actually don't know what men buy for this. I'm a woman so I just use a pair of leggings.

  4. Warm socks. You'll want at least a couple of good pairs of socks that cover your ankles to bridge the gap between your boots and your pants.

  5. Gloves/mittens. I find that in a warm jacket, I don't need really thick gloves. However, again, there a few days of really bitter windy gold when you'll need something warm. Mittens are warmer than gloves. You don't need anything ridiculous, especially if your jacket has pockets, but just having a pair of insulated gloves/mittens for those cold days, your life will be a lot better. The rest of the time I just wear a relatively thin pair of knitted gloves, and use my pockets.
u/alekzia · 2 pointsr/UofT

Of these, I've only taken SMC229, and I took it in Spring 2014. If you do the reading, you'll understand the content and be fine for the midterm test and possibly even the essay. If Jenna Sunkenberg is teaching it, she is a very caring and intelligent instructor. If you express any challenges you have to her (via email or during her office hours), she will help you to understand the content better. She is also open to creative submissions of final assignments, if that isn't too intimidating.

The weekly reading doesn't tend to be long, but it can be dense and full of terms you haven't seen before. Read them before class and make notes with your questions. Most of your questions will be resolved during lecture. The year I took it, the textbook wasn't terribly expensive.

If you're on a waitlist, you might not get off of it easily, since it's a mandatory course for a Book and Media Studies major or minor. The program has grown a lot in the last years and the courses aren't big enough to accommodate the students who are interested. Generally the people who take the class are friendly and could be interested in doing things like studying together. There will be a few moments in lecture where you'll have to talk to other people about ideas you had while reading.

u/ManU_Fan10ne · 3 pointsr/UofT

So here are some options I recommend:

  • (Advanced) Go through a few chapters of Spivak's Calculus. This is the MAT157 textbook and will over prepare you for the course and you will probably do very well. This will require a lot of self motivation, but I think is worth it (I went through a bit of Spivak's after 137). Keep in mind that this material is more rigorous than what you will see in MAT137

  • (Computer Science) If you're a CS student, grab How to Prove It. You will be dealing with a lot of proofs in MAT137, CSC165, 236/240, etc. This is a more broad approach and is not directly calculus, though what you learn will help for 137. Also, get familiar with epsilon-delta proofs.

  • (At your own pace: videos) Khan Academy tries to build an intuitive knowledge of calculus, which is something that MAT137 also tries to do. The videos are well done and you get points and achievements for watching them (gamification is great), you can watch the videos in your free time and it's fun(?).

  • (At your own pace: reading) One of the (previous?) instructors for MAT137 has some really good lecture notes, which you can read/download here. This is essentially the exact content of the course, if you go through it, you will do well. Try to read at least up to page 50 (the end of limits chapter), and do the exercises.

    You can find all the textbooks I mentioned online, if you know what I mean. All of these assume you haven't seen math in a while, and they all start from the very basics. Take your time with the material, play around with it a bit, and enjoy your summer :D

    EditL this article describes one way you can go about your studies
u/spivakje · 2 pointsr/UofT

I would recommend these books:

https://www.amazon.ca/How-Prove-Structured-Daniel-Velleman/dp/1108439535/ref=dp_ob_title_bk

https://www.amazon.ca/Discrete-Mathematics-Applications-Susanna-Epp/dp/1337694193/ref=dp_ob_title_bk

https://www.teach.cs.toronto.edu/~csc165h/winter/resources/csc165_notes.pdf

​

The two top books were actually recommended as guides at the time when I took CSC165 last year. The last one is the actual course notes for 165. They're all pretty intro level stuff and there is some overlap, but good resources. Yeah, I guess the best strategy would be to just read the actual course notes, then look at the others for more detail. That's the approach I used when I took 165, but I didn't have the summer before to prepare, so you've got a nice advantage.

u/JRainsFromAbove · 6 pointsr/UofT

157 is very different from most other first year university courses. The lectures are helpful because they illustrate the ideas, but they don't get you familiar with any particular type of problem or prepare you for the tests/exams. Also, for most first year math/science courses, textbooks are really just there to provide you practice questions. It's different for MAT157. You need to actually read it, from the first page to the last, understanding every single line of it. It's a tough book, but also an amazing one. I think you will enjoy it if you do like math.

https://www.amazon.ca/Calculus-Michael-Spivak/dp/0521867444

You have 4 months before September. Even 10 mins/day of work will be enough for you to finish this book prior to the course starts. Good luck.

u/Cyg_X-1 · 2 pointsr/UofT

High school performance has very, very little to do with how prepared you are for MAT157. In fact you could probably argue that no high school preparation is even needed since the course starts everything from scratch: you'll start with the basic properties of numbers, formally construct the Real Numbers, and work your way up to infinite series - the whole course is very self-contained.

SAT/AP math is gonna be different by a long shot because MAT157 is a course emphasizing proofs - there's hardly any "number crunching" anymore. If you do not have any experience with proofs (perhaps through math contests and stuff like that) then I strongly recommend taking MAT138 (if Prof. Alfonso Gracia-Saz is teaching, this will be a really great class). While you can certainly pull off a good MAT157 performance without MAT138 (I only took MAT138 in the Winter), it's going to be a steep learning curve, and trust me, you want to be very comfortable with proofs involving sets before tackling Dedekind cuts.

(Edit: As an alternative to MAT138, you could work through Galovich's An introduction to proofs and problem-solving during the summer. It's the MAT138 textbook.)

u/Whatisthischeese · 36 pointsr/UofT

In addition to the regular resources available on campus here's a life hack for the winter:

Get a light therapy lamp/sunlight alarm clock. Vitamin D takes a massive hit over our Canadian winters and a lack thereof is shown to have negative mental health effects. Waking up gradually to sunrise (even simulated) is also shown to be more comforting and beneficial than to abruptly wake up to a blaring alarm in the pitch black morning of winter.

Linked highest rated light therapy lamp and sunlight/sunset clock.

https://www.amazon.ca/TaoTronics-TT-CL011-Light-Therapy-10000/dp/B07H2C67XW/ref=sr_1_1?keywords=sunlight+lamp&qid=1571946077&sr=8-1

https://www.amazon.ca/Sunrise-Simulation-Function-Atmosphere-Natural/dp/B07W56HS79/ref=sr_1_7?keywords=sunlight+lamp&qid=1571946077&sr=8-7

​

ALSO don't forget to get out and enjoy some of the awesome winter-related nature experiences we have in/around our city as well (Nature experiences even once a week shown to lead to decreases in anxiety/depressive symptoms)

​

Take care everyone. You are loved

u/ThePopil · 2 pointsr/UofT

Hey! I'm doing the game design focus and have / am working at some indie studios.

The focus isn't nearly enough to get a job in the industry, you need to teach yourself a lot more.

  • Figure out how much dev work you want to do and how much design you want to do. There are positions that are mixtures of both.

  • You can do a one year course in design at some college after you graduate if it interests you. BE WARNED, no one cares about the degree, every design lead I've worked with has said this. This is about connections and making your own projects.

  • If you want to do dev, read this book: https://www.amazon.ca/Engine-Architecture-Second-Jason-Gregory/dp/1466560010. It's like the bible for game dev.

  • Triple A studios all use their own engine which is 99% of the time written in C++ so being familiar in that is a must

  • Make your own games! Use Unity or Unreal cause it's so much faster to iterate on and prototype stuff. Building your own engine is great for learning, but don't make games from scratch cause it's a lot of pointless grunt work.

  • Get involved in the community! Seriously this is often overlooked but just working with people of similar interests can be great for experience and connections. Toronto has a huge indie game dev scene.
u/sun_tzu_vs_srs · 2 pointsr/UofT

As far as courses go just take the math-oriented ones like algos and data structures seriously. It's about developing your problem solving ability more than anything. Strong problem solver, strong interviews. Also developing an intuitive understanding of complexity and problem classes will help you to think clearly.

For interview-specific stuff courses won't help you. Pick up Cracking the Coding Interview and Elements of Programming Interviews. The latter used to be called Algorithms for Interviews which is also good.

Protip: last time I checked all these books were available through Safari Books Online, which most university libraries give you access to for free.

u/ManHuman · 12 pointsr/UofT

If you want to a job upon graduation, you need the following items:

  • Work experience. No work experience, no job upon graduation. Sucks, right? But that's a fact. Try to get as many internships as possible.
  • Languages: Python (fucking hot right now; NumPy, Pandas, TensorFlow), SQL (you need to know this as the back of your hand), R, and SAS (maybe, depends from the employer; from what I have heard, SAS is dying out).
  • Now, let's talk about cherry on top. Few things that may really spice up your resume are TA and research opportunities. Additionally, it would be nice to have some independent projects, e.g. Time Series analysis of the Toronto housing market.

    The problem with the Stats degree is that it is heavily theoretical. So, in order to balance it out, you need to get experience. Overall, I liked my experience with Stats, although I wish I spend more time on internships.

    To summarize: work experience, programming, research.

    Also, Machine Learning is hot right now. Pick up some books such as:

  • Hands-On Machine Learning with ScikitLearn and TensorFlow

  • Python for Data Analysis

  • Python Data Science Handbook.

    Lastly, you gotta network like your life depends on it. Meetup.com and eventbrite.come have some pretty good Data Science/ML/Programming networking events where you can make connections and learn about the industry demands. Additionally, leverage the power of LinkedIn; create your profile and start asking people out for coffee in order to learn what they do, how they do it, what tools they use and for you to gain insight into the market demands and what you can expect upon graduation.

    May Central Limit Theorem work with all your distributions.

    Also, another thing that seems to be hot in financial markets is Risk Management. I would suggest you speaking with the Stats profs or Risk Management profs from Rotman in order to understand how you can leverage your Stats degree in Risk Management. Fantastic, here is one of the first things you can do for networking. Fuck, I wish I was back in uni.

    Sorry, just remembered. Hadoop is also pretty important as is Tableau (for data visualization).

    Ah, yes, experience. I don't know whether you spent the last part of 2017 and early part of 2018 on searching for internships. If not, keep searching you still have a slight chance to find some for this summer. Indeed and LinkedIn are pretty good sources. Lastly, try reaching out to recruiters from various organizations in order to learn if they have anything available. Now, if you don't find anything at all, like AT ALL, I would suggest either you take summer school and start looking for internships during either the Fall or Summer semesters OR contact the temp agencies to see what opportunities they have. Some opportunities may not be related to what you studied, but at least they will give you some work experience and your resume will not look as empty as it does now. Also, if I am correct, then U of T should have an alumni database. Try going through that database, find the alumni of interest, reach out to them, and ask them out for coffee to learn more about what they do and if they have anything available. Tick tock, tick tock.

    After some googling, indeed

    How am I doing? I am depressed man, I am fucking depressed. But, TensorFlow is keeping me awake.
u/msphoneinterview · 1 pointr/UofT

thanks for the tip! I didn't yet go through CTCI and won't have the time to cover the entire thing. If it isn't too much to ask, would you mind telling me which of the chapters are the most important? I know Recursion/Dynamic Programming (Chapter 8) is really important, but what else? (If you don't have the book the contents page is here if you press the "Look Inside" button on the picture. Thanks very much again!

u/Fakesantaclaus · 1 pointr/UofT

Oh man 2011 was probably the hardest MATA31 revision. Don't worry, about that midterm though, the course content is really different now, that was when CSC/MATA67 used to be merged with MATA31, so they did a lot more set theory/number theory in MATA31 than they do now. I doubt most people who took MATA31 (and did well) could even pass that midterm just because we don't learn that stuff in MATA31 anymore. If you're trying to get started on studying for MATA31 now, I actually recommend you don't learn MATA31 material. Instead, improve on your critical thinking skills which your high school has definitely not given you. "Find" a book called how to prove it and go through maybe the first two or so chapters which just introduce proofs, and start to build up your proof skills. Becoming comfortable with proofs will come in handy immensely for CSCA67, MATA37, and in a big chunk of MATA31.

u/stratovolcano · 1 pointr/UofT

Book: Cracking the Coding Interview Learn it and learn it well. Also, don't forget Java after 207. Very few PEY jobs use C (which is the primary language for second/third year), so good java skills are more important to have.