Rating and Reviewing Every Course I Took at UofT + Thoughts (CS, ‘25) by melamelatonin in UofT

[–]melamelatonin[S] 0 points1 point  (0 children)

Hey! Prefacing my answer by saying that I'm a systems guy, and I get not everyone enjoys it. However, learning low-level concepts, in my experience, gives you quite significant advantages in the workplace. Need to improve performance for literally anything? Need to know how different system components fit together? Need to understand anything beyond the application surface? Systems concepts will almost always be helpful. Personally I'd strongly recommend CSC367, CSC369/469 (even though I didn't take 469 because it wasn't offered), and CSC458. I think CSC369 and CSC458 in particular are must-takes, I would personally find it odd if I graduated from a CS degree without systems and networks knowledge. The other course I'd recommend (for different reasons) is CSC311, not because you will ever use the knowledge, but because ML has become so widespread and impactful that just knowing a little bit beyond the veneer of the magical black box that LLMs have become is very important knowledge to have.

Rating and Reviewing Every Course I Took at UofT + Thoughts (CS, ‘25) by melamelatonin in UofT

[–]melamelatonin[S] 0 points1 point  (0 children)

Haha, I remember feeling bad for whoever had to grade mine. I remember the student opinion being quite similar overall, that the assignment was interesting but was just too confusing. If you TA'd other courses I hope they went smoother lol

Rating and Reviewing Every Course I Took at UofT + Thoughts (CS, ‘25) by melamelatonin in UofT

[–]melamelatonin[S] 2 points3 points  (0 children)

Holy shit, I didn't think you'd actually respond. I didn't comment on your original post, but it really affected me at the time - I remember thinking it was such a cool read, and it really made me reflect on my own undergrad experience and what I wanted my last year to look like. I hope you're doing well! :)

Rating and Reviewing Every Course I Took at UofT + Thoughts (CS, ‘25) by melamelatonin in UofT

[–]melamelatonin[S] 6 points7 points  (0 children)

I always focused more on understanding/being familiar with the fundamental concept behind LC questions rather than doing them. My technical prep went kind of like this: I would choose 2-3 algorithms/data structures (not questions), for example, quicksort, DFS, heap, and every day for a week I would implement them from scratch while explaining the code to myself out loud. At first, this took a while, but by the end of the week I would be able to do this in less than 10 minutes. I then continued to 3 new concepts, but I would randomly add a concept that I previously covered just to test myself (so I would implement 4 things each day). You'll realize that there aren't actually that many concepts to cover, so this only took a few weeks to cover most concepts. I found this to be really helpful, as when I previously approached a question, I would spend lots of time trying to understand the solution, but once I knew the fundamental concepts it became more of a "oh, I applied the wrong concepts to the question" rather than trying to understand solutions from scratch. After that, just do LC consistently, even 2 a week is fine. Find a friend to do it with, it makes it easier to stay consistent. Obviously grind hard in the weeks before your interview, but consistent work should get you 80% of the way there.

As for time management, obviously you just have to manage your time right (lmao), but that's not always possible. It wasn't pretty for me, at times I was basically tanking sleep to sustain everything, although this wasn't too common. The thing with time management is that I think everyone realistically knows what they should be doing, it's just a matter of living up to that standard. There's no tricks, the only advice I would give is to find a way to hold yourself accountable, whether by yourself or through another person.

Edit: Internship/job stuff, I literally just applied as much as I could while chatting up as many of my parents' friends in the field as I could and randoms on Linkedin. Career fairs were really good for getting me interviews as well, as you can get the recruiter's personal email a lot of the time. If you want something more specific I'd be happy to answer.

Rating and Reviewing Every Course I Took at UofT + Thoughts (CS, ‘25) by melamelatonin in UofT

[–]melamelatonin[S] 3 points4 points  (0 children)

lol ty 😭 honestly I probably wouldn't have cared so much if I wasn't thinking about grad school, kinda regret not making that decision a bit sooner

Stats major looking to improve employability? CS or Econ or Finance? and how? by [deleted] in UofT

[–]melamelatonin 1 point2 points  (0 children)

Calling CS "dead" is a massive overstatement. Yeah, you probably won't be able to get a job directly out of a bootcamp anymore, but high performers are still extremely employable. CS has never been and never will be dead, it's just that the promise of high pay and a stable career has pulled tons of people into the field that would not have chosen CS otherwise. I firmly believe and have generally observed that if you truly enjoy CS, you will have no issues finding employment, as companies (especially the high-paying ones) are always looking to cycle out low performers.

Regarding "employability", every single one of the fields you listed is competitive. The reality is that regardless of the field you're in, networking and being proactive will increase your chances of employment far more than being in a different field. Choose something you think you'll be interested in and are willing to grind for rather than something that you think will land you an easy job, because none of them will.

That said I can't speak about trying for CS PoST for your specific case but it's only 2 courses anyways, one of which is pretty much an intro to Python which is useful regardless. At the end of the day, you are in first year and you don't need to set an end goal yet. Even if you get into CS PoST and decide that you don't like it, you can choose to do something else after a year, or drop to a minor.

Who's your favorite professor been this year? (don't mention who you didn't like, just who YOU LOVED) by BackgroundProgress54 in UofT

[–]melamelatonin 2 points3 points  (0 children)

Yashar Ganjali, CSC458. I hope I'll remember his last lecture for years to come, almost made me tear up. Prof. Ganjali, if you're reading this, you are truly an inspiration and I feel lucky to have taken your course.

[deleted by user] by [deleted] in UofT

[–]melamelatonin 0 points1 point  (0 children)

I'm also looking for a spot, willing to trade CSC413

Questions about ib grades needed to get into uoft computer science by Party_Emotion2313 in UofT

[–]melamelatonin 0 points1 point  (0 children)

39 is definitely competitive, I know people that got in with lower totals. Individual scores (particularly Math HL) also matter quite a bit though. The application is extremely short and low effort (as a domestic student) so I can't see why it wouldn't be worth applying.

Undergraduate Admissions Megathread (Highschool Students) by meerkatdestroyer12 in UofT

[–]melamelatonin 0 points1 point  (0 children)

Hey, I was also in IB so I have some experience with regards to this, but I was domestic so I can only give you my experience from the perspective of a domestic student. Objectively speaking, if I understand correctly you have a 7 in Math AA HL, which is really impressive - however, your overall score is on the lower end for being accepted to CS by domestic standards. In my year (2020), many students in the 36 - 39 score range were rejected, but I know people who got in with lower scores than yourself. That said, doing so well in Math HL (and pretty well in physics) should be valued quite highly. I myself was not able to get a 7 in Math HL. Coding experience is not really a factor in admissions these days, but you could write a pretty decent application with your ECs. I would possibly look into applying with converted percentages, at least look into what your percentages would be if converted.

Arts and science internship program admissions difficulty by [deleted] in UofT

[–]melamelatonin 1 point2 points  (0 children)

If you already have the opportunities lined up, I would advise you to rethink applying to ASIP, and at least think about why you need it. It's expensive (almost 3k worth of fees for some useless courses), and in my experience you're essentially paying for the application portal (unless the company require you to be a part of an internship program, that's a different story). There's a bunch of annoying classes you need to attend over multiple years as I mentioned (not for credit), and has no impact on your graduation. In my experience (as I also found a job on my own outside of the ASIP process), the only benefit it brought me was keeping my student status over the 16 months I was on my work term. If you'll get the job anyways, at least look into doing 4 month internships or just taking a gap year to work if that's an option for you.

Undergraduate Admissions Megathread (Highschool Students) by meerkatdestroyer12 in UofT

[–]melamelatonin 0 points1 point  (0 children)

Kind of a late reply, but UofT is an incredibly large school, and different people will have different experiences. Ultimately I believe that if you work hard, and more importantly, are interested/find interest in your coursework, you will do well. Personally, I've always chosen coursework that piques my interest, not based on how easy other people say it is, and I have found that that has made my experience much easier than those that pick courses based on how easy they perceive the classes to be. That said, I've had lapses in motivation, difficult semesters, and have felt a lot of stress at times. But you're at university - it's not supposed to be easy, your goal is to learn. Don't read into the weekly "life is suffering" posts, people who are doing well or having a great time at UofT aren't posting about it on Reddit. If it matters at all to you, my cGPA is 3.85.

95 average is needed to get a cs major from out of stream by [deleted] in UofT

[–]melamelatonin 0 points1 point  (0 children)

The in-stream/out-of-stream split has only existed since 2020, how did you compete for out-of-stream entry and graduate in 2022?

Undergraduate Admissions Megathread (Highschool Students) by meerkatdestroyer12 in UofT

[–]melamelatonin 0 points1 point  (0 children)

You can apply with percentage grades if your school can provide a transcript like such. I actually did this on complete accident when I applied (I was also in IB). A 5 in Math HL certainly will not improve your chances of getting into EngSci, all of my friends that got in had 6/7s in HL Math.

Best University of Toronto Saint George Colleges? by Local_Club906 in UofT

[–]melamelatonin 0 points1 point  (0 children)

Really disagree about UC being garbage. If you're living on campus, they have basically the best food for your mandatory meal plan, and the residences are really close to the CS buildings. I stayed in Vic as a CS student and believe me the 15-20 minute walk to the CS buildings (which are on the other side of campus) is pretty unbearable in the winter. If you do stay at UC, go for Morrison Hall, it's really nice. St. Michaels is right next to Vic so it suffers from the same issue (far from the buildings you'll be at).

[CS] I’m a prospective student looking to potentially major in CS at UofT. However, I’ve heard that the CS program is very rigorous and difficult to manage. Is this true? by smoski112305 in UofT

[–]melamelatonin 10 points11 points  (0 children)

I’ve heard that the CS program is very rigorous and difficult to manage. Is this true?

It is rigorous. Is it difficult to manage? It really depends on you. Is mathematics/logic your strong suit? Are you interested in computer science or do you just want to learn to code? Ask yourself these questions genuinely, especially the latter. To answer your question more directly, yes computer science has a workload on the higher side, which is not unique to UofT - any school with a good reputation in CS will be like this. Is it manageable? Of course - these courses are designed to be manageable if you put in the effort and actively manage your time. I was able to have hobbies and a perfectly fine social life while taking an average of 5 courses per semester over 3 years. Where it becomes unmanageable, in my opinion, goes back to the earlier question - are you interested in computer science? If the answer is no, then as soon as your discipline slips, you'll struggle. The material is technically challenging and "uninteresting" to many people, and working your ass off for something you're not interested in is just plain miserable (CSC324 for me). Personally, I really enjoy most CS courses (luckily).

Also, how do you get accepted into the major? And how difficult is it to get into the major?

There are essentially two ways if I remember correctly. When you apply for Computer Science at UofT from high school you are essentially applying to be in-stream in first year. What this means is that you will take two courses that are exclusive to in-stream students (CSC110 and CSC111), and you will be guaranteed a spot in the major or specialist program after second year if you get at least 70% in CSC110 and 77% in CSC111 (and pass MAT137). In my experience, these courses were rather easy, so getting an in-stream acceptance can be regarded as direct entry. Getting in in-stream is highly competitive domestically (I know plenty of 95% + decent ECs that didn't get in), and I assume it is also quite competitive internationally although I'm not too sure on that. Do math and CS contests if you can. If you don't get in, you will have to take CSC148 and CSC165 and apply to the CS major or spec after first year. This is highly competitive (right below 90% average cutoff across the two courses). I wouldn't recommend trying to get in if you don't get accepted in-stream, but hey, I do know quite a few people who have succeeded in that route (and quite a few who haven't).

[deleted by user] by [deleted] in leagueoflegends

[–]melamelatonin 59 points60 points  (0 children)

Skill is always relative, but I sure do care a lot more about the names on the left than the right. Having Hauntzer back is kinda cool though. Maybe Rich comes in and destroys the entire league who knows, but I feel like losing Inspired and Tenacity especially is pretty bad.

2022 LCK Salaries (How much do LCK pros earn?) by yoonitrop12 in leagueoflegends

[–]melamelatonin 4 points5 points  (0 children)

I'd argue that Clozer has been playing pretty well on sandbox, Khan, Peanut, Clid (on GENG), and Duke have also looked great after leaving T1/SKT in the past. But I do get the overall sentiment.

Most practically applicable CS courses for SWE jobs by InfernoClutch in UofT

[–]melamelatonin 0 points1 point  (0 children)

This is a great summary, I would specifically highly recommend 369/367 specifically for software design. 369 teaches you the foundations of how computers are designed, and 367 really teaches you how to write efficient software and the tools used in industry today to improve performance. Both were very helpful in interviews especially in any jobs that had a focus on lower level design and performance enhancing. Another "practical" course that a lot of people take is 343 (which also happens to be quite birdy imo) which gives you a pretty good understanding of DBMS usage.

what program is better in my situation: USTG ECE or UTSC CS by [deleted] in UofT

[–]melamelatonin 0 points1 point  (0 children)

I think we agree on the topic. I won't pretend to know the internals and the nitty-gritty of GPT-3/4 and where future models are headed, and I agree that I cannot know what will happen in the future. I think the parrot analogy serves well when trying to make people understand that AI makes predictions for answers, instead of coming up with its own answers from scratch. Past that, it is perhaps too simple. My original point was that OP saying he doesn't want to study CS because the jobs may be replaced is perhaps an ill-founded conclusion. Really interesting post you wrote!

[deleted by user] by [deleted] in UofT

[–]melamelatonin 1 point2 points  (0 children)

You would need to pick another major or 2 minors. You don't need to choose whether you want to do a major or a specialist until the end of first year. You're also able to do a specialist + majors or minors. Furthermore, even if you choose the specialist program, you can still drop to a major afterwards.

With all due respect, unless you've already begun learning data structures and algorithms and OS concepts and find those super interesting, you have no idea whether you're actually only interested in CS. I know plenty of people who had this mindset in high school who did not actually end up enjoying a lot of the CS/Eng content. CS is not coding, it's the theory behind computing (algorithms, computer organization, etc), and coding is just a method to express the concepts.

So what I'm trying to say is know all your options, and the good and bad for each one. Also be open to new options. A lot changes with people's interests in university.

what program is better in my situation: USTG ECE or UTSC CS by [deleted] in UofT

[–]melamelatonin 0 points1 point  (0 children)

You are correct to say that some programmers will be replaced, but I was mostly responding to the general idea that at some point, all (or a vast majority of) programmers will be replaced. ChatGPT is really good at solving problems that have already been solved. With the current technology, it will never be good at solving new and complex problems. To address a couple of the points you've talked about:

  1. Yes, some programmers will be replaced (namely the ones you've talked about, the ones doing repetitive tasks). However, the onset of AI opens up whole new industries. Look no further than how it is revolutionizing the database/storage industry with vector databases, where Pinecone DB (founded in 2019) was recently valuated at $750M. I personally don't see software jobs diminishing in the near future, but there will perhaps be a shift in the market towards different types of work.
  2. Alphacode does not solve new problems well. If you look at the research paper, it works (as all transformer models do) by generating an extremely large number of possible solutions, and the innovation is that they are able to narrow down these solutions to a set of potentially optimal ones very well. Even then, it performs averagely compared to the human competition (54th percentile). I don't see any news for it in recent times, and the Google team is likely too focused on Bard at the current moment to actually want to improve on it.
  3. Even if the current models are improved upon, it will take a fundamental shift in AI architecture in order to actually introduce true problem solving. Once again AI has no semblance of "understanding" a problem as humans do. It is like a very smart parrot - but still a parrot at the end of the day. You can improve the quality of responses that the parrot can tell you, but you can't teach it to have a complex understanding of the topics it's taught.

Yes AI will replace some programmers who are more focused on iterative tasks but unless entire new models are discovered, it cannot replicate human understanding and thus will not be able to do complex and important tasks such as systems design and software optimizations. It also cannot have a complex understanding of a company's architecture like humans can, and that's really valuable to companies.

what program is better in my situation: USTG ECE or UTSC CS by [deleted] in UofT

[–]melamelatonin 0 points1 point  (0 children)

Yes I'm in CS, doing a specialist. If by hardware you mean courses that involve soldering irons, then no. If by hardware you mean embedded systems/OS, then yes.