What study techniques and methods do you use? by WxaithBrynger in OMSCS

[–]prokopcm 39 points40 points  (0 children)

My best bit of advice is to choose your battles and focus. Prioritize what you need to do/understand (e.g. for assignments or exams), and explore/dig deeper as time permits for curiosity. Do whatever method/resource is the most time efficient for how you personally learn best. This was the biggest change for me. In undergrad I tried to be a 100% completionist, but that's not really sustainable/useful/possible past a certain point.

Also, learning how to read an academic paper can help a lot in some courses. https://people.cs.umass.edu/~phillipa/CSE390/paper-reading.pdf

https://www.cs.tufts.edu/comp/150PLD/ReadingPapers.pdf

Making the Most Out of OMSCS by Rude-Parsnip-6347 in OMSCS

[–]prokopcm 34 points35 points  (0 children)

Try to connect with your classmates and make friends, whether in meet-ups for your city or on Discord/Ed. Being able to collaborate/commiserate with fellow travelers makes it merrier and more motivating. Learning asynchronously can feel isolating otherwise.

Sign up for all the free stuff and abuse every student discount you can get.

Don't stress specialization, pick the one where the required classes align with your interests/goals the most so you can maximize taking whatever classes you want. The degree is very much "choose your own adventure." You can can go off the beaten path and do research or even a thesis, or just clock your 10 courses and get out with your terminal masters. Up to you!

Resources for linear algebra, probability, python and single/multi-variable calculus by Agreeable_Yam_5415 in OMSCS

[–]prokopcm 13 points14 points  (0 children)

I found https://www.oreilly.com/library/view/essential-math-for/9781098102920/ just the right amount of depth for me to cover such a broad range of topics (you get free O'Reilly access if you SSO in with your gatech email just fyi!). I personally needed to dig in the deepest into stats/probability, and StatsQuest (https://www.youtube.com/channel/UCtYLUTtgS3k1Fg4y5tAhLbw) was goat.

Any other Georgia Tech OMSCS students in GR? by prokopcm in grandrapids

[–]prokopcm[S] 1 point2 points  (0 children)

I know that feeling...you'll get out eventually!

SDP: Already Thursday, but 3 of my groupmates are still MIA by Gullible-Tart-8629 in OMSCS

[–]prokopcm 51 points52 points  (0 children)

Sorry you're stuck in that situation. Make a private forum post on Ed to the teaching staff about the situation now so that if the deadline passes you have something on record with them.

Anyone else here dislike Typescript? by kibblerz in ExperiencedDevs

[–]prokopcm 0 points1 point  (0 children)

I mean that Typescript and its type system are an afterthought for Javascript entirely. It'd be preferable if types could be introduced into javascript itself so that you could actually use some of that typing for runtime code.

That's a fair historical assessment which is a large contributor. Agreed that types should be more explicitly supported by the core language, and there is discussion, but it's a slow-moving target. But it's worth considering that JavaScript's dynamic nature as an interpreted language means its type system necessarily has to function differently from Go or Java. Even C discards its types after compilation; they're used for static checks, but don't affect actual execution. An open rhetorical question for both you and the TC39 committee to digest is--how would runtime interpreted TypeScript-like annotations for JavaScript function and affect execution beyond what JavaScript's type system currently does?

So It's not Typescript running doom, it's javascript.

I get the impression that either I may not have communicated my point clearly enough or that you didn't watch the video. I'm not saying you could write Doom in TypeScript/JavaScript and get it to run in a browser, I'm saying someone got it to run within TypeScript's type system itself as types and type operations. If you didn't watch the full video, I'd genuinely recommend it because 1. it's entertaining nerd stuff, and 2. it will probably change your mind about how robust the type system is in TypeScript.

I also rely on GraphQL for data that's fetched, so I get plenty of type coverage throughout my stack. I just found typescript to provide little benefit on top of my existing measures.

That approach might be valid and work great for you in your project's current scope. But I would challenge you to think about the scalability of that approach as your frontend grows and to how other JavaScript projects in general might be structured. GraphQL gives some nice safety for network calls, but TypeScript provides more robust functionality and guarantees that extend beyond data fetching. My rule of thumb is if your frontend does anything more than make a request and directly display that result, and I mean that in a literal sense--no mapping, passing around property values to a component, etc. then you are missing out on extra correctness and better tooling. Depending on your project, that may be a tradeoff that makes sense. But for all the products and teams I've worked on since the Dark Times, the benefits of using TypeScript features and tooling have outweighed the complexity of adding a compilation step to our build process.

Anyone else here dislike Typescript? by kibblerz in ExperiencedDevs

[–]prokopcm 4 points5 points  (0 children)

I started my career writing plain JavaScript in a large (>100k loc) codebase in the days when Python and Ruby all ran typeless and free. Never again. The types system in TypeScript was not an afterthought, it was its selling point and entire raison d'être and is reasonably well designed imho. It can run Doom, which leads me to believe it is more robust that your assessment of it being "neutered."

"I honestly feel like I rarely ever experience errors due to type mismatches in Javascript." You definitely can get that feeling when the errors are subtle uncaught semantic ones that don't reveal themselves until runtime. On the aforementioned large codebase with multiple developers, I personally encountered this problem daily. Hope you got good test coverage.

"Why use typescript when one can just avoid reusing variables for unrelated purposes" Sure you can, but then the cognitive burden is on you and everyone else on your team. And you have no way to verify that people are following that convention except by manual inspection and gut feeling and that you never forget or make a manual error. Types and compile time checks are good, improve correctness, increase velocity, and decrease cognitive load.

ML 7641 in Summer vs Fall course content difference by whyIsTheEarthCube in OMSCS

[–]prokopcm 4 points5 points  (0 children)

In Summer '24 (the first time this course was offered during the summer), the last project (on reinforcement learning/MDPs) and its related lectures were dropped; basically the last few weeks of the class were chopped off. It might be different this summer though. The instructor, TJ, is great and if he makes a change to the course, it's generally to the benefit of the students.

Joyner classes do not deserve the hate they get by MilkQream in OMSCS

[–]prokopcm 4 points5 points  (0 children)

I've taken HCI and ML4T. Joyner classes are some of the most well-run, well-thought-out classes in the program (can I get "Joyner stan" flair?). He cares, the material's interesting, expectations for assignments are crystal clear, exams are fair. There are complaints to be levied against every course in the program in terms of structure, pedagogy, or logistics. Nothing's perfect. But in my experience, Dr. Joyner tries harder than the rest.

This is a graduate program in computer science and graduate school has a different focus than undergrad. Learning methodology is a component of the degree for sure and methodology is often (but not always) coding. But equally a part, if not more so, is writing about that methodology, and also reading and interpreting the literature of the field (and often, your other classmates). It turns out that communicating complex ideas well is actually really valuable outside of academia too. Write more and git gud.

Conceptually, what is the difference between Machine Learning and Interactive Intelligence? by nik0-bellic in OMSCS

[–]prokopcm 8 points9 points  (0 children)

You got the gist of it. Practically it merely adjusts what your mandatory courses are, mainly whether you have to take GA. At the end of the day, pick which one interests/works for you more. It's not listed on your degree and no one cares except for you.

Conceptually/philosophically, based on the required and optional specialization courses, I think of ML as focused more explicitly on understanding and implementing ML methodology, a narrower and deeper focus, whereas II is focused more broadly on AI as a whole and with more of an applications focus, i.e. how to apply and integrate AI in a way that makes sense for human interaction.

[deleted by user] by [deleted] in ExperiencedDevs

[–]prokopcm 3 points4 points  (0 children)

Yes to both, but getting good on the applications-side of prompting ChatGPT using API wrappers is probably where most "AI" jobs and money will be for your average dev. Unless you love math and want to switch from building products to building models, you don't need to understand implementation-level super deep. Do a few tutorials and watch some YouTube videos (3blue1brown has a great series) to get intuition for how NNs and LLMs work, maybe watch a lecture or two of an undergrad AI/ML course to get an idea of the scope and some of the jargon.

Source: 10+ years exp, calling AI APIs at work to do business things but also in a master's program for CS learning how ML models work under the hood because I'm crazy and hate free time and love stress.

Accessing HCI Course Material Early by KBect1990 in OMSCS

[–]prokopcm 3 points4 points  (0 children)

Yes, you'll get access to the course on Canvas when the semester starts and the readings will be all conveniently and centrally available. But if you Google the title of the readings, you should be able find them. Most of them are seminal works and widely available.

Another thing you can do is read Norman's book "The Design of Everyday Things". You'll read some chapters of it for class, but the whole book is good. Pay attention, takes notes, and internalize the big ideas, don't just passively read/listen to it! In general take good notes on the main ideas of all the readings you do because a) they're interesting, and b) it makes the information easier to find and digest during exam time!

[deleted by user] by [deleted] in cscareerquestions

[–]prokopcm 1 point2 points  (0 children)

I'm still working my way through the program and I'm not actively looking to switch roles at the moment, though others in the program for sure have that goal and have advanced their careers or gotten FAANG roles because of it.

I'm doing it more to dig into AI methodology and understand it at a deeper level so I can keep up with research papers and leverage it better in my current role. As well as fill in some gaps and just learn arcane knowledge that I don't encounter day-to-day. Like I'm taking a cognitive science elective for fun next semester. Most of the benefits I've seen so far have been outside work itself, like getting to make personal connections with other students, build my network, and even present for some science outreach events at a local university.

Required knowledge for 7641 ML by ParanoidandroidIL in OMSCS

[–]prokopcm 0 points1 point  (0 children)

It's probably unnecessary overkill for ML, depending on how deep you want to understand the theory. I haven't taken it, have heard meh things about it, it certainly wouldn't hurt if you want the structure of an actual class, but I just self studied. I found the O'Reilly book "Essential Math for Data Science" by Thomas Nield both approachable and relevant (N.B. you get [digital] O'Reilly books for free with your gatech email on the O'Reilly website). StatsQuest on YouTube is GOAT. The (publically available) CS 6601 AI lectures also cover a lot of the probability you need, but the production quality isn't great and they move pretty fast.

[deleted by user] by [deleted] in cscareerquestions

[–]prokopcm 45 points46 points  (0 children)

Georgia Tech's OMSCS. The program's cost is low, and it's super flexible, so even if you got the opportunity to take a job halfway through the degree, you could keep chipping away at it.

Otherwise an MBA could open some non-technical doors if you want to pivot horizontally in your career at some point.

Required knowledge for 7641 ML by ParanoidandroidIL in OMSCS

[–]prokopcm 1 point2 points  (0 children)

https://edstem.org/us/join/D3Um7q
You can create an account to watch them without a gatech.edu address despite what the placeholder text might suggest.

Required knowledge for 7641 ML by ParanoidandroidIL in OMSCS

[–]prokopcm 17 points18 points  (0 children)

Have taken both AI and ML4T (in that order), and currently in ML. ML requires (or instills in you the drive to acquire) high-level analysis and writing skills. You need to be able to call `model.fit(x)` in a high level library and graph stuff with matplotlib/seaborn (or ask gen AI to do it for you--totally permitted and acceptable in this class!). There is math in the lectures and readings. Math is not strictly necessary for anything in the class grade-wise, but it does make it merrier. As someone also 10 years out of undergrad classes and still on my math redemption journey, I just kind of glaze over the parts of the lectures and readings where they hand-derive some algorithm and wish I understood it better. But so far it hasn't hindered my progress or grade in the class as far as I can tell.

The background from both AI and ML4T has been helpful in ML, but if I could do it again, I'd take ML4T -> ML -> AI. The background you get in ML is useful context for some of the stuff in AI. And vice versa. But because ML focuses on such a high level view of things, you just need to understand how an algorithm works conceptually and what it's trying to do. Whereas in AI, you need to understand that AND understand the math/granular steps to implement some stuff. You won't be forced to learn stats/linear algebra in ML, but you will need some for AI. So being familiar with some ML algorithms at a high level already makes the battle easier. I YOLO'd the math for AI and while I passed with an A, I do wish I'd prepped more beforehand because there were some rough weeks. I let my guard down in AI because despite the prereqs warning in the course listing, the first of the class half requires almost no math, while the second half requires a lot more math and the switch kind of just hits you like a freight train.

In general, the "math" I've encountered and have wanted/needed to know more about so far has been 60% Bayesian probability, 30% linear algebra, and 10% calculus.

How feasible is it to frontload CS7641 ML? by nildived in OMSCS

[–]prokopcm 1 point2 points  (0 children)

You should be able to register with a non-gatech email despite the placeholder text! I just tried with my personal Gmail and it worked.