Maureen Lecuona <[EMAIL PROTECTED]> wrote:
> Well. Both my undergraduate degrees (Mathematics, English Literature) are not
> Comp Sci, yet I found it rather easy to read books on Algorithmics and design
> and learn what I needed from these. I now have an MS degree in CS,
> but prior to that (for about 14 years) I never studied CS formally.
>
> From my own experience, formal study is unnecessary in design, but is quite
> necessary in algorithms, since these books tend to be more challenging and math
> intensive.
>
> I personally like Aho/Ullman and Corman/Rivest for Algorithms, and
> Gang of Four for Design Patterns books. For recursive mathematical techniques,
> I think the greatest is Knuth, Concrete Mathematics. I love
> that book.
>
> Maureen
I confess that I have a Master's of Fine Arts in English, and so I find
the credentials to be very double-edged: I get taken seriously as a
writer, but not so seriously as a programmer.
That's despite the fact that I worked for a small software company
for a year, for and with some programmers who were much better than
I. I learned a lot about data structures, and that gave me a leg
up into object-oriented programming (this was around the time of
the '286). And although I have some training in formal logic,
that isn't enough to really understand the rules of regular
expressions, for example, or finite state machines, because I'm
not sure I have the discipline for that kind of self study.
At least I know what I'm missing. I think it's analogous to reading
the Classics or learning a Classical repertoire in Music... it's
necessary to know the methodologies in order to know when you
can disregard them... and without that, any programming that I would
do, while competent, probably would be derivative.
> Laurel Fan wrote:
> >
> > Excerpts from linuxchix: 7-Dec-99 Re: [issues] Prototype vs. .. by
> > [EMAIL PROTECTED]
> > > I'm a graduate of the first type (Smith)... could you elaborate more on
> > > what an EECS-focused program looks like?
> >
> > CMU has both ECE (Electrical and Computer Engineering), part of
> > engineering, and CS (Computer Science), which is in its own division.
> >
> >
> > I'm in ECE, so that's what I know mostly about. The ECE curriculum is
> > designed such that students have a lot of flexibility in choosing what
> > courses to take. For the BS degree, (In addition to the 3 "intro"
> > classes) 3 Breadth courses are required in 3 of the 5 categories of
> > Applied Physics, Signals and Systems, Circuits, Computer Hardware, and
> > Computer Software, then 2 Coverage (basically any ECE class), 1 Depth (a
> > second class in one if the 5 categories), and 1 Capstone (picked from a
> > list of capstone (read "difficult and time consuming project") classes).
> >
> > (This is covered in detail at http://www.ece.cmu.edu/undergrad/overbs.html)
> >
> > So, basically, I took breadth classes in Circuits, Computer Hardware,
> > and Computer Software, then a whole bunch of stuff in Computer Hardware
> > and Computer Software, to cover the remaining ECE requirements and a CS
> > minor. I've never taken an actual course on design or software
> > engineering, but I've figured some out on my own and by learning from
> > project group members, since many of the classes I've taken include
> > semester long software (or otherwise) projects. There's basically 1
> > class on software engineering that's open to undergrads.
> >
> > CS, (http://www.cs.cmu.edu/csd/bscs/currreq.html), is not as flexible as
> > ECE, but it is possible to specialize a bit in areas such as AI,
> > languages, systems, etc. There are a few software engineering classes,
> > but most CS students also learn SE by having a big project thrown at
> > them. There is a group of classes called "Fundamentals of Programming",
> > but their idea of fundamentals of programming is formal languages and
> > logic. The difference between a CS major and an ECE major who takes all
> > of the "computer" classes is that generally the CS major will have a bit
> > more math-side CS theory, and the ECE major will have a bit more
> > hardware.
> >
> > Basically, neither CS or ECE tries to teach you how to code; they just
> > throw projects and theory at you and expect you to have figured out the
> > programming part by then. (There are 3 intro-type classes which are
> > prereqs for every CS class, but the first one is pretty trivial and the
> > third one is in ML, so they don't really help.)
> >
> > ************
> > [EMAIL PROTECTED] http://www.linuxchix.org
>
> ************
> [EMAIL PROTECTED] http://www.linuxchix.org
************
[EMAIL PROTECTED] http://www.linuxchix.org