Top products from r/ComputerEngineering

We found 34 product mentions on r/ComputerEngineering. We ranked the 26 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top comments that mention products on r/ComputerEngineering:

u/gineton2 · 3 pointsr/ComputerEngineering

I'm about your age and taking CS and Engineering courses. The only way to find out is by trying. One quick and inexpensive way of getting your feet wet is by learning some basic coding online (for example, Harvard's CS50) and doing the first few electronics projects with an Arduino kit (like this one).

Then, I recommend doing lower-division prerequisites at community college to get a taste of the engineering curriculum. Specifically, you should take at least one programming class, Calculus 1, Physics 1, and an engineering class or two (hopefully one that is project-based or has a hands-on component). With these, you should have a good introduction to the different directions you can take.

You should also think about why you want to take Computer Engineering. CpE is a good major, but if your interest/goal is to work in software, Computer Science will be a more flexible major and usually have fewer requirements (read: you can graduate sooner). Don't get into the major just because of the engineer moniker, get into CpE because you want to have more flexibility in your career in working with hardware, software, and electronics. CS will give you a better background for a broad career as a software engineer, with more elective options. There are something like 10x more software jobs than hardware jobs. You can work in software with CpE, but the major itself can be pretty focused on electrical engineering, circuits, and hardware. This depends on your school.

Once you've taken the classes I suggested, you should be able to better decide what you're most interested in and how much math and physics you want to take. If you don't mind taking more math and physics fundamentals, then CpE can be a good fit for you. Depending on how you feel about your programming courses and hands-on engineering courses, you will have more clarity on whether you want to have more focus in hardware, software, or neither.

u/Statici · 1 pointr/ComputerEngineering

Hmm maybe. It's hard to say exactly what I want right now. My first introduction to actual computer science was through this book which is what ultimately lead me to studying theoretical physics (yeah I know, a weird pathway lol). I'm fascinated with the optimization of algorithms, and a friend recently recommended this book to me because my final project is building a 2's complement adder/subtractor & I thought about going further. In it it has this paragraph:

>The downside of potentially rising processor performance is an unprecedented increase in hardware and software complexity. The trend toward greater complexity is not only at odds with testability and certifiability but also hampers adaptability, performance tuning, and evaluation of the various trade-offs, all of which contribute to soaring development costs. A key challenge facing current and future computer designers is to reverse this trend by removing layer after layer of complexity, opting instead for clean, robust, and easily certifiable designs, while continuing to try to devise novel methods for gaining performance and ease-of-use benefits from simpler circuits that can be readily adapted to application requirements.

That's sort of...exactly what I want to do. Whether that is computer engineering, computer science, or both, idk. Where that might happen I don't know either - and it's not as if a recent speedup to carry-lookahead adders is going to make the news (but it would still interest me). Do you happen to know if there are any schools out there that do research focused specifically on that sort of stuff?

u/brucehoult · 1 pointr/ComputerEngineering

Welcome!

You need two books:

https://www.amazon.com/Computer-Organization-Design-RISC-V-Architecture/dp/0128122757

Get the original MIPS or later ARM version if you prefer -- they're absolutely fine, and the principles you learn one one apply to everything -- but the RISC-V one is the newest and is the only only one that you're actually legally allowed to make an implementation of at home and distribute, put on github etc.

But of course designing and making your own 16 bit ISA is huge fun, so I definitely recommend that too!

Once you've digested all that, their other book is more advanced. But the first one will get you a long way. This next one is the absolute bible of real computer architects and hardware designers.

https://www.amazon.com/Computer-Architecture-Quantitative-Approach-Kaufmann/dp/0128119055

That's by these guys, who originally invented the RISC-I and MIPS processors in the early 80s, invented the term "RISC" (and also RAID, btw). They recently received the Turing award for their lifetime efforts:

https://www.youtube.com/watch?v=3LVeEjsn8Ts

Join comp.arch on usenet / google groups. There are lots of actual working or retired computer architects there, and they're helpful to energetic students and amateurs designing their own toy stuff.

u/FUHGETTABOUTIT_1 · 0 pointsr/ComputerEngineering

I think a great way to get started in programming is HackerRank.
All the recommendations I’ve read here are very good so far. Also, look into
the basics of Networking protocols (SSL, TCP, etc..). Have some basic
knowledge on how the internet works, how the ISPs come into picture.
Do not use an IDE while taking programming classes!
Stick with a simple text editor like Vim (My everyday tool).
I’ve quizzed friends on who only use IDEs and its embarrassing when they
can’t even create a simple hello world program from scratch; they’re so use to having
the IDE create a template for them. Even if the instructors use IDEs, avoid them.
Understand how VM’s work (Dockers if you have some time). Get confortable debugging
your programs when they don’t work. Use a debugger, avoid print statements for now.
Trust me, you’ll be doing a ton of debugging when you’re out in the field.
Get confortable on command line. At least learn the very basics of
Linux/bash commands (ls, cd, mv, cp, etc..)

Read this book (It gives you great tips on how to learn and retain knowledge):
Make It Stick: The Science of Successful Learning
https://www.amazon.com/dp/0674729013/ref=cm_sw_r_other_apa_1x21AbKZZ3XGE

Don’t do drugs! Stay in school and keep on learning!

Best of luck!

u/csp256 · 2 pointsr/ComputerEngineering

Your university will let you take as many classes as you want.

You aren't in university to complete a checklist and move on. Take all the classes which will give you marketable skills.

PDE is pretty hit or miss. Almost every differential equation is analytically unsolvable. In most undergraduate ODE and PDE courses you will be wasting your time practicing how to solve one of a very small number of special cases by hand, without learning the deeper theory (because frankly, you're not ready to).

Yes, really; the way most everywhere teaches DE is useless and "done for historical reasons". I think they do it just because it makes their job (turning freshmen into grad students) easier by letting you practice calculus for a while.

At best you learn how to use integral transforms (Laplace transform, maybe with a mention to the Fourier transform) and maybe some connection to linear algebra (it might be the first time you see linearity used outside of a 'straight line' context).

In reality you will almost always need numerical techniques when it comes to differential equations. Those come in all shapes and sizes. Learn numerical methods. I like this book. There is a pdf out there.

For your general erudition it is important to understand the derivation of the heat equation in terms of a Fourier series. The heat equation is just a special case of the diffusion equation, and the diffusion equation is everywhere.

PDEs are used in computer vision. Of course they are. But you can probably skip the class itself unless you happen to become interested in one of the fields where they play a more central role. For most of computer vision my advice is to focus on these things:

  • Linear algebra
  • Numerical methods
  • Modern software engineering in C++
  • Domain specific knowledge - read Szeliski's book.

    PS: Studying abroad is worth the cost, even if you have to delay graduation and pay for it with student loans.
u/pencan · 3 pointsr/ComputerEngineering

Try the RISCV reader book. It’s pretty good, even if the privileged section is somewhat out of date

EDIT: link to book https://www.amazon.com/RISC-V-Reader-Open-Architecture-Atlas/dp/0999249118

u/KyleRochi · 3 pointsr/ComputerEngineering

Codecadmy! I recommend python or ruby. They are pretty easy languages to pick up, so you will have a good understanding of programming concepts when you start doing C/C++ or java. Also for digital logic I recommend picking up a copy of [Code](Code: The Hidden Language of Computer Hardware and Software https://www.amazon.com/dp/0735611319/ref=cm_sw_r_cp_api_nxOAyb12J4N87) by Charles Petzold. It is by no means a comprehensive guide, but you will be familiar with everything when you take a logic class and while most of the class is trying to figure out what an adder is you will already know and be focusing on how and why it works

u/kubiesnacks123 · 3 pointsr/ComputerEngineering

I just bought this l. I’m a computer engineer major. Elegoo EL-KIT-003 UNO Project Super Starter Kit with Tutorial for Arduino https://www.amazon.com/dp/B01D8KOZF4/ref=cm_sw_r_cp_api_i_uys.AbJ98HNDX

u/zkSNARK · 3 pointsr/ComputerEngineering

If you wanna go deeper with the hardware, this is the book my university used. It contains a lifetime of knowledge. However, it is nowhere close to the readability of Code. Where I found code to be friendly and inviting, this book is more of a grind through 100 pages in 2 months and question your existence type of thing. For OS stuff, we used this one. I'd say its a lot more friendly to read than the architecture book, but really as you go deeper into both of these subjects, they don't get friendlier.

u/soyPETE · 1 pointr/ComputerEngineering

It depends on what you are wanting to go? You can start with this:


Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series) https://www.amazon.com/dp/0134034287/ref=cm_sw_r_cp_api_w-O0AbM4Z2FJR

u/MushinZero · 4 pointsr/ComputerEngineering

Do you understand a current ISA? This will become clearer once you do.

MIPS or RISC-V are the recommended ones to start with.

https://smile.amazon.com/dp/0124077269/ref=cm_sw_em_r_mt_dp_U_kfG4Db0D3JR91

https://smile.amazon.com/dp/0128122757/ref=cm_sw_em_r_mt_dp_U_hfG4DbCTTF7H3

Also, it is going to be much faster to implement a processor in an HDL than in Minecraft.

u/laneLazerBeamz · 1 pointr/ComputerEngineering

We use vivado in school and they teach verilog. My impression is that VHDL is more of an industry standard, but I'm still a student so don't quote me on that. The way my university introduced digital logic was by having us start at logic gate level then use those modules to make state machines and last semester we made a MIPS processor.


Vivado (web pack should be free)
https://www.xilinx.com/products/design-tools/vivado.html

Here is the book we used for the processor
https://www.amazon.com/Computer-Organization-Design-Fifth-Architecture/dp/0124077269

u/QuoteMe-Bot · 3 pointsr/ComputerEngineering

> We use vivado in school and they teach verilog. My impression is that VHDL is more of an industry standard, but I'm still a student so don't quote me on that. The way my university introduced digital logic was by having us start at logic gate level then use those modules to make state machines and last semester we made a MIPS processor.

>
Vivado (web pack should be free)
https://www.xilinx.com/products/design-tools/vivado.html

> Here is the book we used for the processor
https://www.amazon.com/Computer-Organization-Design-Fifth-Architecture/dp/0124077269

~ /u/laneLazerBeamz

u/Malaprop_Toaster · 7 pointsr/ComputerEngineering

You can probably take a look at the basic architecture book by Hennessy and Patterson. It's the most commonly used starter book and has decent explanations of opcode and how instructions work. It does however use a made up version of ARM, but still covers the basics.