Recursion works best on data sets where we do not know finite beginnings & ends, and the levels, stages, relationships, etc...are theoretically infinite. A common example is any data structure with a parent/child relationship. This can include a family tree, files on disk, job hierarchy, etc...
Knowing when to use recursion is as important as understanding how to use it. The same goes for iterative approaches. When working with very large data sets, the wrong algorithm can lead to slow, inefficient performance that dooms a project at worst, and slows it down at best.
A very costly common mistake I often see in the real world is when an iterative solution is used in a situation where recursion is the most efficient way to go. Testing with lazy problems like listing the numbers from 0-6 using recursion reinforces potentially bad habits and is almost as bad as teaching recursion using those examples. Simple examples are OK, but should represent the fundamentals that are bring taught.
A better problem for the AP exam would be to provide a problem and NOT tell the students how to solve it. Score the results on if the right algorithm was used and its correctness from there. In the real world, no one tells you how to solve problems, and for a college-level course, the tests shouldn't either.
If you're a hosted site with important data and your site is compromised, the first & best move is to cut the cord immediately. Contact Amazon (or whomever is hosting the data) and get all access shut down instantly and immediately, thereby ending the attacker's ability to do anything further. This will cause an outage, but at least everything is safe.
Working with Amazon, they can create a new account, give it a strong password, and begin cleaning up the mess with the new account (which the hacker will be unaware of). Now they can, at their own leisure, change passwords, administer accounts, delete crap created by the hacker, etc...Trying to outpace a professional hacker at their own game is a gamble that isn't worth it---especially if no offsite backups exist!!!
Lastly, they should be forwarding all of the email/attacker info to Amazon, Microsoft (Hotmail), and to the authorities. Whether they can be caught or not is up in the air, but odds are almost certain that this attacker has hit other sites and would eventually have different cases correlated to each other.
Safety & security of data is #1, fixing damage caused is #2, and accountability is #3. Securing the site against future attacks is part of #3---there's no reason to put the site up (or leave it up) and risk further attacks, thereby risking data loss or a security breach.
The law isn't the issue here---and the way the law reads, it doesn't apply anyway. Someone sent something your way by accident. It's not much different than if a bank plopped $1,000,000 in your checking account by accident, or if the electric company accidentally charged you too little or too much one month. Mistakes suck, but they don't entitle you to exploit them over it. In the same way the bank would get its money back (somehow), they have a right to get back a Vita sent to you in error.
I'd expect the company to pay for shipping to get their hardware back---and they'd have to expect lots of opened boxes along the way, but assuming that's no problem, anyone who kept the Vita is being selfish and asking for trouble. Mistakes happen...maybe one day when our computer overlords manage all purchasing, orders, and shipments, errors will be eliminated from society and this will never happen again. Maybe.
People constantly show mistrust towards robots of all shapes and forms. Science fiction paints a frequent mistrust of science & technology in general. Think of all your favorite sci-fi thrillers---how many had the robots, scientists, and tech companies portrayed as evil? I liken this to the mistrust by people of self-driving cars, or any other new technology that they don't understand, and therefore are scared of.
Let's flip it around for a sec---how much do you trust other people? Are people as predictable, trusting, reliable, and accurate as a robot? Odds are the answer is no. People are grossly inaccurate, often prone to mistakes, poor decision making, recklessness, selfishness, and many other flaws. This isn't to say that machines should replace people in any task---but that the mistrust of robots is more laid in mistrust of new/alien/unfamiliar things---a sort of xenophobia---rather than fear of inaccuracy or lack of reliability.
People are happy to entrust Google or Facebook with all of their private information in ways that would never have been accepted 20 years ago! Same goes for omnipresent smartphones, tablets, and implants. As technology moves further into our lives, that trust will naturally extend to areas that were once taboo or uncomfortable. Time is all it will take.
A timed coding test is an excellent way to determine how a candidate performs under pressure and will invariably lead to an opportunity for the interviewers to ask many relevant and interesting questions based on their performance.
Face it, anyone can write a program given enough time and resources, but it is a valuable & rare skill to be able to maintain one's composure and complete a program rationally and calmly in a limited period of time---ie in an emergency when time is limited (such as from a bug fix, changed deadline, staffing changes, etc...)
No GPS is perfect---and Google Maps was just as error-prone in its earlier days as well. I have been personally given faulty directions by GPS many times---Google, Apple, Mapquest, Garmin, Yahoo, Microsoft---you name the map service, I've gotten something funky out of it at some point---but I've never ended up mislead or in the wrong state (near home, or in the middle of nowhere). I've been told to go down 1 way streets, go the wrong way on the highway for 60 miles, sent to non-existant roads, etc...
How have I avoided dying in a ditch in Death Valley? Why do I not end up wasting an hour of my life lost in the woods? I look at the directions before charging blindly ahead!!! I always check the map before going ANYWHERE. I don't care if that requires 30 seconds more of my time when I travel, but it guarantees that I end up where I want to and not a victim of my own reliance on technology that is accurate 99% of the time. That 1% will eventually get you---law of averages is not on your side here!! Learn to read a map and understand where places are, and you'll be able to avoid disaster.
I know that Australia is BIG, and that fact alone should make you even more careful towards the technology that you use. If it were 100% accurate all the time, then I'd say charge blindly ahead happily, but it is not, and every manufacturer and software developer admits that this is the case.
If the "brilliant jerk" can learn and it's believed that they'll be able to grow with the company, provide greater value, and learn enough social skills to avoid being a detriment, then keep them, no question.
If they're unable to learn, though, and will simply be a hindrance for the indefinite future, then what I've seen work (especially in government work) is to have that person isolated. Keep them alone, make them feel special so they are happy and productive, and they'll stay away from people that would otherwise alienate or insult.
If none of this is possible...then perhaps the person needs to be given the stern warning that either they are "brilliant" enough to learn how to deal with people, or they should no longer work for your company anymore.
While I understand the mindset behind this legislation, enforcing it will be so prohibitively difficult, that I could see companies moving their sites to other states to avoid having to comply with it.
If taken literally, this law basically means that the web site will need people who are available and taking requests 24x7 from irritated users/companies that want other people's posts removed---and not just posts where a name isn't attached, but ones where they suspect that the name isn't accurate or that doesn't match their IP address/physical address.
The way I have always looked at it is that internet laws should reflect the rest of our laws. If I want to speak in public, I do not need to confirm my name, address, and phone number before doing so - free speech doesn't work like that. Legislators need to learn that throwing technology at something doesn't necessarily solve it.
Perhaps we can build a SkyNet to take care of this for us, then we'll never have anything to worry about again!
Lying in a sworn declaration (which some job applications are, though not all) is 100% illegal---no questions about it. In addition, the benefits you receive via your job that you have lied to get may constitute insurance fraud, and are also illegal. There are also a number of laws/acts that make falsifying information (in writing, or sometimes verbally) about your past illegal--especially if it has to do with military service or honors.
In 11 states, Illinois, Indiana, Kentucky, Maine, Nevada, New Jersey, North
Dakota, Oregon, Texas, Michigan, and Washington, misrepresenting parts of your experience---including college education---is a criminal offense. In 5 states, New Jersey, North Dakota, Oregon, Kentucky, and Washington, it is a felony that could be punishable with prison time. For completeness' sake, there are no generic federal laws that forbid lying about education - all are specific and address certain cases of lying, rather than saying that all lying is illegal, which would be over the top.
Lastly, many of the legal proceedings that occur after someone is fired for resume fraud can constitute perjury or violate state/federal laws if the person accused decides to take legal action against the company. This is also rare, but there are many cases where ex-employees have sued their former employer, lost, were counter-sued and also lost as a result of their legal actions. Not commonplace at that point, but still quite real.
Do employers sue over any of this? Rarely---usually they want the quickest way out with the least amount of fuss and money spent---but it has happened before. Either way, please check your facts before letting out your dramatic anger upon those you disagree with.
In fact, lying on a job application can, in fact, be a crime! When you apply for a job and are going through all of that paperwork---you sign at the bottom, and in most cases, what you're signing is to affirm the truth of what you have stated. This is true on the applicant history, your tax info, references, and so on.
You don't sign documents for nothing, nor does that signature exist solely to get you through a process of paperwork. Depending on the job and position, the degree of legality can be serious---lie on an application for the military, government, or a security agency, and you could be in serious hot water (beyond just being embarrassed)
I understand the (albeit dramatic) point you are trying to make, but what you've asked for a is a statute of limitations, after which one's crimes can be ignored. As you said, the company will decide in this specific case if 30 years was enough or not, but in general, there is no consistent precedent for what you are asking for.
I am sure if someone steals candy from a store and 30 years pass, that odds are no one will care, but more serious wrongdoings can easily be relevant, even years later. This happens all the time---getting away with something doesn't make it OK or absolve you of it. People are brought to justice (or at least brought public if it is too late) all the time to answer for what they thought they got away with.
I'm not condoning harassment or hypocrisy, simply stating the facts---and you certainly do not have to like them, but civilization doesn't survive through corruption & lying. People certainly make mistakes and we are all aware of that fact all the time, but that simple fact doesn't make our mistakes OK. We're still responsible---you, me, everyone, and if we mess up big time, then it's on us to answer for what we've done.
For what it's worth, think how it'd be if you applied for a job and lost out to someone that lied their way through and got away with it. That's a lot of changed history that could affect the rest of your life. Maybe many other lives. It's far from negligible and you do yourself a great disservice by using semantics to throw away a very valid point.
No one's saying that anyone has to be perfect, or even close to perfect---but people are still accountable for their actions.
As soon as you toss that away, and as soon as you allow the "everyone is doing it" mentality, you open the door for people to "make mistakes" but not care if they're right or wrong---in other words, you take a society that is (by nature) imperfect, and make it even more flawed. The worst crimes and acts of group stupidity in history were because people were allowed to follow each other off of a cliff without thinking twice about their actions and what they mean.
No one is perfect, but at the same time, people can do the best they can and avoid making as many mistakes as possible (and then learn from those they do make). Lying about your job or education experience is blatantly wrong, everyone knows it, NOT everyone does it, and many people that do will get caught, just like any other crime.
And for those that do not get caught, then I suppose good for them for getting away with it, huh? Maybe by not learning the lesson the first time around they'll get caught doing other (or worse things) later in life, or maybe they'll never have to do it again.
***Beyond the speculation, though, is that the simple fact that crimes are not justified by the fact that others do them. Being imperfect is not an excuse for making mistakes. It may be a fact of life, but it isn't a defense, an excuse, or any way to justify poor judgement. When mistakes are made, people are responsible & accountable for them, and I can care less of it's an average guy or a CEO***
The attitude here is that, if everyone else is doing it (however you define "everyone else"), then it's OK for you to do it, too.
Lying is lying---it doesn't matter if it's a recent college grad or a CEO. Justice has nothing to do with how much you make or how high you've climbed in life.
The only difference here is that someone got lucky and no one caught him sooner. Just because you get away with a crime doesn't mean that it suddenly isn't a crime. This guy deserves the flak he is receiving on all fronts and I have no sympathy for him any more than I would have had he been caught when he first lied about his education.
If you don't want to get strung up as a liar, cheater, and thief, then don't do those things in the first place. It's so simple, and some people never learn.
A man is known by the company he organizes. -- Ambrose Bierce