Re: whoever you hire, make sure it isn't a college graduate



On Sun, 30 Sep 2007 10:34:01 +0100, Malcolm McLean wrote:

The field is too immature to specify a set of core fundamentals that
everyone should know.

Not really sure I agree with that, Algorithms (including analysis of),
Data structures, complexity theory, set theory, some graph theory,
computer architecture, discrete math, one each of the various styles of
language, doesn't really matter which, at least some exposure to
assembler (possibly as part of computer architecture)...

Teaching whatever todays hot language is really is not important. Once you
know the general style, you can pick any language up in a month (At least
to a reasonable level of competence). It might be worthwhile doing an
explicit module on maintenance programming, and something major on the
requirements process would be good, as would something on software
reliability.

BTW: I do a lot of embedded, it might be interesting to see what desktop
oriented programmers think is important at school (and the big iron guys)?

A language is obviously essential, but should the
first one be Lisp, Java, C, or assembler?

Some of each, they all have interesting things to teach about approaches
to computer programming.

GUIs are ubiquitous, but very
time-consuming to build, and change all the time. They don't really
involve anything much that a set of subroutines doesn't. So do they
actually have a place in the course?

Probably not, as long as callback based models have been covered.

What about parallel programming?
Five years ago it would be safe to say that almost no-one would use it
for real, will that still be the case in five years' time?

Plenty of people were using it for real 5 years back, the requirements on
locking and synchronisation are the same for a multi threaded program as
they are for a parallel one. Now granted getting all those processors
fully loaded is still a research problem for anything but trivial
workloads, but that does not fundamentally change the point.

SMP desktops were around dating back at least to the P3 (I had one), and I
remember playing with an Inmos transputer board while in high school (the
local university had some boards, and I blagged access to one).

Regards, Dan.
.



Relevant Pages

  • Re: ZFC
    ... rather than the set theory itself. ... their lovely generalist theory is the true foundation of mathematics. ... is a lower-level language ... which contains a higher level programming abstraction ...
    (comp.theory)
  • Re: object system...
    ... for that you need machine language. ... isn't even as fast as other systems programming languages. ... Stroustrup's stated design goal was to enable ... all manner of elegance or abstraction can be sacrificed for speed, ...
    (comp.object)
  • Re: DirectX in HLA
    ... I guess that you have a great knowledge of DirectX ... > understanding by looking at them in assembly language... ... > actually represents, really, is a means to "undo" the OOP so ... > is NOT an "OOPL" (object-orientated programming language), ...
    (comp.lang.asm.x86)
  • Re: DirectX in HLA
    ... I guess that you have a great knowledge of DirectX ... > understanding by looking at them in assembly language... ... > actually represents, really, is a means to "undo" the OOP so ... > is NOT an "OOPL" (object-orientated programming language), ...
    (alt.lang.asm)
  • Re: LSP and subtype
    ... What is the class of problems solvable using UML? ... the language of physics cannot describe. ... whatever paradigm equivalent to 2GL/3GL ... there is still a great need for reuse and generic programming. ...
    (comp.object)