systems. It is damn hard. Aliasing, leakage, windowing, I/Q modulation, mastery of complex numbers. These are mostly notions that are unique to DSP (note emphasis on "mastery" of complex numbers).
If you don't understand it - at some level that you can express in words - you aren't an engineer, but a tinkerer.
If you can't articulate your understanding, you can't use math - or even jo ined-up logic.
Math does help a lot of people, but you do have to have some kind of insigh t to exploit it.
That just replaces a one-method-fits-all curriculum with another. People are different enough, that some need demonstrations, while others require a book, and still others learn only from an opportunity to question or discuss. Lecture alone doesn't suffice, and even the pause-able vid with discussion below isn't much more than a recorded lecture.
Some topics will grab the student's imagination, and projects or term papers allow them to follow that interest. Others need to have a subject assigned, or otherwise given a framework I once had an open midterm question of the form 'prove all the theorems you can about circles' in a non-Euclidean geometry. It was a good question (or maybe a term paper topic; it's hard to categorize).
In any sufficiently advanced subject, there will be need for recourse to a real library; the Wikipedia experience is good, but that plus following up on the references is better.
Youtube can't really cover the full gamut of educational experiences, like graded homework and chemistry labwork and oscilloscope adjustment. And, the YouTube artist doesn't see the live audience with puzzled expressions. When I was teaching, that was the only way I knew where my presentation was missing the targets.
When my son was considering to take extra optional math courses, preparing for a degree in software engineering, we talked to several practicing computing persons. I was flabbergasted to hear them assert that math was useless to them....
My son *did* take the options.
I was equally appalled when I discovered that another software person I had to collaborate with had never heard of state machines and regular expressions. Amazing.
I'm of the opinion that anyone who pretends to the title of 'engineer' should have a solid base in math, no matter what speciality. Math never goes obsolete.
When lessons are delivered by computer there is no need for an army of teachers repeating the lesson over & over year after year. It has become a foolish practice. It takes way fewer teachers can prepare lessons, thus one can cherry pick the best ones.
Or as you say, why use teachers in cases where you can get the material on youtube. You need a teacher present to answer questions, or on the other end of an internet link, perhaps to some developing country where labour is cheaper.
That doesn't surprise me. There is really no mathematical basis to programming, and "computer science" has very little to do with programming. I seriously offended the Dean of a big CS school at a big university by asking what sorts of programming they teach lately. "We don't teach programming!" she said with some intensity. That mostly ruined breakfast (grits and eggs.)
I guess some programmers might use a 4-function calculator to estimate the size of an array or a file, but what with virtual memory and terabtye drives, maybe not.
We always have to teach programmers about state machines. Which means we have to teach them how to program.
You need either math or simulation to analyze circuits and systems. You need instincts to invent them. The math and the instincts overlap some.
If you take a tennis course, you might sit down for a while and learn the rules, but you'll spend most of your time on the court.
--
John Larkin Highland Technology, Inc
lunatic fringe electronics
elivering a lecture they can answer the questions of a much larger class.
Except that the people who need the help tend not ask questions.
"Asking questions in class" is putting on a performance, and if you need he lp that's the last thing you are going to do.
Lectures back up by tutorials do work, and the people who give the tutorial s don't have to be the kind of performance artist who gives good lectures
- let alone the kind of lectures that looks good on video.
The best lectures I ever got - well-organised and complete - came from a gu y who always looked as if he was delivering a terrible lecture, and I didn' t realise how good there were until I started revising from my lecture note s months later, as the exam season got under way.
All the other lecture notes had to be topped up with sessions in the librar y, but not that course.
"Practical" programmers don't like the idea of program specifications that could be used to formally prove that a program did what it was supposed to do.
formatting link
has been around for a while. I'm not aware of any practical application.
They don't need to teach programming - it's not of itself a an intellectual ly demanding activity. They do need to teach people what programmable devic es can and can't do, and something about the useful things that they can be made to do.
Four function calculators do arithmetic, not mathematics.
Mathematics may let you work an arithmetic procedure whose results may help you get further
Or at least one way to program.
Invention has more to do with imagination than with any kind of instinct. A patent shouldn't be obvious to those skilled in the art, and anything that might be described as instinctive would presumably be obvious to anybody e lse who'd gone to the trouble of developing a similar "instinct".
"instinct" - the way people or animals naturally react or behave, without h aving to think or learn about it:
That's a very bad example.
Tennis is about getting your muscles to make the right moves at the right t ime.
Electronics is about putting the right components together, and while you d o have to get stuff together in a finite time, getting it assembled in the right way is a lot more important than the speed and elegance of the assemb ly process, and once a circuit is assembled, it looks after it's own behavi our.
To me, 'programming' is writing an algorithm into a language suitable for a computer to execute. Defining the algorithms typically demands math, and yes, instincts also play a role.
Quite a lot of what I write involves some sort of signal processing, filtering, feedback loops, the usual signals and systems stuff. If I can write it in C, fine, but if it's going into an FPGA, I usually delegate that. Not because I don't understand logic gates, but rather because I lack the patience to come to terms with the verbosity and the syntactic oddities of VHDL.
I have no idea how a software person can get by without an understanding of state machines.
That said, I'm more of an analog circuits guy, really. I prefer to diddle with low noise amplifiers, oscilloscopes and RF network analyzers, etc.
We (the engineers) usually define the algorithms for the programmers. at least the non-trivial ones, and we will often document that, as a Word doc or a whitebord photo. We design the hardware and code the FPGAs.
I distinguish here between procedural programming and hardware/FPGA design. They are very different, and different people tend to do them.
Me too. I'll design a digital PLL, maybe even simulate it, but I don't want to try to keep current with the bizarre FPGA and c tools and compilers and libraries and all that. It's enough work to keep up with all the new ICs and compound-semi stuff.
They can for lots of things, but not very well for realtime, embedded, often bare-metal stuff. They can do a lot of system calls and spin threads and stuff.
Me too. I used to do everything, but lately I delegate c programming and VHDL and Python test code. I like to design architectures and draw schematics. I do the critical parts of PCB layout but delegate the rest. Lots of products are too complex for one person to design efficiently. I do still dremel and solder; all of my engineers and programmers have their own test benches and oscilloscopes and such. We have a shared engineering lab that is rarely used.
I think it's good to have engineers (and not marketers) do the top level designs.
--
John Larkin Highland Technology, Inc
lunatic fringe electronics
Part of CICS was formalized using the Z notation in the 1980s and 1990s in collaboration with the Oxford University Computing Laboratory, under the leadership of Tony Hoare. This work won a Queen's Award for Technological Achievement.
formatting link
That it won a Queens Award indicates how difficult it is to /usefully/ apply formal methods to systems.
I greatly enjoyed thanking Tony Hoare for his Algol-60 compiler, when he gave us a talk in ~2000 :) Nowadays I'd also thank him for CSP which, although I knew about it, I hadn't had a chance to use at that time.
(Now it is easy: xCORE multiprocessors programmed in xC)
I'm horrified at the number of programmers that rely on "frameworks" that have /unwittingly/ "managed" to overcome the Byzantine General's problem.
Or those that think you can have an agreed "current time" to the nanosecond level in a distributed system. "Lamport? Who he?"
Or if you know maths, one way that is as powerful as all other ways :)
More seriously, many softies only have one tool in their box. They specify bolts using the same terms they use to specify nails.
They got introduced to the tools and the existing incomplete knowledge at college. Maxwell was around 30 when he formulated his famous equations which are these days taught in the style of Hertz/Heaviside.
We should all give thanks that we use Leibniz's calculus notation today rather then Newton's clunky fluxions forms. Though y' and y" live on.
Our physics course included a fair amount of electronics.
Yes it does! It's a rotation over pi radians of the unit vector. Vector rotation is what a complex (I/Q) mixer does. So it's DSP of a very elementary sort.
In the same sense that all computers are Turing machines.
How you implement your computing engine does make a difference.
The implication being that they can't be relied to specify matching nuts and bolts? Nail and bolts do have length and diameter, but nails don't have pitch, as in turns per inch/mm.
Considering some of the electronics that has got published in the Review of Scientific Instruments, there must be quite a few physics courses that don't.
AoE may have been written for the Harvard undergraduate physics course, but it's popularity does suggest that that particular market had been poorly supported for many years before that.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.