1,220 karma · joined April 21, 2016
There are caveats, of course:
- "Afford" is rather an important word in the last sentence above; burnout and stunting your personal relationships are genuine hazards.
- Choose carefully learn because of the "half-life of knowledge" (https://en.wikipedia.org/wiki/Half-life_of_knowledge). You will want to concentrate on fundamental topics that hold their value over the long term, like security, performance analysis, etc. rather than ephemeral knowledge like tools, frameworks, and libraries.
https://en.wikipedia.org/wiki/Texas_Memory_Systems
You might also consider trying c) Spend that extra time learning a new career skill that both benefits you in the long run and your employer in the short run. That's been my principle and it has served me well over a lengthy career.
[0] or perhaps it would be better to say "has no choice but to omit" or it would be ten times thicker than it is.
The rub is, of course, that creating those frameworks, language compilers, etc., still does require knowledge of CS. Knowing how to operate a car is not the same as knowing how to design and build one. As a person advances in their career, more and more deep knowledge is required and they may find themselves hitting a wall mid- to late in their career because they never acquired these fundamentals. And, unlike tools, these fundamentals are built on each other so that one has to acquire one before going on to the next; you can't just skim a book on compiler design without the prerequisite knowledge.
So, it's kind of a gamble that their career trajectory is going stay in the space where they never need that knowledge. It's not necessarily a bad gamble either since there are always going to be such jobs but the risk should be understood by anyone intending to follow the poster's advice.
I'm about halfway through my career and I have seen something like that happen exactly once; the erratic behavior of the machine had my team scratching our heads for a fair bit until we ran memtest86 on it after running out of ideas. So I would say that it's not impossible, just extraordinarily unlikely.
The rest of your post I entirely agree with.
It's been a while since I encountered it but yes, mainframe time was so blisteringly expensive that usage was accounted for on a per-job basis and billed to individual user accounts. I don't recall the resolution or pricing anymore but students would be issued an hour or so (?) of processing time to complete their coursework per semester. Perhaps somebody with better recall than I can fill in the details.
As others have pointed out, you won't really get much out of it without having the necessary mathematical background and doing the physics exercises. The Mechanical Universe textbooks are still available on Amazon. If you prefer a more recent textbook, Serway's "Physics for Scientists and Engineers" is well regarded, as is Halliday & Resnick, though the latter is aimed more at career physicists.
[EDIT] Regarding the Feynman Lectures on Physics mentioned elsewhere, while Feynman indeed intended it for physics undergraduates, if you read his biographies and the views of his contemporaries, it was famous for being utterly impenetrable for actual undergraduates. (One might even say the FLoP was a flop.) It would probably not be a good idea to use it as your text; I've never heard of any undergraduate physics course that uses it.
Note that even the professional meters require calibration on a regular basis; for example the calibration schedule for the Fluke 975 for CO2 is yearly and for carbon monoxide is monthly.
This particularly works in companies big enough that internal transfers are possible; the text of the performance review should be specifically written with the idea that the next hiring manager will read it in mind.
Yeah, but that's something we should lament; we're stuck at a local maxima for both. The ability to try out new ideas and architectures has been curtailed because no competitor can get enough momentum to stay alive long enough to displace the entrenched incumbents.
- Typo - "principle goals" / "principle techniques" instead of "principal"
- Add accessibility and internationalization under non-functional testing types, with at least a brief mention of their importance
- Add mention of exploratory testing under manual testing as a valuable technique
- Most of your students will not be QA staff themselves in their careers, so a brief mention of the benefits and pitfalls of collaborating with dedicated QA personnel may be useful. A mention that the type of QA personnel varies highly by software subspecialty and size of the business (ranging from non-technical to CS degree holding specialists) may also be useful.
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.
For a gentle overview of how digital logic and CPUs work, Charles Petzold's book "Code: The Hidden Language of Computer Hardware and Software" is solid introduction. Nisan and Schocken's textbook "The Elements of Computing Systems" and the lessons at the NAND2Tetris site (https://www.nand2tetris.org/) are good if they want to get hands on with the subject.
There are a variety of robotics and electronics interfacing kits based off the Arduino and Raspberry Pi available through Adafruit and SparkFun. If they're more interested in the digital logic side, Digilent provides FPGA boards and test instruments intended for use in educational environments that also include tutorials https://store.digilentinc.com/the-zynq-book-tutorials-for-zy....
[EDIT] I've seen some recommendations for the video game Factorio in this thread and, odd as it may sound, it would not be a bad gauge of interest. Digital logic is all about getting the right signals to the right place at the right time and doing the right thing with them and Factorio definitely teaches analogues of that.
[EDIT 2] Another interesting project for them might be to build a computer from chips. Ben Eater has a design, tutorials, and sells kits for building a 6502 computer (Same CPU as the Apple II) on a breadboard: https://eater.net/6502. (Not sure I'd want to try that without a 5V tolerant logic analyzer but they're cheaply available nowadays, e.g. https://www.seeedstudio.com/Logic-Pirate-p-1750.html) Note that I don't vouch for any of these, they're just examples of what's available out there that your friend can investigate if it piques their interest.