UVSC BYU U of U etc was"Software Engineering (was Re: Java)
brailsmt at yahoo.com
Fri Feb 16 10:16:40 MST 2007
I have to agree with Hans. I think BYU's CS program is excellent. I, at least, learned far more than most of my colleagues. When we swap stories about projects and things we did in our classes, they are constantly amazed at the breadth of concepts we covered. I have spoken with people from very good engineering universities, Missouri - Rolla, for example (Don't laugh, look it up). The education I received is very similar. The projects at BYU far outstrip many of the projects my coworkers had to do. I mention to them that we wrote our own networking stack at BYU, or own FAT12 filesystem, our own RPC, our own graphics processing engine from the pixel and scanline level up to 3D rotations, a Linux Kernel scheduler, Linux system call, modula-like compiler, etc... Well you get the idea. They always ask, "You did all that? I wish <insert university> did that with us. All we did was small projects and one senior project". I have had interviewers remark that they have worked with X number of engineers from BYU and they were some of the best they have ever worked with. I simply do not share the view that BYU is somehow a poor CS program that ill prepares its students as software engineers. BYU CS program is very fertile ground. The professors are open to letting us do those tangential things which Hans mentioned. I did nearly all my projects on Linux, eschewing the ready made helper libs that only worked on Windows, my grades might have taken a hit, but I learned a great deal more. The vast majority of the engineers here never used anything other than Windows for their projects, and some were actively discouraged from using Linux, apart from their one semester course on Unix. Stop giving BYU an undeserved hard time. Its CS program is excellent. If you were ill prepared while at BYU, I think you need to do a little introspection. If you just went through the motions, just doing the minimum to complete a project/assignment, then you would have a poor education from any university, despite probably having great grades. You would be ill prepared no matter where you went.
I think BYU did a poor job encouraging students to do internships with employers. I think they did a poor job helping with placement. I think they poorly prepared me to search for a job. But they did an excellent job teaching me what I need to know to succeed in my chosen field (once I got in).
----- Original Message ----
From: Hans Fugal <hans at fugal.net>
To: plug at plug.org
Sent: Friday, February 16, 2007 9:53:08 AM
Subject: Re: UVSC BYU U of U etc was"Software Engineering (was Re: Java)
On Fri, 16 Feb 2007 at 02:13 -0700, Scott Paul Robertson wrote:
> They still take CS as a Science. If you want server administration you
> go to the IT department.
BYU has a good CS program. BYU's CS deptartment is not a great vocational
programming program, and there's no reason it should be. If you're
interested in getting up to speed so you can go be a code monkey for the
rest of your life, BYU CS is not the place to do it.
If you're interested in a good university education in Computer
_Science_, which is at least as much theory as coding practice, BYU is
pretty good. If you're interested in Software Engineering, BYU is better
than some but probably not the best (at least wasn't, maybe the changes
spr mentions will affect that).
If you're interested in Computer Science graduate school, it seems to me
that BYU is an excellent choice. I have often found that what
I learned at school has little bearing on the knowledge or experience I
need for a job. I made/make most of my money doing system administration
(thank UUG and PLUG), VOIP (thank Jared Smith), web programming (if this
was a focus at BYU CS I would almost certainly have majored in music),
and C programming (C? what's that? We teach Pascal/Java/<insert
industry favorite teaching language here>). But my preparation for
graduate school, which based on my experience here at NMSU is nothing
short of "very well prepared", traces back strongly to my BYU time.
Undergraduate research, a strong focus on theory, lots of coding (yes,
you code a lot at BYU. I'm surprised at how little actual code people at
other schools write. That doesn't mean you learn to code _well_ per se,
but you do do a lot of coding), and at least in my experience the
professors were willing to let you go your own way if you had a good
idea and a dose of passion (excellent preparation for research
activities). I also attribute some of my preparation to what was then a
disadvantage - my tendency to go off on tangents and do cool things just
for the heck of it, regardless of what the assignment actually asked
Incidentally I consider the department here to be of good quality. We're
smaller than BYU's department, and the student body is perhaps more
uniform in level (you get all kinds from moderately intelligent to
brilliant at BYU, which is fairly unique). The dept. here is focused on
Linux/UNIX which suits me fine, we have some outstanding faculty (_the_
expert on graph theory was faculty here until he passed away a couple of
years ago), and it was rated far above BYU CS in one of those silly
magazine ratings when I was looking at graduate schools.
I can't speak as to whether BYU prepares you well for CMU, MIT,
Stanford, Princeton, Berkeley, etc. But for NMSU and similar schools
you're sitting pretty if you did well at BYU.
In summary, I've seen a lot of good coders at/from BYU. I've seen some
pretty lousy ones too. I've seen some people good at theory, I've seen
some people lousy at theory. If you want a good theoretical background
with a lot of coding practice (but perhaps not enough guidance, though
the changes may affect that), BYU is a place.
Hans Fugal ; http://hans.fugal.net
There's nothing remarkable about it. All one has to do is hit the
right keys at the right time and the instrument plays itself.
-- Johann Sebastian Bach
PLUG: http://plug.org, #utah on irc.freenode.net
Don't fear the penguin.
More information about the PLUG