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
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