Has anyone ever read Demon in the Freezer (about smallpox) or The Hot Zone (about Ebola)? (both of which are very good books) All I know is that any biological agent like Ebola or smallpox scares the hell out of me. I think it was in The Hot Zone (could be another book, I was reading all I could find about Ebola for a while) where there WAS an Ebola outbreak in the US that WAS airborne. Monkeys were dying in a lab and the best explanation for this was that the strain (Reston) was airborne. Luckily this strain is only KNOWN to affect monkeys. You can read about it here
Maybe I'm just being paranoid but it seems extremely dangerous to be playing with Ebola.
OO is most definitely fundamental. Getting programmers to wrap their heads around inheritance and other important daily programming concepts is essential to being able to do anything with the damned things. Try partner programming with someone who has coded C for too long and you'll see what I mean. I started out learning programming C++. In the past year year I've had several classes that are primarily C (some unix system programming and compiler design). While you can't do inheritance in C you can still use most of the OO ideas. Ie you can easily create private members/functions by using static in a file. I do agree with your assessment but C can done with the OO approach (just is harder).
I agree with you on the algorithm issue. My school teaches through mainly through C/C++ then some classes of Java and then some mattering of other ones. Probably for the first 2 years we wrote stuff accessible through the STL like trees, linked lists etc. We did this even those things were accessible to us just to understand behind it. After that we're pretty much free to use the STL (notable exceptions being the classes geared towards unix programming and Compiler design which use straight C).
There are certain things that C/C++ has advantage of over java. For example, I'm currently working on a project that implements different mathematical algorithm. To keep it readable to peers and to keep it efficient C++ is the best option. Java (while it definitely has improved) would be no where as fast with the interpreter.
What's my point? Not really sure... I guess my point is that limiting the program to one language can be dangerous. For example, in AI we used prolog and Lisp for knowledge representation and list manipulation respectively. In a course about programming language theory we used ada (because it is very strongly typed compared to others).
Once a student has learned the basic programming ideas I think it is important to show multiple programming languages. Each programming language has its strengths and its weakness. I think it's important to realize that different tasks call for different languages. If I want something tight and efficient I'll likely use C++ however if I'm writing a GUI environment I'll use Java (or VB.NET). And yes, the microsoft languages do have their advantages if only for the fact that many end-users are on it.
So yes, I agree with you that one can learn algorithms in java as easily has C/C++ but that can't be the end-all to the CS program either.
I'll admit their CLI is pretty crappy for file manipulation. However they have a rich set of instructions for system administration. In particular, their Active Directory (AD) CLI commands are actually much more useful than any GUI they provide for it. Heck, I have a 400 page book all about Windows system administration through the CLI (here)
That being said, I'm currently writing this on Fedora 8 so you should be able to guess my preference.
I agree. When I'm working on a project I'll use Anjuta just because it's very convenient for a lot of files being open. Also it has great syntax highlighting which helps immensely. (I know emacs can as well but I find it hard to look at). If I'm working on 3 or less files I tend to use emacs and do the whole suspend/foreground stuff. If it's a small change I'll choose pico or nano (depending on the environment).
So yeah, as the task becomes less I tend to use the more lightweight tools (and I know emacs isn't that lightweight but it's the first editor I used). That's an interesting point that you brought up. I hadn't thought of it before.
Bottom line, the university is not responsible for policing students. Taken on face value I agree with that statement. However, they are responsible for what happens on their premise. Ie Drinking underage. It's illegal in the dorms and if you're caught you'll be handed to the cops. That typically amounts to if you're stupid enough to be loud in your dorms. Did most people do this? Yes. Did I? Yes. However I'm not going to be angry at the university if I was caught. I knowingly did something illegal.
Part of your argument hinged on the stupidity of some of the laws. (Damn hippies and ruining drugs for the rest of us). I agree with you on that but part of being in a society is agreeing to follow the laws. If you do not like them that's fine. Do something about it then. However, that's between the government and you, not between the university and you.
That's my $2x10E-2
Here is the segment in question. It doesn't look as dire as what the summary makes it out to be... at least to me
SEC. 494. CAMPUS-BASED DIGITAL THEFT PREVENTION.
(a) In General- Each eligible institution participating in any program under this title shall to the extent practicable--
(1) make publicly available to their students and employees, the policies and procedures related to the illegal downloading and distribution of copyrighted materials required to be disclosed under section 485(a)(1)(P); and
(2) develop a plan for offering alternatives to illegal downloading or peer-to-peer distribution of intellectual property as well as a plan to explore technology-based deterrents to prevent such illegal activity.
Apple takes a similar approach by forcing change, ie floppy drives, the recent Mac Air no optical drive etc. Even though Apple takes a more extreme approach (my-way-or-the-highway versus my-way-or-you-pay-extra) this being slashdot it's because Walmart is EVIL.
I myself am currently a grad student and shall be graduating this spring. I can say that what you're talking about is where my university has not done a great job. Yeah, most of the teachers push for us to do good commenting but we don't spend a lot of time dealing with the same code over and over again. It's typical that after a project is completed (be it a month or semester long project) that we do not touch it again.
I think it could be beneficial if there was a project that spanned multiple classes during your undergraduate years. That way students (I'm including myself in this) would experience having to support a software program over time. There's nothing better than experience in my book.
you can do wired internet with the MacBook Air through the USB port. Ignoring the cost of everything (cause if you can drop the money for this laptop then I assume can afford the adapter) I wonder if you lose any speed with the ethernet-to-usb conversion. That would be a deal breaker for me (assuming there weren't any other deal breakers). Does anyone know if this is the case?
Thanks for the tip, I may try one of those just to get my feet wet. Editing config files doesn't bother me, I do that anyways to customize how I want the system to run. It does sound like freeBSD does a good job of providing a upgrade path to the next version.
I was using Ubuntu Dapper for the longest time but I found that the repositories didn't provide newer versions of certain software. Also since it was the long term support (LTS) version they didn't provide an upgrade path to the next one. It gets messy when the user starts updating software manually (I don't know how I stood doing it for Windows). But if I find Fedora doesn't do a good with upgrading I may be back to try freeBSD (or another version). I can understand not keeping older version entirely fresh, but if that's the case you should at least provide a path to upgrade.
I tried freeBSD 6.(2?) about a month ago and found myself spending a lot of time getting the system configured (upgrading xorg was fun). I'm curious if once you get it initially set up does it become more easy to maintain? I enjoy using the *nix type of system but don't want to spend most of my time configuring stuff (I'm currently on Fedora 8). Maybe I'll give freeBSD a go again in the future if it's easy to maintain.
splitting the department so that no one has these responsibilities is going to have one positive thing going for it: The consultants that come in to clean up the mess after the takeover are going to be set for a good long time. I was a student worker in the IT department (with the Website) of my university for my undergraduate work. What you says rings to there. Maybe 8 or so years ago (before my time) a new IT director came on board. The system analysts felt like he was intruding on their turf (not sure the specifics) so these system analysts were given to other departments (Financial Aid/Bursar/Registrar). There they did the projects under the umbrella of that department.
Fast forward till 2006-present. The IT department has a security team in place to make sure proper security is being done with IT related things. Basically making sure the university is following the best practices related to keeping secure information actually secure. Ie not sending SSNS through email, storing SSNs properly in database, using encryption where needed etc.
Well surprise but some of these system analysts, who don't have much IT oversight, are not following the best approaches. Not only that but probably 1/2 the applications I worked were because IT didn't have access to a particular application since they no longer were in control. Much duplication ensued.
I agree with you that it won't go very well. It's hard to have someone be a one-stop-shop for a department and everything run well or properly. Something has to give and it's usually the person will take shortcuts. Not necessarily the individual's fault, but it's real hard when you're the only one with the expertise of oversight.
Update:
Reading the wikipedia article it does mention that 'The Hot Zone' referenced the event. My memory remains intact for another day
Has anyone ever read Demon in the Freezer (about smallpox) or The Hot Zone (about Ebola)? (both of which are very good books) All I know is that any biological agent like Ebola or smallpox scares the hell out of me. I think it was in The Hot Zone (could be another book, I was reading all I could find about Ebola for a while) where there WAS an Ebola outbreak in the US that WAS airborne. Monkeys were dying in a lab and the best explanation for this was that the strain (Reston) was airborne. Luckily this strain is only KNOWN to affect monkeys. You can read about it here
Maybe I'm just being paranoid but it seems extremely dangerous to be playing with Ebola.
I think I've been in school for too long. When I read 'next year' I thought 'next fall'. Ugh
Congratulations. You made me both groan and agree with you at the same time. ;)
I agree with you on the algorithm issue. My school teaches through mainly through C/C++ then some classes of Java and then some mattering of other ones. Probably for the first 2 years we wrote stuff accessible through the STL like trees, linked lists etc. We did this even those things were accessible to us just to understand behind it. After that we're pretty much free to use the STL (notable exceptions being the classes geared towards unix programming and Compiler design which use straight C).
There are certain things that C/C++ has advantage of over java. For example, I'm currently working on a project that implements different mathematical algorithm. To keep it readable to peers and to keep it efficient C++ is the best option. Java (while it definitely has improved) would be no where as fast with the interpreter.
What's my point? Not really sure... I guess my point is that limiting the program to one language can be dangerous. For example, in AI we used prolog and Lisp for knowledge representation and list manipulation respectively. In a course about programming language theory we used ada (because it is very strongly typed compared to others).
Once a student has learned the basic programming ideas I think it is important to show multiple programming languages. Each programming language has its strengths and its weakness. I think it's important to realize that different tasks call for different languages. If I want something tight and efficient I'll likely use C++ however if I'm writing a GUI environment I'll use Java (or VB.NET). And yes, the microsoft languages do have their advantages if only for the fact that many end-users are on it.
So yes, I agree with you that one can learn algorithms in java as easily has C/C++ but that can't be the end-all to the CS program either.
Agreed, my point was just that windows's doesn't get a failing grade. (Maybe a low C or D) ;)
I'll admit their CLI is pretty crappy for file manipulation. However they have a rich set of instructions for system administration. In particular, their Active Directory (AD) CLI commands are actually much more useful than any GUI they provide for it. Heck, I have a 400 page book all about Windows system administration through the CLI (here)
That being said, I'm currently writing this on Fedora 8 so you should be able to guess my preference.
I agree. When I'm working on a project I'll use Anjuta just because it's very convenient for a lot of files being open. Also it has great syntax highlighting which helps immensely. (I know emacs can as well but I find it hard to look at). If I'm working on 3 or less files I tend to use emacs and do the whole suspend/foreground stuff. If it's a small change I'll choose pico or nano (depending on the environment).
So yeah, as the task becomes less I tend to use the more lightweight tools (and I know emacs isn't that lightweight but it's the first editor I used). That's an interesting point that you brought up. I hadn't thought of it before.
- Go here.
- Choose the browser you want and download.
- Unzip and click executable
I know that wasn't your point but it is very possible(a) In General- Each eligible institution participating in any program under this title shall to the extent practicable--
(1) make publicly available to their students and employees, the policies and procedures related to the illegal downloading and distribution of copyrighted materials required to be disclosed under section 485(a)(1)(P); and
(2) develop a plan for offering alternatives to illegal downloading or peer-to-peer distribution of intellectual property as well as a plan to explore technology-based deterrents to prevent such illegal activity.
Apple takes a similar approach by forcing change, ie floppy drives, the recent Mac Air no optical drive etc. Even though Apple takes a more extreme approach (my-way-or-the-highway versus my-way-or-you-pay-extra) this being slashdot it's because Walmart is EVIL.
Only helps my point of the quality of 'blogging'.
In that case ... shouldn't they be paying us? Joking aside, how are the bloggers' writing any better then what is found here?
Thanks, I'll keep then in mind if Fedora's too much of a pain to upgrade.
I myself am currently a grad student and shall be graduating this spring. I can say that what you're talking about is where my university has not done a great job. Yeah, most of the teachers push for us to do good commenting but we don't spend a lot of time dealing with the same code over and over again. It's typical that after a project is completed (be it a month or semester long project) that we do not touch it again. I think it could be beneficial if there was a project that spanned multiple classes during your undergraduate years. That way students (I'm including myself in this) would experience having to support a software program over time. There's nothing better than experience in my book.
Thanks for the tip, I may try one of those just to get my feet wet. Editing config files doesn't bother me, I do that anyways to customize how I want the system to run. It does sound like freeBSD does a good job of providing a upgrade path to the next version.
I was using Ubuntu Dapper for the longest time but I found that the repositories didn't provide newer versions of certain software. Also since it was the long term support (LTS) version they didn't provide an upgrade path to the next one. It gets messy when the user starts updating software manually (I don't know how I stood doing it for Windows). But if I find Fedora doesn't do a good with upgrading I may be back to try freeBSD (or another version). I can understand not keeping older version entirely fresh, but if that's the case you should at least provide a path to upgrade.
I tried freeBSD 6.(2?) about a month ago and found myself spending a lot of time getting the system configured (upgrading xorg was fun). I'm curious if once you get it initially set up does it become more easy to maintain? I enjoy using the *nix type of system but don't want to spend most of my time configuring stuff (I'm currently on Fedora 8). Maybe I'll give freeBSD a go again in the future if it's easy to maintain.
Is that like mostly dead? Have fun storming the castle!
Fast forward till 2006-present. The IT department has a security team in place to make sure proper security is being done with IT related things. Basically making sure the university is following the best practices related to keeping secure information actually secure. Ie not sending SSNS through email, storing SSNs properly in database, using encryption where needed etc.
Well surprise but some of these system analysts, who don't have much IT oversight, are not following the best approaches. Not only that but probably 1/2 the applications I worked were because IT didn't have access to a particular application since they no longer were in control. Much duplication ensued.
I agree with you that it won't go very well. It's hard to have someone be a one-stop-shop for a department and everything run well or properly. Something has to give and it's usually the person will take shortcuts. Not necessarily the individual's fault, but it's real hard when you're the only one with the expertise of oversight.
Pretty darn accurate, especially for a page that was modified last 3 years.