(Part 3) Best products from r/computerscience

We found 21 comments on r/computerscience discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 168 products and ranked them based on the amount of positive reactions they received. Here are the products ranked 41-60. You can also go back to the previous section.

Top comments mentioning products on r/computerscience:

u/______POTATOES______ · 1 pointr/computerscience

For starters: http://c.learncodethehardway.org/book/

Then for some advanced material (Books, sorry they cost $ but they are written by a king C++ con$ultant) : Everything this guy writes. Namely his "...Tips for Effective C++" series, of which he has several. He released one very recently, actually.

u/I_make_ur_toe_Curler · 7 pointsr/computerscience

Some other people here can probably give you a better answer...But anyways...

Honestly you aren't "new" to computer programming if you've done some Java. I think the best route will be to learn about computer graphics by playing around with OpenGl and all the minor details of C++ you can pick up as you go. (OpenGL is written in C).

As a source this book is a standard university textbook on computer graphics. Don't get the newer edition just get the older edition(linked in previous sentence). You won't learn C++ or OpenGL but the theory behind computer graphics. If you want to get a deeper understanding of OpenGL and have a very good reference by you then consider getting "OpenGL Programming Guide". You could borrow it form a library and return it if you decide it is not for you.

Here is a course taught by Stanford on computer graphics. They are probably one of the top universities when it comes to research in computer graphics and they are involved heavily with some of the largest animation companies such as Pixar. In this course they also cover basic OpenGL.

Here is another course which is more theory and less biased when it comes to a graphics library such as OpenGL (meaning expect to not learn OpenGL but the theory behind computer graphics in this course).

I am assuming by "MechE" you mean mechanical engineer. If so I think you be well positioned because a lot of the mathematics (differential equations, linear algebra, calculus, etc...) you will have a very good understand of which will be really helpful.

Good luck!

EDIT: Correction the lecture series above is from UCBerkley

EDIT: OpenGL is written in C

u/-jp- · 2 pointsr/computerscience

In my experience, languages are pretty easy to pick up once you know one. I think you'd be better off sticking with Java and exploring concepts, algorithms, data structures and certain frameworks.

When I was starting I got a lot out of the GoF Book. It's a C++ book but they don't really use any C++ features that are hard to translate to Java. I've heard good things about Head First Design Patterns too but haven't read it.

As far as Java goes Spring and Hibernate are two great libraries to be familiar with, since you'll encounter them in the wild pretty regularly.

If I were to suggest something you might not have learned, consider installing VirtualBox and using it to run Ubuntu. Familiarity with Linux will give you a big leg up and Ubuntu is a pretty good way to ease into it. Plus it has packages for a ton of different programming languages so you can experiment with any that catch your fancy.

u/[deleted] · 2 pointsr/computerscience

As those letters paired with CS/EE/etc are typically placed at the top of a resume, and used to classify applicants (from the Job-Fairs that I've been to), I do see the importance in that sense. I have seen rare cases where English majors are working in AI software projects for instance. I don't know the implications of BS vs BA. There may be a state law or accreditor of the university which defines what those mean. Most of what I see is CS, EE, and MIS in the software field. CS is basically Discrete Mathematics, Data Structures, Heuristics, and Programming Lang. Theory. Learning these topics well, and to apply them in software day-to-day, can easily fill four years. Knowing these topics puts you on a higher tier with respect to other coders (hobbyists, self taught and the like), but they can be acquired outside of uni. It's just easier in uni if you find math hard or in some cases impossible (in uni you do learn how to learn though). A&M for instance had smaller classes in the summer, with more intimate relationships with the professors (that was my main attraction). Always sit-in on classes in session to see what they are like, before committing to the uni. Most uni's post a class schedule on the course page, or elsewhere on the web.

Also every CS program should have a algorithmic problem solving component. What I mean by this is that either there should be for credit courses, or associations/student groups of problem solvers. Some UT schools for instance have monthly programming algorithmic problem solving contests. These allow for the application of theory, but also they are the only method that I know of, for stress-management and preparation for some job-interview screens.

To segway a bit, and give you an idea about what CS is (because no one told me this when I was applying years ago):
All software programming uses CS. If anyone proposes otherwise, they are wrong. Computer Programs in-fact follow a series tautological propositions from predicate logic (from discrete mathematics). So if the propositions that the computer follows are incorrectly written, or illogical, this is a bug. The logic that a program follows however exists outside of the program, and outside of the computer in a mathematically rigorous form. What I mean is that the logic can be much more efficiently reasoned about, and solved on paper using techniques from CS theory. Much of what CS teaches, in addition to a structured, encyclopedic like bag of tricks, is to express these propositions (things which are true or false), mathematically, and correctly, then write programs which follow the inferences proven by that process. Why is this necessary? After a certain point, algorithms reach a sophistication where they cannot be adequately reasoned about while created & encoded on the computer as a single activity (QuickSort is such an example). Going from nothing to being confident that such algorithms will work without error, and further that the algorithm is more efficient than others, takes CS theory. If the school does not teach this, then run. Some good books covering the vast majority of uni CS (that I used in course-work, still use to this day in the real world, and have NOT exhausted) are:

http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0072899050

http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844/ref=sr_1_1?s=books&ie=UTF8&qid=1396507769&sr=1-1&keywords=cormen

HTH

u/c3534l · 2 pointsr/computerscience

From what I know, there's two basic ways most music recommendation services use. The one technique is to use an efficient comparison method called minhashing. But the basic idea is that you represent every song as a collection of users who like the song. The similarity between one user and another is the Jaccard similarity (the proportion of people in song A shared by song B). Minhashing is then used as more of a search algorithm for finding which sets share Jaccard similarity.

This works okay for a lot of things, but the music service Pandora actually does not use that method. They have a unique approach where someone (I think mostly grad students in musicolgy) actually sat down and listened to every song and filled out a little chart that said things like "minor key tonality" and you write in the tempo and all that. Like, just an exhaustive list. Then to find similar music they're using a distance metric of some kind, although I don't know all the details. But basically if you imagine every attribute a song can have as a dimension, a song is a point in high dimensional space and you're trying to find music that's physically closer. Pandora does also learn a little bit about what attributes are important to you, too.

In general, this sort of topic is part of a field called machine learning. I personally enjoyed this ML book which was maybe a bit heavy on math and theory and not so much on practicality, but I do think quite a few other more down-to-earth books on the subject have been published if you want to look around and find a good one. I also hear great things about the coursera class on machine learning and data science.

u/Y3lo_ · 2 pointsr/computerscience

Honestly, you can still code and do pretty much anything to study computer science. I coded in Python, Java, and HTML on a dual core Core 2 Duo laptop and still got by just fine. I would reccomend an SSD though, it makes it so that when you click on a program it actually opens instantly as opposed to taking 30 seconds to open. You don't need an RTX graphics card or an i7, but I would recommend at least an i5 and some sort of graphics card, but an i3, Celeron, or Pentium will still do just fine. Intel HD Graphics should also be more than enough for any coding applications.

If you want any recommendations for things to buy at certain price points, here you go.

$300 Laptop: https://www.amazon.com/Acer-Display-Graphics-Keyboard-A515-43-R19L/dp/B07RF1XD36/

$500 Laptop: https://www.amazon.com/Acer-i5-8265U-Keyboard-Fingerprint-A515-54-51DJ/dp/B07RF2123Z/

$700 Laptop: https://www.amazon.com/Acer-Aspire17-3-i5-7200U-802-11ac-Bluetooth/dp/B01N9YH4WE/

For a desktop, you can build anything that fits your budget, but build it with an SSD, an i5/Ryzen 5, and at least a 1050 ti if you want good performance and to be able to do anything you like software wise.

u/OnlyTwo_jpg · 1 pointr/computerscience

Actually yes, I did. My motherboard used the Realtek built-in sound or whatever it is, which was alright, but once I got the soundcard (I got this one on sale for like $75) the sound was much clearer, and insanely louder with better control over everything. You do need decent headphones, so like a $30 headset isn't going to be affected as much as something like the ATH M50x's I got a year or so ago (Also very good purchase). I used to listen to music at 75-95% usually which was pretty loud, and now the equivalent is around 25-30%, and its quality is enough to very noticeably tell the difference between stuff like spotify premium and YouTube audio.

u/NightXero · 2 pointsr/computerscience

Only if it suits your goals.

How is your health? How is your routine? What is your idealistic lifestyle? 5-years? 10-years? 20-years?

What influences have driven you without your knowledge (parents, teachers, impulses)?

Write a 10-page paper on the benefits of college. A 10-page paper on its opportunity costs. And a 10-page paper on what lifestyle you want to build. Or a 20-page paper. Hell, just go for a book, and sell that. The bottom line is the more you put in now, the better off you will be in your "choice" (which is basically a rationalization of whatever limited information you currently have in a given moment).

Think of your ideal goals or just general thoughts of life:

Will it involve kinky foreign sex at 18?

Will it involve biking?

Will it involve long work hours?

Do you wish to fix things in your life? Work out, exercise, interact with people more often?

Did you know hypnosis is real? Especially the erotic type.

Did you know most people cannot properly read a book? Here is a good starting introduction.

Honestly I would wait and delay it until you find the best college for your needs. Plus right now your frontal lobe is still developing until 23-25 which makes long-term planning a little difficult to perceive at times. And you are getting the spam of "GO TO COLLEGE" non-stop which is priming your own cognitive choices to be "well should I go to college or " instead of "this is what I have, my goals, what should I do to meet them?"


In the meantime, the independence, work experience, and savings rate at your age (with compounding interest) is critical to your own future education. By self-discovering and molding your thinking, you will be ahead of your peers that just go to college without the experience.


Can you make $50,000 now per year? Can you save a significant portion? Do you have a goal outside of work/school? A lifestyle you want to build?



You could go to college now or go to college with experience, more maturity, and a higher net-worth. Which translates to less pressure and more education for your own understanding. You get better choices and better results. You could go travel for the knowledge, meet experts in the field, and overall understand yourself on a higher level.


Check out /r/financialindependence, /r/leanfire, and you probably alright know about /r/cscareerquestions


And then there is /r/simpleliving (for happiness), /r/digitalnomad (for options), /r/Flipping (for turning waste into profit), /r/churning (travel rewards) /r/Entrepreneur (business expansion)

u/Pugway · 12 pointsr/computerscience

If he doesn't have one already, a mechanical keyboard would be a great gift. They can be a bit pricey, but you can get one for ~100 dollars that is pretty decent; it'll making typing a much nicer experience. Specifically, I'd look for any keyboard which has "Cherry MX Brown" or "Cherry MX Blue" switches. The key switch determines how the keyboard feels, and how loud it is.

I have blues at home and browns for my keyboard at work and both options are solid. I prefer blues myself but they are loud, Browns feel similar but they don't have an audible click so they are much quieter.

Be wary of "like-mechanical" keyboard, that are basically just expensive membrane keyboard that try and mimic the mechanical feel.

Here are two pretty good options to get you started:

https://www.amazon.com/Corsair-Gaming-Mechanical-Keyboard-Backlit/dp/B01ER4B7YM/ref=sr_1_1?ie=UTF8&qid=1503434727&sr=8-1&keywords=corsair+k70

https://www.amazon.com/Logitech-Mechanical-Keyboard-Tactile-High-Speed/dp/B009C98NPY/ref=sr_1_1?ie=UTF8&qid=1503434740&sr=8-1&keywords=logitec+g710%2B

u/ZergTerminaL · 1 pointr/computerscience

Just for reference, I used an hp 8440p for both my undergraduate and graduate programs. It handled everything I could have wanted it to do. There's just not a lot going on that requires much power, and if I was doing some sort of research that did require power it was easy enough to ssh to the school computers to run the jobs. If I did it again I'd probably buy a thinkpad t420 instead, but this one was free for me so not too bad.

On the other hand school is a wonderful excuse to buy something like that.

u/passthejoe · 1 pointr/computerscience

If your school teaches in Java, you might want to do the http://mooc.fi/english.html. That gets you learning Java and using an IDE (NetBeans), and it's a good way to ease you in. Oracle's documentation is really good, too: https://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html.

If they do C++, that's another story. My community college teaches C++, and I can tell you that the first course was VERY doable for somebody who has a little programming experience -- even very little. I'm at a loss for good online tutorials, but the book my class used -- https://www.amazon.com/Starting-Out-Early-Objects-8th/dp/013336092X -- was very good. I'm considering getting the author's Java book: https://www.amazon.com/Starting-Out-Java-Early-Objects/dp/0133776743/.

The only problem is that "real" textbooks are very expensive. There are some great online resources. One I am using for Java is http://greenteapress.com/wp/think-java. David Eck's free book -- http://math.hws.edu/javanotes/ -- is also very good.

u/atech087 · 2 pointsr/computerscience

This is the book we're using at my university, this is only my second semester, but we're still using the book. It's pretty good and hits all the basics, it has a lot of good examples too that you can reference when you're coding. It is a bit pricey, but there are "other means of obtaining it" if you catch my drift. Good luck!

u/EnvironmentalSwim · 1 pointr/computerscience

T450s is nice.

Look for minimum of 8GB ram, 256gb ssd, 1920x1080 resolution, Windows 10, i5 processor.

​

for example

https://www.amazon.com/Lenovo-ThinkPad-Windows-Certified-Refurbished/dp/B07HHCGJSY/ref=sr_1_3?keywords=T450s&qid=1558389512&s=gateway&sr=8-3

​

You can also check ebay.