Disney recently outsourced an IT department with 250 positions to overseas workers—but first, they required the people who would lose their jobs to train their replacements. Amazing.

For now, I'll leave the ethical and economic discussions to someone else. What I want you to take away from this, Computer Science student, is this question: how are you equipping yourself to create value in the workplace?

Students, this is not meant to discourage you, but to make you aware of the changing landscape in the IT field. Highly motivated people like you, some studying twice as hard as you, many willing to work for much less than you, are looking forward to the opportunity to eat your lunch.

What are you going to do about it?

Any position that can be reduced to a commodity-level responsibility is likely to change dramatically by the time you graduate with your degree. Offshoring used to be limited to labor-intensive jobs, but now (thanks to technology) it's expanding to "thinking" jobs as well. These are the jobs you're preparing for.

So, how should you respond? Learn to create value and solve problems. Be extraordinary. Whenever management makes the decision to keep or let go of personnel, they always consider the value that person brings to the organization. Since people with Computer Science degrees are plentiful, it's going to take more than just a diploma and a high GPA to succeed. It's all about working for your employer, customer, or client to create value that goes beyond your job description.

How will you prepare yourself to think critically, create value, and solve problems?
Computer grid.jpgTo my Computer Science students: your field is changing rapidly, and you need to be able to adapt. To do that, you need to stop thinking of yourselves as "programmers" or "IT guys" and start thinking of yourselves as problem solvers.

Here's an example of a potentially big change on the horizon: IBM Watson, a cognitive computer that draws conclusions based on semantic context of meaning (rather than rigid logic tables). It's not a solution to every problem, but it's a novel approach: click here to watch the 8-minute breakdown.

If it's not Watson, it will be something else. The tools of computer science never stay the same for long.

What does this mean for you?

Thinking of yourself as a "programmer" is like a carpenter calling himself a "saw-user" or "hammerer." The saw and hammer are only the tools he uses: what he does is solve problems.

It's the same for you: because of your training, programming is one tool in your toolkit that you can use to solve problems. In the same way, Watson's purpose is to augment decision-making (i.e. problem solving) capabilities. It's another tool in the 21st-century toolkit.

I teach a Technology for Business Decision-Making course that covers topics like this. I teach those students how knowledge and method are used in conjunction with technology to solve problems. These three things -- knowledge, method, and technology -- are all crucial in every field. The tools don't make the techie.

My vision for Computer Science majors is that you would all start thinking of yourselves as problem solvers. I would encourage you to keep up with current methods and tools for problem solving in your field. Your field is changing rapidly, and you need to be ready for it -- beyond the diploma.

Image credit:
Image by geralt [CC0 1.0 Public Domain Dedication (] via Pixabay
Robot hand I.eP.jpgI really enjoy consulting and coaching executives and other professionals, because it allows me to make a difference in the lives of others. There's nothing like that moment when their eyes widen and they say "I get it!" or "That's cool!"

I also get to experience this same thing with students in my Intro to Robotics course. This course isn't just a bunch of computer science geeks doing geeky things: I use it to prepare my students to work well, both in their personal and professional lives, by teaching them essential life skills.

I know teaching life skills through robotics sounds far-fetched, so I'm going to prove it below.

Robotics life lessons thumbnail.jpgIn this course, one of the exercises I teach is the After-Action Review. This consists of five questions:
1.        What was supposed to happen?
2.        What actually happened?
3.        Why did it happen?
4.        What did we learn?
5.        How can we do better next time?

On Monday, as I lead them through an After-Action Review, I wrote the answers to the final question on the board (as you can see on the left). The action under review was the students' preparation for their final in-class competition (which involved designing and building a robot in teams), but the answers they came up with also translate to work and life in general.

Note that these are not in order of importance or priority. They're all lessons learned. Here's what my students had to sayplus applies to best practices for life:

Continue Reading "Best Practices for Robotics Competitions, Work, and Life in General" »
Eric with CS328 Intro to Robotics students

Last night, the students in my CS328 Intro to Robotics course competed in their final robotics competition for the semester. They had to work in teams to design, build, and program robots to perform complicated tasks in a limited amount of time, and I'm very proud of what they've accomplished.

After the students presented summaries of their final papers, we set up for the more nerve-wracking part of the class. Each team was scored in four areas:

  1. How well their robot was designed and constructed
  2. How well their robot performed
  3. Ingenuity and problem-solving
  4. Gracious professionalism on the part of the team members, including teamwork and sportsmanship

Each team's robot competed twice and was ranked based on their higher score. In the end, two teams tied with a score of 1,800 (out of 2,000 points possible), so a final tiebreaker was held.

In my book, all the teams did well. It's much harder than it looks to design a strategy to match the tasks, design and build a robot for the purpose, and program the robot to accomplish that strategy. Getting their robots to complete this competition was a major test of skill for my students, so I say well done, class! It's been my pleasure to teach each and every one of you, and I look forward to doing so again.

Here are some photos showing the class and competition (click for larger images):

Team #6 sending their robot on a mission

Team 6 sends their robot on a mission

The competition underway

The competition underway

A close call by the judge

A close call by the judge

The teams with their robots

The teams with their robots

My students successfully designed and programmed their robots to operate devices, handle objects, and navigate obstacles. After the students programmed the bots and pressed the "start" button, the machines were completely on their own — no direct control of any kind from the competitors. Well done, students!

More on Robotics at The Master's College:

A Master's College student recently wrote a very nice article about the Robotics course I teach. She hit the nail on the head: critical thinking, creating solutions, analyzing problems, and communicating effectively are the real core of this class.
Beyond SciFi: Master’s students building robots on campus
By Emily Rader

By 9:30 p.m., the end of class had come on the first night of professor Eric Mack’s Introduction to Robotics course with hardly any notice from the students. The 17 computer science majors were so engaged in the course that to stay late to work on test robots in the lab was a no-brainer.

The opportunity to learn about robot application programming, make functioning robots and battle in robot competitions might intrigue anyone. However, a robotics class that simultaneously trains students in problem-solving and life skills from a biblical perspective makes this class unique to The Master’s College.

Click here to read the rest of the article.

Thank you, Emily, and all my students!

More on Robotics:

Getting a robotic arm to solve a puzzle might not seem like much, but two students in my CS328 Introduction to Robotics course have been learning how challenging stuff like this actually is. That's why I'm proud of what they have accomplished.

The classic "Towers of Hanoi" puzzle was invented by the French mathematician Édouard Lucas in 1883 and involves moving blocks or discs from one place to another according to certain rules. This is often difficult for a human to figure out -- just imagine programming a robot to solve it!

Here's a quick video of the robot in action:

The Towers of Hanoi is a common problem assigned to computer science students to help them organize their thinking about problem solving and iterative logic and most especially recursion.

The above video shows step one, which is to solve the problem by discrete programming moves. The next step, if they are up to it, is to take what they have learned and write the algorithms to solve this problem automatically. In any case, they are off to a fine start.

Yes, most of the equipment is older than they are, but it's all they need to learn the fundamentals. And it builds character!