Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Comment Prepared May Be Better than Involved (Score 4, Informative) 314

When I was in high school in my chem AP class, my teacher had set it up so that at the end of the year we all had to read a timely chemistry research paper that had been published in a major journal and prepare a presentation on it for the class. This may not be what you want to hear but from what I remember of my chem. AP curriculum, I was grossly underprepared to do any serious research. However, I definitely remember than dealing with both a research subject and the academic publishing style gave a lot of background for my future.

That said, I'm computer science not chemistry, so I guess I don't know how that would have turned out in the long run. Even though I'm not chem, I know that the experience in reading real research papers definitely prepared me for graduate and research coursework in college more than anything else in my time in high school.

That said, my minor is physics, so I do know a little bit about that as well. If you've done electromagnetism/electronics, I would encourage maybe giving your students an electronics project. It was nice to have a little practical lab after all that theory. An infinite field of one ohm resisters is one thing - rewiring your coffee maker with a job server is another (btw if any of your students actually manage to do this, send me an email). That said, many of your students (I was one) may really like theory and Maxwell's equations and vector calculus, so don't make the course too EE based.

Comment Re:As a young college graduate... (Score 1) 1316

What you describe is what happens when there's no standard of quality for output or the "engineers" themselves.

Oh, I disagree. I believe that software engineering is a discipline that produces a systematic approach to the development of software in the real world, which includes real world constraints. We are talking about different levels of quality. The optimal code in an academic environment is a very different breed than optimal code in a production environment. Honestly, if you don't accept that production environments are subject to a different set of constraints than academia, then I don't know how to convince you. Academia doesn't have clients, it doesn't have marketing, it doesn't have dynamic specifications - it's simply not the same process.

The decision making and design are certainly backed by analysis (you've heard of Gantt charts and UML diagrams, I assume), but these analyses have to take into account fluid specifications and time constraints and user testing, etc, etc, etc. Most of all, academic projects (for classes, your post indicates a Master's degree to me, but I could be wrong) are not long term commitments. There is no long term development and support and other things that software engineers have to deal with (just like any of the other engineering fields). Computer science is computer science and software engineering is software engineering.

Comment Re:As a young college graduate... (Score 1) 1316

SVN for revision control, JUnit for testing, and Design Patterns out the wazzoo.

In my experience, definitely the exception (except for maybe version control - i think everyone gets that version control is a great thing by now).

The fact that these tools are not widely used in CS I dispute, but even if this is the case, I submit that academics are in the business of research not delivering a product.

Exactly. This is actually the entire point of my post. Computer science is not delivering a product - software engineering is. Choosing an algorithm based on "reality" is not software engineering. Once again, youre doing what academics love to do (I'm one of them by the way, so Im including myself), which is optimize based on things like example data and various studies, etc.

Software engineering isn't about delivering a great product to a final user that everyone will buy (well ostensibly, but not in reality). In reality, software engineering is about figuring out halfway through your backend that microsoft made a bloody stupid error in .NET that's going to break your whole program, so to hell with it - we're going to hardcode this hack in to get this thing working. It's not elegant and its not optimal, but at least it works. Software engineering is about using a substandard algorithm because it's easier to understand and will make fewer problems in maintenance later. Software engineering isn't about making the best software for everyone, it's about making something that works most of the time and that a large group of people will buy. Honestly, I wouldn't have it any other way.

P.S. JUnit? What kind of compiler design were you doing in Java? Were you porting some interpreted language to the JVM (ala JRuby)?

Comment Re:As a young college graduate... (Score 1) 1316

As I tell all my PhD friends, research is nice but it sure ain't for everyone.

I couldn't agree more. My only issue is when people say that graduate degrees are useless or don't have an impact in the "real world." This is simply untrue - they simply stress different abilities than may be offered in undergraduate degrees or "on-the-job" training. Especially in CS, many people think that a Masters degree will make them a better software engineer and are disappointed and disrespectful when they find out that graduate degrees market a completely different skill set.

Both software engineering and computer science are useful fields that have a tangible impact on the "real world," they simply have different roles to play. A graduate degree in computer science is just that - an advanced study in computer science, not a programming course. Research may not be a part of that if you don't want it (in a Masters program at least), but I don't think that people should graduate saying they never had the chance.

Comment Re:As a young college graduate... (Score 1) 1316

While we don't require all MSCS students to complete a research thesis, some students pursue a departmental honor called a "distinction in research". It's a great option if you're at all interested in research or considering a possible Ph.D program or a career as a researcher. The goal is to produce work that is publishable in a journal or a conference.

http://cs.stanford.edu/degrees/mscs/classes/planning/

I guess it is not required for a masters degree, however every top level school that I can find gives the opportunity for research. Sometimes as a student you have to take the initiative and make the most out of your education.

At the very least, it is directly applicable in various areas of computer science, if not software engineering

The Master of Science degree in Computer Science indicates two things to prospective
employers. First, it guarantees that you have a broad grounding in computer science as a
discipline. Second, it certifies that you have studied a particular area in detail and thus have
additional depth in a particular specialty. Both components are important to the Masterâ(TM)s
program, and it is not possible to secure a Stanford MSCS degree that does not meet both
requirements.

Comment Re:As a young college graduate... (Score 1) 1316

You speak as though you've never been in a graduate program. Graduate programs in Computer Science are advanced degrees that confer a thorough and in-depth knowledge of computer science. I think the problem is that you confuse non-academic jobs with computer science, when really most of them are software engineering.

Computer science is an entirely different discipline from software engineering and even a BS isn't really focused on teaching you software engineering (bug tracking, version control, etc.). If you want to do software engineering, certainly don't consider a graduate degree. On the other hand, if you want to study computer science, by all means consider it. For example, one of the main areas of research that I am interested in is the development of implicitly parallizable languages that scale across many cores and processors. This is most definitely computer science, but definitely not software engineering.

There is a need for both, but the two disciplines are highly separate. Have computer scientists do software engineering and you end up with unreadably elegant code with no bug tracking or version control that only works as a "proof of concept," and have software engineers do language design and you end up with PHP.

Comment Re:easier blu-ray on linux? (Score 5, Informative) 176

We're working on it. Just to let you know, while I'm sure an official release will be useable, don't expect the raw source ffmpeg model to go out any time soon. I expect that bug fixes and features will be in the repository very quickly and if you have a need for these things, you should probably compile the code from source. You may also want to keep an eye on the mailing lists
http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-cvslog/
http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel/

Comment Re:Brit perspective (Score 1) 287

However one of the supposed 'great' things we exported was Democracy, as in the 'free' world, esp. the good ole US of A, which is a kind of democracy gone wild.

That's a little revisionist, isn't it? I seem to remember the United States having to fight a certain war of independence in order to establish said "free world." It is widely accepted that the United States is the oldest modern democracy still in existence, not the UK.

Comment Re:We need a destruction password in crypt! (Score 1) 767

Yeah... the lawyer's right here. The FBI will image your encrypted drive. If you then type your password in and in proceeds to the destroy the data, the FBI will then charge you with tampering with evidence, which they can prove.

P.S. What the hell's a "technologist"? I don't know about you but I am a "cryptographer" or a "computer scientist."

Comment Re:Wow... (Score 3, Informative) 767

No what the case was:

Oh, I see you have a laptop. I want to see what you have on it.

Yeah, sure. Here I'll open up the Z: drive for you.

Hey, there's child porn there - you're under arrest.

*Later*

Open up your Z: drive again so that we can show the court your child porn.

No, I plead the fifth.

You already waved your rights - we're not asking you to do anything new or different, just to repeat what you did before. The fifth amendment doesn't apply.

Slashdot Top Deals

The key elements in human thinking are not numbers but labels of fuzzy sets. -- L. Zadeh

Working...