My guess is practice on LeetCode is more helpful for interviews.
If you can handle all medium level problems, you'll be able to answer most of the interview questions for sure.
One of my classmates got a full time position at Microsoft, she said she's done about 150 problems
If you haven't heard about LeetCode, it's a good chance to take a look.
It used to be, but as of this fall the OMSCS and OMSA DVA classes are going to be combined and taught using materials from the OMSA version.
According to Dr. Joyner, this means it will be more focused on ML, Hadoop/Spark, and classification.
As a footnote, I haven’t taken DVA and don’t plan to so I can’t say with much certainty how different it will be, but the above is what I learned from the e-mail Dr. Joyner sent out.
Edit: if you would still like to take the OMSCS version, which is R focused, the course is still on Udacity.
None. As stated here, algorithms maybe. MAYBE. I mean... barely. Only to the point where you can recognize (instantly) when a Set, HashTable/Dictionary, List is appropriate for the particular problem.
I'll save you a semester. Just go read Code Complete 2. Has nothing to do with full stack... OR DOES IT???
What's the hardest MOOC you've taken while working full time? If it's a hard one, it's going to be just like that.
As an example, Here's the into OS course, on Udacity. To get an idea of what that content is like to take as a course, look up the ratings the ratings here. If you have undergrad experience in OS, the recommendation I believe is to skip this class, but this is probably a easy-medium to medium course, depending on background and motivation. I would encourage you to look up the OMSCS course list, and just see if you have strong interest in about 10 courses and check those out.
The lecture experience is like watching a youtube video. In only 2/10 courses I've taken was I able to talk to the professor in office hours about the lecture content, and 2/10 courses didn't even have lectures, just reading. Come to think about it, 2 other courses had lectures and I just didn't watch them because it was a waste of time (bayesian statistics and data visualization and analysis).
I usually hit the lectures once, take notes usually, then go off and use other sources. It all depends on the course though. The lectures are almost never self contained, and sometimes the book isn't enough so you really have to dig.
My UG was in biology, in person, so not really similar? I took about 10 MOOCs in CS/ML before entering, so I'm comfortable with the format and know what I need to do. If you want to know what it's like, find a hard MOOC in CS and just take it!
If you feel a need to learn python in your first course, take AI4R/RAIT or ML4T as your first class. Those two are both fairly easy courses which serve as a good "getting up to speed" courses before you take the harder ones. I had okay python experience coming in and taking AI4R helped me out quite a bit, plus getting into the swing of being in grad school.
Honestly if you know C++, python isn't too bad, just google the questions you have and it's been asked 100 times. I still do that all the time. If you want a semi-objective way to measure yourself, you can check out the AI4R lectures here and if you can understand the python code and do the coding in the problem sets you'll be fine.
I applaud your career growth and interest now in pursuing CS.
There's two questions: *Can you get in? *Having gotten in, can you succeed? On the first one, it's hard to tell. Doesn't hurt to try, but you may need a couple more years of experience coming from a non-CS background. It's cheap to apply though.
On the second question: Honestly, I've observed people who've managed to get in, but are woefully unprepared for the rigors of graduate-level computer science. Remember CS isn't programming. Programming is assumed, but it's also algorithms, math, etc.
I'd suggest you try (for free) a couple of the medium-challenge courses on Udacity (https://www.udacity.com/georgia-tech) and see how they fit you.
You're definitely not alone. On-campus, you're used to having information "pushed" to you -- you have a relatively simple task you can do (attend class) and know that you're going to get 100% of what you need to know there. Online, you have to "pull" information, and it's much easier to miss something when you're the one driving that knowledge acquisition.
If you haven't already, I'd recommend watching the orientation for some info on the tools (and please do let me know if there are other things it needs to cover!). Communication policies vary from class to class, but generally speaking T-Square is the place to start to find everything you need to know. Even for those classes that host assignment information on Udacity or external web sites, those are generally linked to from T-Square. Piazza is just a discussion forum for the most part, and Udacity is just the course "textbook" for the most part -- T-Square is the driving device in the center. And if you're still not sure, don't hesitate to ask about where to find due dates, assignments, etc. on Piazza, Google+, or here on reddit if you want to preserve that anonymity.
You should receive an email with a link but the link is: https://www.udacity.com/georgia-tech/welcome
Then it will redirect you to buzzport to login and drop you back onto Udacity. The classes won't show up until August 18th though.
What did you do to prepare for intro to OS and compilers? I want to take both those classes. I am a new admit, starting in Jan 2018. I do not have a CS undergrad degree and no undergrad OS or compilers classes, but I have some software engineering experience.
I want to take intro to OS as my first class. Do you think this is doable / wise? It will be my only class that semester. I've written small programs in C (e.g., less than maybe 100 lines of code, like "validate a credit card number" or "create a few processes to see how fork() behaves"), and I have some understanding of pointers (not expert knowledge) and an appreciation for the problems an OS solves. I've written large programs (>1000 LOC) in Java and Python.
I want to take compilers later, but I was thinking of doing an undergrad compilers course first because I see how difficult the course is rated by OMSCS students. What do you think?
If it's best to talk about this on PM, please PM me!
EDIT: Right now, I'm working my way through "The C Programming Language" by K&R as prep for intro to OS.
The courses are indeed identical. It's mostly a decision by the professor who created the course if undergrad and grad students will be held to the same standards, I suppose. Funny thing is that on-campus students also take GA since the school has scrapped CS6505. Students who want a more in-depth study of algorithms (like randomized algos, or more formalism) take CS6550, but it's a very small class. It's been offered only in Spring, and only about 30 students enrolled as opposed to 200 in GA each full term.
As for terminology, I guess they chose the name because the course is relatively new (it was a 8803 special topics) and was created to fill the void left by CCA (6505), whose videos can be found here https://www.udacity.com/course/computability-complexity-algorithms--ud061.
In the beginning I also questioned the decision to replace the "harder" course for the easier one. However, I guess it makes sense seeing how GT courses style is more practical and less theoretical.
Other people has mentioned the syllabus and the first project, that you can start working on before you officially join the class. Other thing you can do is start watching the video lecture. Officially, it is available in Canvas. Unofficially, it is also available on Udacity (https://www.udacity.com/course/machine-learning-for-trading--ud501) but keep in mind we are moving away from Udacity now.
The course also has a Slack group. You can search for "cs7646" on omscs-study.slack.com
.
For the first couple projects, there's not a significant amount of code you'll have to write. But for the last project — building an entire map reduce distributed system — you'll write A LOT of C++ code. Fortunately, you won't have to start from a blank state: you'll be given an initial code base and you'll need to fill to add new functions as well as fill out existing.
> Also, any recommended resources for besides lecture videos for the class? Would going through GIOS be helpful as a prep?
I highly recommend taking both GIOS as well as the (optional) advanced refresher course for advanced OS: https://www.udacity.com/course/gt-refresher-advanced-os--ud098 .
If you are pressed for time and cannot sit through the entire refresher course, I also whipped up a PDF guide that can be found here: https://blog.mattchung.me/2020/12/04/free-e-book-advanced-operating-systems-aos-refresher-course-summary-and-study-guide/
I use a laptop with built in webcam. I pick it up and do the room scan and show my clean desk. Then I use an $8 mirror to easily show the keyboard and screen.
This is the mirror I got:
You can watch the lectures ahead via Udacity (this is true for any class if you do a google search for Udacity + course number).
The GA Tech Github page for the class contains the repositories for the assignments. The assignments seem to change slightly semester to semester (or so I was told by previous reddit posts on this topic), so nothing is final until the assignment is officially announced.
The orientation PDF you’ll receive later this summer will be very useful to read through at least once to familiarize yourself with what’s there.
Also, there is an OMSCS orientation on Udacity. However, some of the material is not currently (eg, anything on T-Square or Google+) See: https://www.udacity.com/course/omscs-student-orientation--gt101
I use Notion for all of my notes now (as you mentioned). I use it for school and work. The iphone app is great too. The webapp seems to work just like the webapp. I transitioned from Onenote. I use evernote for the web clipper and link anything I clip back to a note in notion.
Try it out yourself.
Here is the old syllabus, and the assignments are mostly the same (I am currently in the class right now): The first assignment is a warmup - the second assignment is where the fun begins. See if you can do it - you have access to the lectures anyway.
http://www.cc.gatech.edu/~afb/classes/CS4495-Spring2015-OMS/
BTW, I have not tried it, but there is an actual linear algebra refresher course from Udacity:
https://www.udacity.com/course/linear-algebra-refresher-course--ud953
Courses, for the fall, are available under https://oscar.gatech.edu. You should have access to it and should be able to see the fall classes.
All the courses available online are under the Courses link on the right.
As an upcoming fall student myself, I found a whole bunch of good info (including how to get into oscar and how to search for classes) in the orientation videos:
https://www.udacity.com/course/omscs-student-orientation--gt101
To answer your question about those specific classes (e.g. Game AI) - those classes are not available online. In the link you provided, the courses in bold are the only ones offered online I believe.
Let's see...
There are 23 classes currently available in the program. Of those, I know three involve some significant component of proposing your own work. Educational Technology is entirely built on that, and Big Data Analytics for Healthcare and Health Informatics similarly have a lot of self-determination in their projects. At least a couple other classes have projects where everyone solves the same problem, but people have a lot of freedom in choosing how to solve the problem. AI and KBAI both have everyone design agents that do the same things, and agents are compared based on their performance. So, somewhere on that spectrum.
That's just the ones I know of, though. There are other courses -- Machine Learning, Computer Vision, Computational Photography, Software Architecture and Design, Software Development Processes -- that I think have some self-determination in them, but I'm not certain.
Check out “Wherever you go, there you are”
It’s such an easy read and it explains the ideas behind mindfulness so well. Before I read this book I had a perception that mindfulness/meditation was just kind of a random new-agey fad thing. After reading this book and practicing the concepts it’s been pretty amazing for my overall mental health.
It’s funny, there’s actually a chapter in the book that talks about how you shouldn’t be going around telling people you are practicing mindfulness because it eliminates the point yet here I am 😂 had to shout it out tho
https://www.amazon.com/Wherever-You-There-Are-Mindfulness/dp/1401307787
/u/hikanron since you were looking too
Not OP, but
> I've written small programs in C (e.g., less than maybe 100 lines of code, like "validate a credit card number" or "create a few processes to see how fork() behaves"), and I have some understanding of pointers (not expert knowledge) and an appreciation for the problems an OS solves
I'd say you are ready. For the first project, we are given 4-5 weeks, the reason is mainly (I think) giving time to students to get comfortable with C.
> Right now, I'm working my way through "The C Programming Language" by K&R as prep for intro to OS.
I'd say that's a bit overkill... maybe. You could take a look at Beej's Guide to C, and Beej's Guide to Sockets - those are more practical and "to the point" (although less formal, of course). Also try to watch the first ~3 sets of lectures.
EDIT: also this https://www.reddit.com/r/OMSCS/comments/6shmj1/intro_to_operating_systems_best_resources_to/dldqkpp/?context=3
If you are like me and can't stand Kaltura, create a personal account on udacity and add classes from here - https://www.udacity.com/georgia-tech . Can't say how long these free courses will be hosted by Udacity though.
Ahh I just thought of a good tip. Go through this class as fast as you can, before the course officially starts: https://www.udacity.com/course/intro-to-artificial-intelligence--cs271. There's a big overlap between that MOOC and 6601.
Got admitted! That email saying it will be available later is STRESSFUL haha. Just send me the email AT the time it's available.
Background:
3.52 GPA in Engineering Physics (Computer Applications) from Southeast Missouri State (2013)
2 1/2 years iOS and Java development at National Information Solutions Cooperative (NISC)
The rest of my background https://www.linkedin.com/in/dean-kelly-5a3a6547
My essay was....unconventional, most of my writing is but they seemed to like it well enough. Pretty sure my letters of recommendation were good, I waived viewing so I just have to assume.
I applied sometime in August. Now I hope I can stick it out in the program. Good luck everyone!
There's Chris Pryby's "Linear Algebra Refresher" course that was at one time being recommended to OMSCS students (and maybe still is): https://www.udacity.com/course/linear-algebra-refresher-course--ud953
I took this and didn't think it was very good. I've had my eye on this: https://www.coursera.org/learn/linear-algebra-machine-learning but have not taken it so can't comment on its quality.
If you mean accredited courses for credit, I haven't looked.
You can also checkout the refresher course to see if that is enough background to get you up to speed. https://www.udacity.com/course/gt-refresher-advanced-os--ud098
8803-classes are just classes where the class code has not been assigned (GA, RL, VA were all once 8803-classes). AI4R is not advanced nor harder (you can check omscentral for the reviews or check out the class videos on Udacity https://www.udacity.com/georgia-tech). AI4R is pretty simple, until the final project. You can also consider CV or RL (I did CV as my first module).
​
Udacity's front-end Nanodegree is a good option.
If you don't want to pay and don't mind not getting a certificate, you can simply take the courses for free.
As far as I know, no OMS CS course focuses on webdev languages.
IMO you may just need to grind it out. I'm not sure about your background but my 2 cents. This probably isn't the best way but I would maybe just do Easy problems on Leetcode to get yourself comfortable. As others have posted there are a ton of supplemental materials online but you will need to get yourself to a certain level for them to be useful. Like look at how Fib is done (https://leetcode.com/problems/fibonacci-number/) and see what the difference is from having a recursive or bottom-up approach. Knapsack is on there too so you can look at solutions and maybe something will click.
If you really don't have exposure to algorithms and haven't really touched them yet I would pick up Cracking the Coding Interview just to help get up to speed in a more friendly manner. You'll just have to be careful what you are looking at is helpful for this class.
I am currently taking the class and the problems so far are very approachable but just look intimidating.
I don't have a CS undergrad but have taken an algo class in a community college, have taken HPC, and been through the interview ringer. Like cry along side other CS students or people prepping for interview in some cafe. I'm sure you can make it even if you need to take the hit on the first exam. Hard work never fails you!
The question you need to ask yourself is: why? Why are you applying to this program when you already have Ph.D. and that most of the materials can be self-studied / found online? The answer is something you should probably highlight in your statement during application and be sure of it yourself as you will be investing a fair bit of time into this program over a few years. Finally, do try out a few of the courses on Udacity if you have not: https://www.udacity.com/courses/georgia-tech-masters-in-cs
The instructor is the one who teaches all the technical material. The developer is the one who decides where to split lectures, when assignments are due (wrt which lectures must be completed before the assignment is due), manage discussion gourps, etc....
The instructor is like a database of information and the course developer is like the API that facilitates the flow of queries from students and information from instructors.
Check the job description for course developer here: https://www.udacity.com/jobs
You should get an email, maybe Monday about Udacity. There is a special URL, which you will use your buzzport account to login.
https://www.udacity.com/georgia-tech/welcome
Your class will show up there sometime on Monday
The fall wiki is different than summer, here is the Fall '14 wiki:
https://www.udacity.com/wiki/2014.fall.sdp
The schedule for lectures is here:
I've been using Joplin and open source app for note taking. It uses various backends (I use a free DropBox account) for syncing. It is cross-platform (Linux, Mac, Windows, Android, iOS) and I find it very helpful when switching from device to device to have all my notes synced and available. It uses markdown for taking notes, although there is also support for WYSIWYG.
Status: Accepted (Dept. Decision Made)
Application Date: 02/25/20
Decision Date: 04/28/20
Institute Acceptance Date: N/A
Test Scores: TOEFL 115/120 (I was really surprised, I thought I had really messed up the speaking part, I was really nervous)
Education:
Colombian mid-range accredited and solid university, graduated in 2016, BS CS, 4.25/5.00 (it's kind of 3.4 in US scale).
Experience:
>* TA of Introduction to CS for 1 semester and TA of Data Structures and Algorithms for 1 semester (one year total in 2012).
>* Two software engineering internships at giant internet company in California (Summer '15, Summer '16, 7 months total).
>* A software engineering internship at literally unknown startup in Colombia (4 months total).
>* Software engineer in machine learning team working on RL systems (3 backends and 4 data scientists, one of which sparked my interest in doing this masters) at big online travel agency company in the Netherlands (current job, 3 years so far).
>* Several completed MOOCs in matrix algebra, reinforcement learning, data science in astronomy, etc.
>* Artsy mobile app applying stuff from Linear Algebra and Geometry with over 200k downloads in Play Store https://play.google.com/store/apps/details?id=com.zubieta.craze&hl=en_US
Recommendations:
>* Chair of CS department and undergrad teacher: Finished.
>* Adviser and undergrad teacher: Finished.
>* Undergrad teacher: Finished.
Comments:
I'm an international applicant, I think they are finally releasing decisions for us.
WHAT'S NEXT?
I took a programming languages course, and we used this book: ( https://www.amazon.com/Concepts-Programming-Languages-Robert-Sebesta/dp/013394302X ). Studying and know about programming language theory, including grammars, parsing, etc will help immensely when you have to write an application that has to process them. You can probably get a used copy of the previous edition for cheap.
I'm in China and I use a combo of ExpressVPN and NordVPN but you can also use AnyConnect with the GaTech VPN: https://faq.oit.gatech.edu/content/how-do-i-get-started-campus-vpn But I would recommend the 2 commercial VPNs above as they are more reliable. Redundancy is key in China, I had ExpressVPN go out a month ago and had to use the others for a while
Well I had 65537 moocs and Nanodegrees and I didn't get in the first time I applied, so i don't think they take much value for those. But after taking CS 9801 - Deep Learning in Scratch at my local home-school, and CS 6654 - Keyboarding Basics at my community library I got accepted! I would take GA your first semester to get back into the swing of school again. But you should do what I did and do all the exercises from all of the volumes of Donald Knuth's The Art of Computer Programming. Doing those a week or two before classes should give you the bare minimum so you don't feel too far behind.
A refresher on basic probability would go a long way. Not so much calculus and linear algebra is necessary but useful for machine learning sections. If you have CLRS Introduction to Algorithms, the probability section in the Appendix is pretty good. The required textbook for AI (R&N) also has an Appendix but is rather short.
Almost all the courses and lectures are available through Udacity. LINK: https://www.udacity.com/georgia-tech The actual homework and assignments for the program differ from the free courses, but it should give you an idea of the level of the material.
Udacity has largely moved away from free courses outside of various scholarship programs they still do, so only a couple of free options, from the looks of it. There is a Cloud Native Fundamentals course that is free and seems to cover a lot of good topics. The other free cloud course Hybrid Cloud Fundamentals is very specific to Nutanix's tech stack, so probably less applicable for you.
Here are the employment outcomes. I don’t think GT is much different from Penn: https://online.seas.upenn.edu/wp-content/uploads/2021/08/2021-Preliminary-Career-Outcomes-Report.pdf
You don’t need GT. ML/AI professionally I have heard favors Ph.D. General learning is just for hobby.
GT is pretty cheap as far as Masters go and easy to get into with an acceptance of over 80% so it doesn’t hurt to keep learning if you can afford $10k. Just not needed for employment.
I think GT classes are posted online on Udacity so you can get a feel for it: https://www.udacity.com/course/machine-learning--ud262
I think you could take the classes at OMSCS if you want, there are plenty of people in the program with masters or higher degrees from other universities.
You can also take some of the classes for free through Udacity: https://www.udacity.com/course/machine-learning--ud262
No, they should not because they already have SDP, DBS, SAD and network security courses, which is a lot for CS masters program. Your choice of courses is probably as far as it can be from applications development, but choosing courses that turned out to be impractical was your decision. I am not sure what did you expect to learn taking ML courses other than, well, ML?
For application development with a specific stack nothing beats a bootcamp. There are a lot of them. For example,
https://www.udacity.com/course/full-stack-web-developer-nanodegree--nd0044
Try watching it on Udacity: https://www.udacity.com/course/introduction-to-computer-vision--ud810
I found I had a better experience with Udacity than Kaltura overall.
https://www.udacity.com/course/linear-algebra-refresher-course--ud953
Appears to still be available as a free course. Unless you just needed the paid college course credit for admission, this will cover all the linear algebra you'll need in the program for free.
Seconding ML4T - despite how the name sounds, it's definitely one of the easier ML-focused classes and a large section of the beginning is a gentle introduction to python and its associated data science libraries (pandas, numpy, matplotlib, etc).
Also, the material itself is pretty basic and the class doesn't expect any prior knowledge of either python or machine learning. The only thing is that class can be a bit tough to get into waitlist-wise. I'm not sure when it's being phased out, but you could check out some of the lecture videos on Udacity here: https://www.udacity.com/course/machine-learning-for-trading--ud501
There's also a lot of information available on the public class page (including the requirements of past projects if you wanted to get an idea of what sort of things you would code in the class): http://lucylabs.gatech.edu/ml4t/#
I'm not sure about Java unless you're willing to spend more time learning the syntax of Python, C, C++ for OMSCS. I think there are some courses that use Java but I was thinking more like this: https://www.udacity.com/course/data-structures-and-algorithms-nanodegree--nd256
I took an equivalent of that Python course in Java and but wish I had taken it in C++ or Python since Java is very verbose. I've only really learned how to use list and dictionary comprehensions recently and there is Numpy, Pandas, etc that can really make tasks easier. In CP, I wrote a lot of loops and used JIT's like Numba or even a bit of Cython to get the speeds I needed although my Cython is still not optimized properly to unleash the absolute top speed it is capable of.
However, I am biased as Python is my favorite language now.
Check out the previous iteration of the course on Udacity, it does a much better job explaining the concepts: https://www.udacity.com/course/computer-networking--ud436
It’s a bit old but newer than Gang of Four. I’d also add Enterprise integration Patterns too: https://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ref=mp_s_a_1_3?adgrpid=117320807516&gclid=Cj0KCQiAj4ecBhD3ARIsAM4Q_jG3bNK54irXXzjN6IZANPhBVlqzE-9Af21PCdHFCfH8N-e9STNAm44aAnPJEALw_wcB&hvadid=49552640...
Distributed systems is one of the hardest CS courses you can take because distributed systems is freakin hard. One of the projects is implementing some of PAXOS. LOL, freakin PAXOS??? LOL!
You really want to prep for that class? Read this book: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321
Also, go read some DS papers like Dynamo, memcache, zookeeper, google file system, etc etc.
​
You're welcome. And prepare to lose your mental health.
Start preparing once you have decided to apply, not once you have been accepted. :p To give you an idea, I received decision letter in mid-October and started in the program in January. 1.5 months may not be enough to prepare. One preparation I had not previously mentioned, maybe you can try enrolling in a MOOC with fixed schedule (some courses on Coursera, as opposed to Udacity). Just so you know if you can be comfortable learning in such platform. One possibly good (though I really don't know, since I have not tried this course) is https://www.coursera.org/course/matrix. I think it will be a refresher on Linear Algebra for you and Python practice.
According to its FAQ, https://www.coursera.org/course/matrix provides a statement of accomplishment (certificate) when you complete all requirements. The other 2 Coursera courses do not give SoA. The thing with SoA, you can potentially finish the course with your friend attending in lieu (really bad).
You can choose to enrol under Signature Track to get the Verified Certificate for a fee so they can verify your identity, thus assure the reader of your certificate that it is actually you who took the classes. You would have to take quizzes facing your computer's camera when you're under Signature Track.
The grade would not be printed on the certificate. But, you can see your grade, whether you enrol for the Verified Certificate or not. Some courses give Certificates with Distinction (applicable for both SoA and VC) if you reach a certain grade.
I personally took MOOCs, some with VCs, most with SoAs (ehem, mostly with Distinction), some without any certificate at all. I mentioned them all during application. :p I guess the important thing is to demonstrate your willingness to learn and show that you can be successful in the MOOC platform (that's what I said in the Background Essay).
Good luck!
Hi,
yes it may be worth doing. Considering that most likely the oil and gas industry will be dying for another 10-15-25 years, there is more than enough time. Here is what I suggest:
Do some sort of inexpensive online coding boot-camp: if you do not like coding, you will be wasting a lot of time. There are many other options to switch career. An obvious option is https://www.freecodecamp.org/. Try different things with a few languages. For example, I dislike ML and like developing applications, but I know that only because I've done some relevant coursework and developed applications.
Do a good research: most of the courses have lecture videos available for viewing, they all have syllabus and there is omscentral.
Meet the prerequisites.
Ensure you covered algorithms and data structures; if your formal prerequisites course was not good, take some good MOOCs.
Ensure you've seen at least two programming languages used in the program (they are C, C++, Java, Python, and for some courses front end dev, but there are not that many, so I would not include JS in the list).
Apply.
I got in based on 15+ years of coding experience, STEM degree, good recommendations, and a lot of MOOCs. On my 7th course, doing well so far, and I think this is a fantastic program.
I definitely don’t agree with getting 2 advanced level degrees in separate topics at the same time to improve financial literacy but hey it’s good to hear another perspective
There are reputable books for $14 on Amazon that would provide financial literacy and investing guidance: Intelligent Investor
Yes, it is C/C++. You definitely should have some experience in C/C++ or you are gonna have a bad time catching up. I'm comfortable with C/C++ but debugging my code still took some time. If you have finished this book - https://www.amazon.com/One-Hour-Sams-Teach-Yourself/dp/0789757745/ref=sr_1_5?crid=124BEWJ28XCN3&keywords=learn+C%2B%2B+in+21+days&qid=1660238897&sprefix=learn+c%2B%2B+in+21+days%2Caps%2C116&sr=8-5, you should be ok.
Welcome to the program and yes it is very much designed. Check out Dr. Joyner's book (I have it but haven't had time to read much of it yet)...
https://www.amazon.com/Distributed-Classroom-Learning-Large-Scale-Environments/dp/0262046059/
4e has new stuff on DL, NLP, RL, ...
Some of it written by Ian Goodfellow, I believe.
Kindle is $75.
I think it is worth it.
>I worked with pipes, pthread, sockets, malloc, etc, however my last time coding C was 4 years ago
This constitutes the bulk of the "C-ish" knowledge prereqs going in; if you're familiar with these conceptually, you should be able to get back into the swing of things.
FYI the final project (Project 4) also uses C++, so if you're totally unfamiliar, might be worth checking out; specifically, C++11 to C++14 or so.
​
>Any materials (videos, books, etc ) are also welcome
If you're a little rusty on the "core C" stuff (pertaining to pointers in particular), I personally really like this book by Reese (also available on the O'Reilly site for free with gtid/student access).
The exposition and diagrams are both phenomenal, and the book does a really nice job of highlighting pointers usage in the context of functions, arrays, and structs, which is mostly the "idiomatic C" stuff, beyond the "basic procedural stuff" (e.g., conditions, loops, etc.) that's common to most C-based languages already (including Python). It's also pretty short at around 200-250 pages, and works well both as a single pass-through to brush up, and/or as a topical reference; I come back to it often when coursework drags me back into the "C world" (I'm mostly a CRUD apps & cloud guy otherwise, specifically JS + .NET).
I don't think some of these comments actually read the text and just read the subject... Any cheap windows laptop will work for proctoring so just find one that is within budget. You don't need gobs of memory or a large SSD.
Newest HP 14" HD Laptop, Windows 11, Intel Celeron Dual-Core Processor Up to 2.60GHz, 4GB RAM, 64GB SSD, Webcam, Dale Pink(Renewed) (Dale Pink) https://www.amazon.com/dp/B09VRX9YVW/ref=cm_sw_r_apan_i_Y4JH40VGMM3E962VTYW0
You might also consider getting a web cam for when you take online exams.
The Logitech C920S is nice.
You can buy a desktop i5 16 GB desktop computer for about $200 on Amazon.
I was in the same position. You definitely need an x86 machine. After running the numbers I found that buying a refurbished desktop for ~$200 and remoting into it from my M1 laptop was worth avoiding the pain of a minimally-supported cloud instance. Ideally try to get a machine with at least an i5 chip, 8GB of RAM and 512GB of storage (preferably SSD). Something like this: https://www.amazon.com/Dell-OptiPlex-9020-SFF-i5-4570-Windows/dp/B07TB9G2R6/ref=mp_s_a_1_5?crid=46DCQ6GQTCO5&keywords=i5+Desktop&qid=1648466175&sprefix=i5+desktop%2Caps%2C189&sr=8-5
If you’re like me and hate Windows you can always use Windows Subsystem for Linux. Set up Microsoft Remote Desktop on both machines and you’re good to go. Bonus if you have a VPN, then you can remote into the desktop from outside your home network.
Yep, Artificial Intelligence by Patrick Henry Winston.
What you mentioned is precisely the challenge of KBAI, I think. There are so many good ways to solve the problems, and at the same time - none of them are really obvious until you're done and it works.
I stressed out a ton with the projects too. The NLP project... it took me a week to even get started because I was so unsure of how to begin.
I don't know that I have anything other anything better than empathy... it's tough to do some of those projects. At the same time - the community is excellent. Post your thought process on ed, there's bound to be peers that are willing to give a pointer or two. Start early, put your thoughts out there, familiarize yourself with asking for help :)
With that said -- I took a Data Structures MOOC and an Algorithms MOOC before I took KBAI, and that was very helpful. I doubt you have enough spare time to do that now, but familiarizing yourself with depth-first search, breadth-first search, and trees is worth the time. Also - NumPy and Pandas for the RPM project.
Learn Java fundamentals . This includes learning how to use the JUnit testing framework.
Learn some basic Android programming in Java. Udacity has this class which may be a bit overkill but will teach you everything you'll need to complete the SDP android projects.
Learn git. IMO most people don't know how to use git properly because classes like SDP just skim over the basic commands and don't really teach you what's going on. If you go through Chapters 1-4 of the Pro Git Book you'll be better prepared for this class and for working in industry.
Learn UML. Honestly UML is kinda a waste of time - i haven't met anyone outside of school who cares about writing "correct" UML. That being said, you'll need to know it for this class.
If you plan on doing ML stuff I highly recommend this (it's very quick) and you can spend more time where you feel you lack understanding: https://www.udacity.com/course/linear-algebra-refresher-course--ud953
Might be good to complement with some hands-on courses from udacity https://www.udacity.com/course/deep-learning-nanodegree--nd101. Why is getting a ML Specialization Masters from GT not good enough cert for her? =P
I am leaning very hard on taking GIOS as an elective but I already took an undergrad OS class. My class was not very rigorous but we learned a lot about multithreading like for GIOS project 1. I have also read that GIOS's project 4, on RPC, overlaps with AOS. Should I just spend more time reading papers for AOS or get the background knowledge refresher of taking GIOS?
Also AOS has a refresher course on Udacity that students can take to prepare before the course. I would work through this before AOS, here is the link: https://www.udacity.com/course/gt-refresher-advanced-os--ud098
Of the 4 classes I took HPCA lectures had the most relevance both in projects and the midterm/final.
As with most other classes, all the lectures are already available on udacity.
https://www.udacity.com/course/high-performance-computer-architecture--ud007
Being able to work out the lecture quizzes by hand will help a lot.
Other classes the lectures had relevance to some quizzes or only the exams but not so with HPCA, even the projects make use of the lecture concepts.
Also download the latest VirtualBox if you haven't already and set up a shared folder. This will decrease the time it takes for you to start on the projects.
I think this is the Udacity link but I'm not sure as I haven't taken in the class: https://www.udacity.com/course/introduction-to-graduate-algorithms--ud401
I was also in AI4R and in the same boat. Eventually dropped the course for exact same reason. Now I am taking a course on udacity which I mentioned below. This should teach me numpy, pandas and other libraries which will be super useful going forward. Also reading the below mentioned book. This should teach all the DS and Algo implemention in python. I am hoping I will get the confidence in python to attempt AI4R in the next coming semesters.
https://www.udacity.com/course/ai-programming-python-nanodegree--nd089
https://runestone.academy/runestone/books/published/pythonds/index.html
Hope this helps.
You should use this link for video: https://www.udacity.com/course/artificial-intelligence--ud954. The prof begins by explaining that he combines the best videos from Sebastian thrun, peter norvig, and himself to form this class.
What courses are you thinking of taking? A few of them, namely GA and ML4T are terribly difficult to get into your first semester or two. You can look at past registrations here: https://docs.google.com/spreadsheets/d/1rqv6_N1l_xC9xR9RGPXhEoqnZIdaHMdixrqu5g7qSL4/edit#gid=1564480606 to get an idea of what your chances are to get into certain courses.
Also The Udacity OMSCS Orientation course is useful for some of the random tools the program uses: https://www.udacity.com/course/omscs-student-orientation--gt101
It's "Georgia Tech", not "Georgina Tech"
Also, your course was easily found - https://www.udacity.com/course/big-data-analytics-in-healthcare--ud758
All of the courses should be listed here on Udacity, albeit I haven’t verified.
Just note it’s not really auditing (a formal academic process). The courses are open to the public and anyone can watch the videos. I don’t know that a formal audit process exists in OMSCS where you can sit in on all the assignments and tests, but the videos are all the same.
I do not recommend KBAI at all, as the course is too high level. Most people seem to like it though.
Have a look at the material on Udacity before applying: https://www.udacity.com/course/knowledge-based-ai-cognitive-systems--ud409
You will have 3 additional projects on the real course, which will ask you to develop some visual recognition.
But, as you will see, the course teaches none of it.
There are 3 homework assignments as well, which are mostly ethics and legal discussions, and 3 open-book easy exams.
Decision is yours though.
Last night I listened to an OMSCS orientation class on Udacity. Overall I found it helpful. It appears dated. Not sure it T-Square is still used, so I skipped that part.
Here's the link:
https://www.udacity.com/course/omscs-student-orientation--gt101
This is the original course on Udacity: https://www.udacity.com/course/computability-complexity-algorithms--ud061
But you definitely can't enroll in it with GT anymore. They swapped it out for GA because that seemed to be more "compatible" for OMSCS students than CCA was.
I'm taking AOS this semester, and I didn't take GIOS. You can find all the required background in the refresher course <em>here</em>. Just be sure to understand everything in that course and you're good to go.
And as mentioned by others, the course is doable if you have strong C skills. You don't want to waste your time trying to figure out how to implement something in C instead of working on the project itself.
You can find my lecture notes <em>here</em>.
In case anyone is interested, the lectures remain available even though you can't actually take it: https://www.udacity.com/course/computability-complexity-algorithms--ud061
The languages you use are dependent on the class. I think you could get through the entire program with Python, but where is the fun in that?
You should be able to find all of the classes on Udacity if you would like to check some of them out. I doubt the homework changes much, they have an auto grader. According to some of the reviews TA's end up basically running the class. I have heard TA's can make or break the class.
Math was never my strongest area. I'm at chapter two in my compilers book and already had to google a couple of symbols I couldn't remember the implications of. I suspect you could get by without much math, and even in that book they take the time to explain in English what the function/algorithm is doing, you just might need to read it a few times to grok it. Udacity also has some math refresher courses. Khan Academy is also great imo.
I read somewhere the acceptance rate was ~60%, but I can't find that so someone please feel free to correct me. There are people who get in with no software / CS experience so you should be in a good spot.
OMSCS Student Orientation. https://www.udacity.com/course/omscs-student-orientation--gt101
Don’t panic on courses. More slots open up during Phase II. There are a few courses that are harder to get into during Phase II, but given that you need 10 classes you are likely to find one of your top two or three available when all is said and done.
Yes, basically only the bold ones are available to OMSCS students.
If you are taking it next semester: Data structures and algorithms. Brush up on Python. Do a quick NumPy tutorial, maybe even OpenCV. Winston's Artificial Intelligence is a classic and a great deal of the course material is based on it. I suggest getting a hard copy... it's worth it (less than $25 for a used copy on Amazon). Go through this book in advance and you will be well ahead of the game.
If you are taking it now: Watch the lectures, do the readings (especially the Winston material), then watch the lectures again on 1.5 or 2x speed before the exams. Take good notes the first time through the lectures then highlight/append on your second time through. Get familiar with the KBAI ebook in the Canvas files. Read at least a couple of the exemplary submissions when they are posted, especially if you really struggled with an assignment. Do way more than you think is necessary at the beginning of the RPM project. Get ahead of things on it as much as possible. Stay active on ed and ask questions to your heart's content. KBAI discussions are exemplary and are still at the top of my list for class interaction with peers.
Course ends May 31, 2018 for anyone wondering.
Did you know MATLAB going in? I don't really want to re-learn MATLAB just to refresh my linear algebra knowledge. I wonder how it compares to something like this: https://www.udacity.com/course/linear-algebra-refresher-course--ud953
True men use vim.
But if you want to hike up your skirt and need to use a more GUI rich text editor, VScode's remote development add-on has improved dramatically. It's practically like running it locally. This is a very recent change by the way.
1 & 2: I don't think a 2nd masters is grounds for rejection. Saying what you told me that you told me is nice to add (That you want a solid ML background and that there is currently only one ML class at your current school).
3: Mentioning your internship is great to mention somewhere since it shows you're getting non-academic experience. You can say that you're currently interning as a software engineer in test and then say in what your next goal is (Software engineer in ML?). It's good to be specific about what you think your next goal might be, even if it's not quite set in stone yet.
4: OK, got it. It all makes sense now :👍
CCA is replaced by GA (graduate algorithms), covers more algorithms rather than the computability/complexity parts. I suppose if you are really interested in the computability/complexity parts, you can view the current Udacity lectures now before it goes away.
Can't say really. I took 6300 and it was a cakewalk, other than the co-ordination with other group members. I haven't taken 6310 but looking at the schedule (https://www.udacity.com/wiki/saad/schedule) it seems to be quite similar to 6300 in what it covers.
But those who've taken both know better, so I guess you should take their advice!
There's not a fixed class time, you can watch all the lectures on demand. The primary resources for this program are T-square, Piazza, and Udacity.
To start off, I'd strongly recommend going to Udacity, and logging in (choose "Sign In With Georgia Tech"). In addition to course pages for any courses you're enrolled in, there will be an "OMSCS Student Orientation" course, which shows how to use most of the tools we use in this program.
Note: If you're only waitlisted for courses (haven't registered for any), it's possible you won't have a GT Udacity account yet. You can actually access the OMSCS orientation from a normal (non Georgia Tech) Udacity account too, at https://www.udacity.com/course/omscs-student-orientation--gt101.
Thanks for the reply. Have you taken both of them? For CN, is the syllabus here fairly accurate? 6 projects and 2 tests? Are there any details available from past semester in terms of actual project/test details?
The rigidity of the testing schedule and not being able to work ahead would be the biggest drawbacks to me compared to something like KBAI. I'd rather know what all is due upfront and set my own schedule to do it rather than having to block out X hours in a specific time period. I'm probably making it out to be worse than it is, but with a new baby, fixed schedules are tough to follow.
GIOS is a great class. I highly recommend that one too. Dr. Ada Gavrilovska is the instructor and is very engaged with the class and forums. I took it last summer. It was tough in a short summer timeframe, but was one of the best classes I have taken at gatech. Just make sure you are comfortable with C programming.
Thanks, Leenak. That'll probably save me some money. The website for each Nanodegree lists what courses they contain, so maybe I'll just go through some of those.
You should be able to access it here
Most of it is pretty specific to this class/track, but the review of Unix/Linux and the review of C++ is about typical for the mastery of CS topics you should have to succeed in these classes.
The course creator for ML4T recommended his book to give students a minimal background in securities and investments. The content doesn't get much deeper. He also made it very clear that students should not use the materials as taught in the class to invest real money.
The course will give you a basic introduction to Pandas, but you can get that from an O'Reilly book. I liked Python for Finance.
I echo the other posters, if you want to be a quant, study stats, analysis, finance, etc.
I just got in too! I got a 3.7 BA, 4.0 MA in mechanical engineering, and have been working as an automation engineer. All of my coding experience outside of school has been with LAD, S7 STL/SCL. I believe there is a algorithms class on Udacity, but I have not taken it. (https://www.udacity.com/course/intro-to-algorithms--cs215)
To succeed, you'd probably want to work on your programming skills first a bit, but fortunately Udacity has classes for that. I'd say apply and take Udacity's Intro to CS, Programming Foundations with Python, and How to Use Git courses. Heck, you could even just preview Machine Learning, Computer Networking, and AI for Robotics -- they're all available free here: https://www.udacity.com/courses#!/georgia-tech-masters-in-cs
Log into Udacity (https://www.udacity.com/georgia-tech/welcome) using your Georgia Tech student login. Under the "My Courses" drop-down at the top, you should be able to select the course for which you registered. Most courses have an introductory lecture that describes how to get started.
Are you loggin in through GATech or directly from udacity.com? When I first logged in, i used udacity.com and I wasnt able to see any courses either.