I am currently an associate professor of Computer Science at Bucknell University in Lewisburg, PA. I started this blog back when I was a student going for my PhD. It quickly turned out to be a place to post articles related to my field that I thought would be of interest to students and faculty, particularly those interested higher education in computer science. I also share some personal reflections of my life pursuits.
Tuesday, December 07, 2004
Another one of those days...
Oh yeah, I know this isn't the most grueling, stressful job a person can have. I think being a parent is worse. But, I've always been told that parenting comes with many more rewards than stress. Well, maybe not all parents feel that way, but fortunately, my parents have said that... :-) I guess that's something else to be thankful for. Hey, what the heck is this, Thanksgiving? That was last week! I want to be miserable, and I can't even do that right.:-)
Thursday, September 16, 2004
Software bugs and the FAA
http://www.msnbc.msn.com/id/6021929/
Here's my favorite part:
"So what caused it all? Human error. Because of a software glitch in an FAA computer, a technician is required to reset the computer that controls the radios every 30 days — something that was not done. The FAA says they've known about the glitch for a year now — and that it exists at 20 other control centers across the country. Now, the FAA says they'll fix it within a month."
WHAT!?!?! The FAA relies on HUMANS to reboot the system every 30 days because of a software bug! And, as if that's not bad enough, they've known about this for over a YEAR now!
Reflecting back on my years as a software engineer in the private sector, I would sometimes get hounded by management and penny counters because my time estimates were sometimes deemed to be "too long" for their time frames. So, what would happen? The product would end up shipping before proper verification and validation testing was completed. It was justified using the excuse that, "We can just supply software updates at a later date." What was the result? BUGS! I worked on one project that had over a dozen software updates within the first six months of release. Why? Simply because it was released well before we said it was ready. But, fortunately, as they saw proof of what happens when projects are pushed too fast, we learned to work together on these fictitious schedules. :-)
I'm very thankful that I never worked on mission-critical applications that could result in a matter of life or death if it didn't work properly. I stress the importance of software engineering discipline with people with good reason. You may, one day, work for a company that develops embedded software for medical devices such as a pacemaker, or an X-ray machine, or software for an aviation control tower, or software to control a robot on Mars, etc. There is no room for human error with some of these devices, but as long as humans are developing software, there will be errors... that's a sobering thought. You can minimize the likelihood of bugs by following a structured discipline with your software development.
Friday, April 09, 2004
Purpose
I wrote what you see below during Spring Break, 2004. I was thinking about many of the students I have gotten to know over the past several months while teaching. I was just amazed at the range of attitudes I've observed since I've been here. Some have such respect for education. They refuse to let anything get in their way. Others are completely lost -- caught up in the partying, laziness, and the arrogance of boasting about how much they just don't care about anything -- a sad state. I also was thinking about my own conflicts I've come across, and how they've related to those of my colleagues. Anyways, I hope it helps someone...
Contrary to what I see to be the "popular" trend in college
today, I believe the following statement with every part of my being:
IT IS GOOD TO THINK!
Use your brain! That's why you are here -- to LEARN! Don't trust something to be correct just because you are told that it is correct. That's laziness and ignorance.
Think of your brain as a muscle. How do muscles grow? They grow through exercising them!(They grow through exercising more than your thumb muscle on the TV remote control.) Your brain is no different. If you want to learn, exercise your brain!
Then, expand your intellectual growth by challenging what you have learned.
Don't accept something to be right for you just because everyone else around you says it is right for them. Nor should you accept something to be right for you because someone else told you that it's right for you. You are different. You are unique. Accept that about yourself.
Every being on this planet has a purpose. It is what makes humanity beautiful. Figure out YOUR purpose. It's not what your friends say you should do. It's not the goals that your parents have laid for you. It's something unique for you. It's up to YOU to figure it out. If you want happiness in life, find your purpose.
Learning is the first step to finding your purpose...
Learning to challenge what you've learned in a manner that stimulates your own intellectual growth is the next step...
If you don't understand that the best challenges brought against what you have learned are almost always done by yourself, stick with the first step -- you will soon understand.
In this quest for knowledge and growth, allow yourself to be imperfect. Nobody is perfect. Allow the imperfections to help you in your path. Mistakes are just signals that can help guide you along your path.
What doesn't kill you only makes you stronger. I know that is so cliché, but it's very true.
After you graduate, who really cares about your GPA? Nobody! What will stick with you after you graduate is what you learned. The question you should be asking yourself after every semester is, "Did I learn anything?" If, after the semester is over, you left the class not learning a single thing, you wasted your (or your parents) money, and you wasted your time. It's up to the professor/instructor/mentor to teach, to inspire, and to present information to you. But, it's up to you to learn! It's up to you to take what you've been presented and run with it!
If you didn't learn anything, don't blame the instructor. (Now, before you get angry, be sure to read the next couple paragraphs!) You can still learn something even in classes that have the very worst instructors, if you want to. Just get yourself out of your box. Figure out ways to supplement the class with your own learning. Stop limiting yourself to learning only what the instructor is giving you. Read about the subject matter on your own. There are times when you have to take the initiative on your own and teach yourself.
If you hate the class, don't blame the instructor.... perhaps you're in the wrong field, and you are going after the wrong goals....
Now, don't misunderstand me. There certainly are cases where your learning style and the instructors teaching style mix like water and oil. Don't blame yourself. Sometimes it happens. If you know inside yourself you are doing everything you can to try to understand the material, then do what you need to do to get through the class, and force yourself to try to learn something through the process. Fight. Fight to understand the material. Force yourself to meet with the instructor and present your concerns in a constructive manner. If you just wine and complain to the instructor with nothing to back your concerns up, you're wasting your time. Professors and instructors appreciate students that show interest in learning the material, and most will try to work with you... even the "worst" instructors appreciate this.
If you didn't learn anything, perhaps you can take that as a signal to ask yourself a few questions, such as, "Why am I in college?" or "What are my goals?" or "What distractions did I have this past semester that got in my way?" or "Is this really what I want to do with my life?" or "Am I doing this to please someone else?" or "Do I need a new computer?" :)
These are just my own rambling thoughts after speaking with numerous students. I'm disturbed at the number of students that don't really know why they are in college. I'm not speaking about the small percentage of students that really don't care. (See my PS below.) I'm speaking to the students that are trying, but are still trying to figure out where they belong in this big picture. They don't understand what their goal is. They are miserable because they are doing something that they don't really enjoy. In my case, they come to me with no interest in Computer Science. So, I ask the obvious, "Why are you here?" I find out, after they are honest with themselves, that they are in my class because their high school advisors told them that this is where the money is. Or, perhaps it's because their friends are in the class, and they felt pressure to do it too. Or, their parents forced them into this field, usually because the parents want their kids to be financially secure. The excuses are numerous.
Going into something hi-tech purely because you know "that's where the money is," yet, you know in your heart you should be doing something else... you're setting yourself up for misery down the road. Life is about more than just having money! This field, as many find out, is not an easy field to be successful in. The classes can be difficult. We all know that learning is not always enjoyable. (And, neither is working, for that matter!) But, when you are doing something that you know is right for you, the pain of learning is irrelevant. The joy of knowing, inside you, that you are doing something that you know you're supposed to be doing actually makes the learning (gasp!) fun!
So, what's YOUR purpose?
PS - If you are a "student" here only to party, and you don't really care about learning anything, then stop wasting your parents money, leave the university, and get a job until you figure out what you want to do with your life.
Okay... I'm done. :)