(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.
41. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
42. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Professional Computing)
- Addison-Wesley Professional
Features:
44. Design Patterns: Elements of Reusable Object-Oriented Software
- The space mouse compact was developed to deliver an intuitive, effortless and precise 3D navigation in CAD applications that cannot be experienced by using a standard mouse and keyboard.
- Six-degrees-of-freedom (6Dof) sensor - intuitively and precisely navigate digital models or views. Operating system - Windows 10, Windows 8.1, Windows 7 SP1,Apple macOS 10.14, Apple macOS 10.13, Apple macOS 10.12, Apple OS X 10.11, Apple OS X 10.10. Linux Red Hat Enterprise Linux Workstation 4, 5, Linux Novell SUSE Linux 9.3, 10, 11
- Each of the space mouse compact's two buttons opens its own 3Dconnexion radial menu. They provide direct access to up to 8 of your favorite application commands.
- With its iconic, pure design, the space mouse compact is small enough to fit on every desk while the brushed steel base ensures the device stability for precise 3D navigation.
- 2-Year manufacturer's warranty
Features:
46. Machine Learning: The Art and Science of Algorithms that Make Sense of Data
- Cambridge University Press
Features:
47. Acer Aspire 5 Slim Laptop, 15.6 Inches FHD IPS Display, 8th Gen Intel Core i5-8265U, 8GB DDR4, 256GB SSD, Fingerprint Reader, Windows 10 Home, A515-54-51DJ
- 8th Generation Intel Core i5-8265U Processor (Upto 3.9 gram Hz) | 8 GB DDR4 Memory | 256 GB PCIe NVMe SSD
- 15.6 Inches Full HD (1920 x 1080) Widescreen LED-backlit IPS Display | Intel UHD Graphics 620
- 1 - USB 3.1 Type C Gen 1 port, 2 - USB 3.1 Gen 1 Ports (one with Power-off Charging), 1 - USB 2.0 Port & 1 - HDMI Port with HDCP Support
- 802.11ac WiFi | Backlit Keyboard | Fingerprint Reader | Upto 9.5 Hours Battery Life
Features:
48. Acer Aspire 5 Slim Laptop, 15.6 inches Full HD IPS Display, AMD Ryzen 3 3200U, Vega 3 Graphics, 4GB DDR4, 128GB SSD, Backlit Keyboard, Windows 10 in S Mode, A515-43-R19L,Silver
AMD Ryzen 3 3200U Dual Core Processor (Up to 3.5GHz); 4GB DDR4 Memory; 128GB PCIe NVMe SSD15.6 inches Full HD (1920 x 1080) Widescreen LED backlit IPS Display; AMD Radeon Vega 3 Mobile Graphics802.11ac Wi-Fi; Backlit Keyboard; Up to 7.5 Hours Battery Life1 USB 3.1 Gen 1 Port, 2 USB 2.0 Ports & 1 HDM...
49. Acer Aspire17.3 Inch Full HD Laptop, 7th Intel Core i5-7200U 2.5GHz, 8GB DDR4 RAM, 256GB SSD, NVIDIA GeForce 940MX with 2GB GDDR5, 802.11ac, Bluetooth, HDMI, HD Webcam, Windows 10
- 17.3 Inch LED backlight & Acer ComfyView wide screen Full HD (1920 x 1080) Display, NVIDIA GeForce 940MX with 2GB GDDR5 Dedicated memory
- Intel Core i5-7200U Dual-Core Processor, 2.50 GHz turbo boost to 3.1 GHz, 8 GB DDR4 Memorry expandable to 32GB, 256GB SSD, No optical Drive
- 1 x HDMI, 1X VGA, 1 x USB 3.1 Type-C, 2 x USB 3.0 (One with Power-off Charging), 2 x USB 2.0 Stereo Speakers, 802.11ac, Bluetooth 4.1,
- HD Webcam (1280 x 720) supporting High Dynamic Range (HDR), 10/100/1000Mbps LAN, Acer TrueHarmony High-Performance Sound System, Media ReaderDedicated Numeric Keypad Media Control Keys
- Color: Black, Windows 10, 1.09" Thin, 6.83lbs Weight, Battery: 4-cell lithium-ion, 5.5 hours battery life
Features:
50. Lenovo ThinkPad T450s 14in Laptop, Intel Core i5 5300U 2.3Ghz, 8GB DDR3 RAM, 256GB SSD Hard Drive, Webcam, Windows 10 (Renewed)
- This Certified Refurbished product is tested and certified to look and work like new. The refurbishing process includes functionality testing, basic cleaning, inspection, and repackaging. The product ships with all relevant accessories, a minimum 90-day warranty, and may arrive in a generic box. Only select sellers who maintain a high performance bar may offer Certified Refurbished products on Amazon.com.
- Lenovo ThinkPad T450s 14" Laptop, Intel Core i5 5300U 2.3Ghz, 8GB DDR3 RAM, 256GB SSD Hard Drive, Webcam, Windows 10
- Fresh install and activted Windows 10 with zero bloatware. Your very own genuine Windows COA sticker will be attached to the unit and on some laptops, under the battery.
Features:
51. Sound Blaster Z PCIe Gaming Sound Card with High Performance Headphone Amp and Beam Forming Microphone
- Includes an external high quality dual-microphone array standard with card. Supported operating systems: windows 7, Windows 8, Windows 10
- Features Sound Core3D Audio Processor for accelerating advanced audio and voice technologies
- SBX Pro Studio sound technologies create unprecedented levels of audio realism including stunning 3D surround effects for your speakers and headsets
- Delivers 116dB SNR, plus audiophile-grade capacitors and gold-plated I/O connectivity and Stereo Direct lets you listen to your music pure and unprocessed at the amazing bit rate of 24-bit 192 kHz.
- Use the Sound Blaster Control Panel just toggle between you headphone and speakers system with a flip of a switch
- OS : windows 7, Windows 8, Windows 10
Features:
52. Audio-Technica ATH-M50x Professional Studio Monitor Headphones, Black, Professional Grade, Critically Acclaimed, With Detachable Cable
- Critically acclaimed sonic performance praised by top audio engineers and pro audio reviewers
- Proprietary 45 millimeter large aperture drivers with rare earth magnets and copper clad aluminum wire voice coils
- Exceptional clarity throughout an extended frequency range with deep accurate bass response
- Circumaural design contours around the ears for excellent sound isolation in loud environments
- 90 degree swiveling earcups for easy one ear monitoring and professional grade earpad and headband material delivers more durability and comfort
Features:
53. How to Read a Book: The Classic Guide to Intelligent Reading
- Simon & Schuster
- Condition : Good
- Easy to read text
Features:
54. Mind Play: A Guide to Erotic Hypnosis
- PACKAGE INCLUDES: 20 Clear Plastic D'Vine Dessert Bowl - 10oz
- ELEGANT DINNERWARE: Clear plastic bowls with simple, vine design.
- PERFECT FOR ANY SETTING: For gatherings, parties, picnics, weddings, reunions, and other special events.
- DURABLE: Made from high-end materials, thick and functional.
- REUSABLE & DISPOSABLE: Wash and use again or dispose of after use.
Features:
55. Logitech G710+ Mechanical Gaming Keyboard with Tactile High-Speed Keys - Black
- Tactile, high-speed keys: Quiet mechanical keys deliver gaming-grade responsiveness and superior tactile feedback without noise distractions
- Adjustable dual-zone backlighting: Adjust the brightness of WASD/arrow keys independently from the rest of the keyboard so you can easily find any key?even in low light
- 6 programmable G-keys: Configure up to 18 unique functions per game, including single keypresses, complex macros or intricate Lua scripts
- High-performance gaming keys: 110 anti-ghosting keys and 26-key rollover help you make the right moves with flawless precision; one-touch media keys let you instantly control volume, mute and media playback
- Compatibility: Requires 2 USB ports. Works with Windows 8, Windows 7 or Windows Vista operating systems; Mac OS X 10.6.8 - 10.9.x
Features:
56. CORSAIR K70 Mechanical Gaming Keyboard - USB Passthrough & Media Controls - Tactile & Quiet - Cherry MX Brown
- Aircraft-grade anodized brushed aluminum frame for superior durability / Advanced lighting control and large font keycaps deliver dynamic, vibrant backlighting
- CUE support enables advanced macro and lighting programming for virtually unlimited game customization / 100% Cherry MX RGB Brown key switches with gold contacts for fast, precise key presses
- 100% anti-ghosting with full key rollover on USB / Detachable soft-touch wrist rest and dedicated multimedia controls
Features:
57. HP Elitebook 8440p 14-Inch (i5, 2.4GHz, 4GB Memory, 250Gb HDD, Windows 7 Professional 64-Bit), Silver
Intel Core i5 2.40GHz4GB DDR3250GB SATA hard driveDVDRWWindows 7 Professional 64bit
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.
He's got other books, although these are his true gems.
Lastly, I think it's valueable to find read blogs of C++ industry programmers-- using C++ in an effective matter is not trivial, and requires a nontrivial commitment. By the time I started realizing the benefit of blogs, I started moving away from C++ to other languages (Because HEY! You can actually get stuff done in other languages!!) The main one I (did) read is this Casey Muratori's blog posts - link is to the start of a really good series of about 3 of his blog posts. He talks about specifically, "how to give birth" to objects. and it's great.
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
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.
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
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.
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.
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.
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)
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
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.
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.
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!
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.