Hacker News Comments on
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
>would like to become a computer engineer.
If you deliberately chose the phrase "computer engineer" to ask this question, are you saying the teen is interested in designing computer hardware instead of just software programming?
Just to be on the same page with terminology, Zach Star has short videos comparing "computer engineering" vs "computer science":
Therefore, if computer engineering is indeed the specialty, there are more detailed class videos such as hardware architecture from CMU:
Princeton has a similar computer architecture curriculum on Coursera: https://www.coursera.org/learn/comparch
⬐ godelskiIt may also be worthwhile to look into Ben Eater https://www.youtube.com/user/eaterbc⬐ mesaframeA teen who doesn't know much about a field won't be able to describe things concretely.⬐ tomrodHardware is their interest.⬐ cushychickenArduino boards are a great on ramp to computer hardware and programming. Hides a lot of the really hard stuff, and has tons of examples online for how to make it work.
Ben Eater is a guy who's started selling kits for building an 8 bit computer from discrete chips on a breadboard. A whole kit is $300, which is a bit steep for a teenager, but you can buy it and complete it in pieces as you're able.
I also think the suggestion about connecting them with like minded peers is an excellent one. A local FIRST robotics group or a makerspace would be excellent as far as making those connections goes.⬐ dnautics1) the video series on building an computer from scratch is fantastic. It's valuable information no matter where in the tech stack you wind up in (or even if you don't wind up in tech) but also having a deep knowledge of these systems will be of considerable value down the line, because we aren't training kids in hardware as much anymore.
2) If their interest is a bit higher in the stack (like robotics e.g.), and they don't mind getting in the weeds and asking for help in the community, I would target learning with a raspberry pi system. My preferred target is Nerves; it's a bit more bare-bones, and there aren't drivers for everything, but the community is fantastic (the elixir slack / nerves is the place to be), and it's easy to get to a point where you are dropped into an IDE and you can just code.⬐ rjswI got into electronics by building simple radios. There was a Ladybird Book  that started with a crystal set then added extra bits to it like a transistor amplifier. It was all built using a DIY breadboard, the components were connected together using screws with countersunk washers fastened into a piece of wood. There was a whole hobby electronics scene with several magazines that provided designs to build as well as local shops or mail-order to get components.
If I were a teenager now then a FPGA development board with plenty of LEDs and ports could be good.⬐ saalweachterLike, chip design or like robots?⬐ otoburbSince HW is their interest, you might want to probe a little bit why they specifically chose "Computer Engineering" and not "Eletrical Engineering".
I know this is dating myself, but I faced the same question about 25 years ago and chose computer engineering because I knew that I wanted a blend of HW and SW. Many of my classmates who were more interested in HW chose electrical as their specialty. Comp provided more optionality, and there was a lot of overlap, but EEs got to understand the nuts and bolts of HW and especially choose from a wider array of VLSI chip design electives.⬐ BeetleBOne caveat to that: The EE curriculum is a bit more math heavy. In my university, CompE would take Calc I and Calc II, but EE's needed to take Calc III. EE's also needed to take electromagnetics - very heavy on calculus. Some other engineering courses that tend to have calculus. If you want to get deep into HW, this may be a good thing.
If the student dislikes math somewhat, I would not recommend EE. If they really dislike math, I would not recommend CompE either ;-)⬐ tuckerpoDid Calc1-3, E&M, ODEs, PDEs, LinAlg, Real Analysis as CompE.⬐ GrumpyYoungManRequirements can vary. The institution I went to did require a differential equations course after Calc III even for CompE students. And, yeah, it was painful.
Either way, I agree with you 100%; if the student doesn't like math, they are almost guaranteed to get weeded out by the calculus courses.⬐ BeetleBMy university required diff eq for both EE and CompE. They did not require Calc III. Diff Eq is necessary if they're going to do anything with circuits. But I agree with you - it varies from institution to institution. My grad school, for example, requires the same math courses for CompE and EE for undergrad.
> Either way, I agree with you 100%; if the student doesn't like math, they are almost guaranteed to get weeded out by the calculus courses.
It's not that binary. I think the difference (in my undergrad) is that CompE's could struggle and manage to pass calculus (or even do well), and rarely need to use it in future courses in their Junior/Senior year. For them it's just a pain they need to get through and be done with it. EE students, though, are more likely going to need to take courses that require them to use the calculus they learned. Electromagnetics, control theory, communications theory, semiconductors, etc. Even the list of electives EE's could take were more calculus heavy compared to the list of electives for CompE's.
At my university CA: AQA was used as the text for the second course in computer architecture. The first course in computer architecture used this book: https://www.amazon.com/Computer-Organization-Design-Fourth-A....
If you do get around to reading CA: AQA, you can follow along with this Coursera course (it's taught by the professor I had when I took it at Princeton, and he does a great job teaching it): https://www.coursera.org/learn/comparch
⬐ gargarplexI don't have enough patience for courses. I sort of scan the material for what I really need or want to learn and ignore what's not interesting to me. I can make consistent A's with the benefit of Adderall, but I don't feel comfortable with that.
Your recommendation was very useful and interesting to me, and I bought the paperback. I was surprised that it was cheaper to buy a used paperback than to rent it via Kindle for a month.
interrupts in out-of-order processors were the topic of last's week coursera comparch course https://www.coursera.org/learn/comparch - nice to see the discussion for a smaller machine
For those unaware, Coursera shutdown their old platform on Jun 30th .
Many of the courses on the old platform are slowly coming back on the new platform. When I built the list  of courses on the old platform the course count was 472, now its around 390. Some of the notables that I was excited to see come back are:
Neural Networks for Machine Learning with Geoffrey Hinton 
Computer Architecture from Princeton 
Programming Languages from UW by Dan Grossman 
Introduction to Natural Language Processing by Dragomir Radev 
Many of these courses were last offered a couple of years ago. Hopefully more courses form the list  start coming back.
Well we can't use those. But, for another commenter, I just found this:
Maybe check it out and see if you'd recommend it. A qualified opinion would help me know if I should just post it next time topic comes up.
Hmm. You have a point. I get a lot of what he's saying but some is certainly unclear. And, damnit, despite many good links he doesn't seem to have anything like that anywhere. (sighs) So, we have one solid critique of this page.
Should at least update it with speaker's notes. I always distributed those with my PowerPoints just in case they landed on a new audience not possessing innate, psychic abilities. I heard that happens on occasion.
Like Coursera, eh? Here you go:
References same textbook. Might help you and others with similar trouble with these notes.
After you get past the components, some computer architecture will do you good. See eg https://www.coursera.org/course/comparch. There's also the classic Hennessy & Patterson book.
I'd recommend this course: https://www.coursera.org/course/comparch
If you're too advanced for this, I'd consider writing some behavioral VHDL or Verilog for a few of the units to see how a few of the pieces fit together.