Archive for category Education

But God – software to the rescue

I have long been impressed by this short phrase. Many years ago, in the very dawn of computer-aided Bible study, a young pastor and faculty colleague said he was doing a Bible study on this phrase. He was using the dominant search tools of day – a paper concordance, and was cross referencing all occurrences of “but” with those of “God”. It was clear that this could well turn into a life long project (but occurs over 4000 time and God over 4700 times). So I pulled up the search on my new Bible search software on my IBM PC and discovered 48 verses in the English Standard Version.

This past weekend, my Pastor delivered a powerful sermon from Genesis 21:12 where God tells Abraham to send away Hagar and her son and that he (God) promised to make a nation from him. This phrase “but God” is a great way to find places in history in which God has intervened in a special way in order to accomplish his purposes in the world. I think one of the greatest occurrences of this phrase is Ephesians 2:3-5 which says “among whom we all once lived in the passions of our flesh, carrying out the desires of the body and the mind, and were by nature children of wrath, like the rest of mankind. But God, being rich in mercy, because of the great love with which he loved us, even when we were dead in our trespasses, made us alive together with Christ, by grace you have been saved.”

I decided it was time to put all these occurrences in a single place. So here they are, unedited (other than bolding the phrase) and without comment. Read them, meditate on them, and consider the greatness of our God to control the events of history in a way that ultimately brings him glory. Even in the midst of a world filled with death, disease, pain and suffering! To God be the glory. The Bible is HIStory!!

1. Genesis 3:3
but God said, ‘You shall not eat of the fruit of the tree that is in the midst of the garden, neither shall you touch it, lest you die.’”
2. Genesis 8:1
[ The Flood Subsides ] But God remembered Noah and all the beasts and all the livestock that were with him in the ark. And God made a wind blow over the earth, and the waters subsided.
3. Genesis 20:3
But God came to Abimelech in a dream by night and said to him, “Behold, you are a dead man because of the woman whom you have taken, for she is a man’s wife.”
4. Genesis 21:12
But God said to Abraham, “Be not displeased because of the boy and because of your slave woman. Whatever Sarah says to you, do as she tells you, for through Isaac shall your offspring be named.
5. Genesis 31:7
yet your father has cheated me and changed my wages ten times. But God did not permit him to harm me.
6. Genesis 31:24
But God came to Laban the Aramean in a dream by night and said to him, “Be careful not to say anything to Jacob, either good or bad.”
7. Genesis 45:8
So it was not you who sent me here, but God. He has made me a father to Pharaoh, and lord of all his house and ruler over all the land of Egypt.
8. Genesis 48:21
Then Israel said to Joseph, “Behold, I am about to die, but God will be with you and will bring you again to the land of your fathers.
9. Genesis 50:20
As for you, you meant evil against me, but God meant it for good, to bring it about that many people should be kept alive, as they are today.
10. Genesis 50:24
And Joseph said to his brothers, “I am about to die, but God will visit you and bring you up out of this land to the land that he swore to Abraham, to Isaac, and to Jacob.”
11. Exodus 13:18
But God led the people around by the way of the wilderness toward the Red Sea. And the people of Israel went up out of the land of Egypt equipped for battle.
12. Exodus 21:13
But if he did not lie in wait for him, but God let him fall into his hand, then I will appoint for you a place to which he may flee.
13. Numbers 22:22
[ Balaam’s Donkey and the Angel ] But God’s anger was kindled because he went, and the angel of the LORD took his stand in the way as his adversary. Now he was riding on the donkey, and his two servants were with him.
14. 1 Samuel 23:14
And David remained in the strongholds in the wilderness, in the hill country of the wilderness of Ziph. And Saul sought him every day, but God did not give him into his hand.
15. 2 Samuel 14:14
We must all die; we are like water spilled on the ground, which cannot be gathered up again. But God will not take away life, and he devises means so that the banished one will not remain an outcast.
16. 1 Chronicles 21:7
But God was displeased with this thing, and he struck Israel.
17. 1 Chronicles 28:3
But God said to me, ‘You may not build a house for my name, for you are a man of war and have shed blood.’
18. 2 Chronicles 20:15
And he said, “Listen, all Judah and inhabitants of Jerusalem and King Jehoshaphat: Thus says the LORD to you, ‘Do not be afraid and do not be dismayed at this great horde, for the battle is not yours but God’s.
19. Psalm 49:15
But God will ransom my soul from the power of Sheol,for he will receive me. Selah
20. Psalm 52:5
But God will break you down forever;he will snatch and tear you from your tent;he will uproot you from the land of the living. Selah
21. Psalm 64:7
But God shoots his arrow at them;they are wounded suddenly.
22. Psalm 68:21
But God will strike the heads of his enemies,the hairy crown of him who walks in his guilty ways.
23. Psalm 73:26
My flesh and my heart may fail,but God is the strength of my heart and my portion forever.
24. Ecclesiastes 5:7
For when dreams increase and words grow many, there is vanity; but God is the one you must fear.
25. Jonah 4:9
But God said to Jonah, “Do you do well to be angry for the plant?” And he said, “Yes, I do well to be angry, angry enough to die.”
26. Mark 2:7
“Why does this man speak like that? He is blaspheming! Who can forgive sins but God alone?”
27. Luke 5:21
And the scribes and the Pharisees began to question, saying, “Who is this who speaks blasphemies? Who can forgive sins but God alone?”
28. Luke 12:20
But God said to him, ‘Fool! This night your soul is required of you, and the things you have prepared, whose will they be?’
29. Luke 16:15
And he said to them, “You are those who justify yourselves before men, but God knows your hearts. For what is exalted among men is an abomination in the sight of God.
30. Acts 7:9
“And the patriarchs, jealous of Joseph, sold him into Egypt; but God was with him
31. Acts 7:42
But God turned away and gave them over to worship the host of heaven, as it is written in the book of the prophets: “‘Did you bring to me slain beasts and sacrifices, during the forty years in the wilderness, O house of Israel?
32. Acts 10:28
And he said to them, “You yourselves know how unlawful it is for a Jew to associate with or to visit anyone of another nation, but God has shown me that I should not call any person common or unclean.
33. Acts 10:40
but God raised him on the third day and made him to appear,
34. Acts 13:30
But God raised him from the dead,
35. Romans 5:8
but God shows his love for us in that while we were still sinners, Christ died for us.
36. Romans 11:22
Note then the kindness and the severity of God: severity toward those who have fallen, but God’s kindness to you, provided you continue in his kindness. Otherwise you too will be cut off.
37. 1 Corinthians 1:27
But God chose what is foolish in the world to shame the wise; God chose what is weak in the world to shame the strong;
38. 1 Corinthians 3:6
I planted, Apollos watered, but God gave the growth.
39. 1 Corinthians 12:24
which our more presentable parts do not require. But God has so composed the body, giving greater honor to the part that lacked it,
40. 1 Corinthians 15:38
But God gives it a body as he has chosen, and to each kind of seed its own body.
41. 2 Corinthians 7:6
But God, who comforts the downcast, comforted us by the coming of Titus,
42. Galatians 3:18
For if the inheritance comes by the law, it no longer comes by promise; but God gave it to Abraham by a promise.
43. Galatians 3:20
Now an intermediary implies more than one, but God is one.
44. Ephesians 2:4
But God, being rich in mercy, because of the great love with which he loved us,
45. Philippians 2:27
Indeed he was ill, near to death. But God had mercy on him, and not only on him but on me also, lest I should have sorrow upon sorrow.
46. 1 Thessalonians 2:16
by hindering us from speaking to the Gentiles that they might be saved—so as always to fill up the measure of their sins. But God’s wrath has come upon them at last!
47. 1 Thessalonians 4:8
Therefore whoever disregards this, disregards not man but God, who gives his Holy Spirit to you.
48. 2 Timothy 2:19
But God’s firm foundation stands, bearing this seal: “The Lord knows those who are his,” and, “Let everyone who names the name of the Lord depart from iniquity.”

No Comments

Words of wisdom from Launch Greenville

While a spring Saturday in lovely Greenville SC is not a good setting for a day long business seminar, here I am and here are some tidbits of business wisdom I collected while here.

- it takes a business to grow a product
- “greatest idea ever” has flaws; it will sell itself therefore no market research is done
- the idea becomes sacred; no changes are allowed; no room for improvement; it consumes you
- passion and talent are not linked
- know when to say no to working with a customer; finish what you started but know when to stop
- monopoly is sum zero; you get from others; does your business only get by taking business from competition ?
- life is sum positive; you get from the game; does your business get by generating something knew?
- money doesn’t generate money, it accelerates making or losing money
- pay attention to opportunities; Jim Anthony story
- learn hownto make others’ pain go away; create solutions that eliminate pain; this means I first have to learn what makes others hurt; listen then apply what I am good at to eliminate their pain

No Comments

iPad Reality – the joys and woes of the device

Being just a few short hours from having an iPad for my first week I thought it would be worthwhile to make note of my experience. I will do so using an expression I learned from a set of essays on software development. Fred Brooks, in his book The Mythical Man-Month, refers to “the joys and woes of the craft” as it relates to the art of software creation. For me the iPad is more about software than hardware. From what i can see the iPad has three noticeable hardware improvements over the iPhone – a larger display, faster processor and incredible battery life! These are certainly most notable improvements, but for me the thing that will define this device is the software. It has the potential to provide incredibly powerful human interactions with the device. I will begin my observations with my woes of the iPad.

Woe #1: a replacement for my notebook computer it is NOT; forcing me to now travel with three devices – iPhone, MacBook, and iPad, making my nightstand look like the electrical grid coming out of the Hoover Dam!

Woe #2: accessing the files I need is not a simple matter unless one stays tethered to iTunes on a Desktop or notebook

Woe #3: google docs don’t interface as well as expected. I have read this is due to a strong corporate battle between Apple and Google, trapping the users in the crossfire.

Woe #4: not all my iPhone apps run correctly. My blog app has crashed twice this week losing this blog! My Bible app doesn’t scroll.

Woe #5: the calendar will show only one of my five google calendars, perhaps another casualty in the Apple vs Google battle? (special thanks to my Worthwhile partner Dan Rundle for sharing with me an easy hack to this that was discovered by my other Worthwhile Partner Jonathan Pait!)

Woe #6: while you can project photo slideshows, videos and keynote presentations you still cannot display anything that’s on the screen.

Now for some joys I have experienced during this my first week on the planet with the iPad.

Joy #1: editing is so much easier with the larger display. The soft keyboard is much easier to use with fewer typos. Copy/paste is a snap. Moving the cursor is simple. All of these are joys over the iPhone.

Joy #2: keynote – create brand new presentations effortlessly

Joy #3: showing photos is an absolute dream

Joy #4: videos start playing almost instantly and the display is as good as my $2500 hi-def TV!

Joy #5: at bat 2010 is a baseball fan’s greatest game watching fantasy experience!

Joy #6: mobile-me brought all my iPhone contacts and bookmarks to my iPad.

Joy #7: the iPad makes you instantly popular on an airplane!

Overall I am very pleased with this device and look forward to the apps that will be created to enhance user interactions with digital media. I am counting on great software from the very talented team of creative bit builders at The Worthwhile Company.

1 Comment

Bit Building Contest Results

Not sure what a bit building contest is? Check out my post.

This year we had 28 students competing in a 3 hours contest attempting to solve 10 problems by writing computer software.
Here’s a sampling of the problems.

Miss Pelt – 74 solution attempts; 15 correct

Miss Pelt struggles with a compulsive misspelling habit.  Since she happens to live in the only known Alternate UniverseÔ in which computerized spelling checkers have not yet been invented, you have been called upon to write a program to help her catch her typos before they go public.  Only you can save her self-esteem!

Your program must read in a dictionary of known-correct words.  It must then read in a list of sentences and check each word in each sentence against the dictionary.  Finally, it should print out all the sentences, marking any words that were misspelled (i.e., weren’t in the dictionary).  You may assume that the words in the input sentences are separated by only whitespace and that all comparisons are case-insensitive.

Greedy Gift Givers - 21 solution attempts; 12 correct

This  problem  involves  determining,  for  a  group  of  gift giving friends, how much more each person gives than they receive  (and vice versa for those that view gift giving with cynicism).  In this problem each person sets aside some money for gift giving and divides this money evenly among all those to whom gifts are given.

However, in any group of friends, some people are more giving than others (or at least may have more acquaintances) and some people have more money than others.

Given a group of friends, the money each person  in the  group spends on gifts, and a  (sub)list of  friends to whom each person gives gifts; you are to write a program that  determines how much more (or less) each person in the group gives than they receive.

Leap Year – 82 solution attempts; 23 correct

The ancient race of Gulamatu is very advanced in their year calculation scheme. They understand what leap year is (A year that is divisible by 4 and not divisible by 100 with the exception that years that are divisible by 400 are also leap year.) and they have also similar festival years. One is the Huluculu festival (happens on years divisible by 15) and the Bulukulu festival (Happens on years divisible by 55 provided that is also a leap year). Given a year you will have to state what properties these years have. If the year is not leap year nor festival year, then print the line ‘This is an ordinary year.’ The order of printing (if present) the properties is leapyear–>huluculu–>bulukulu.

Write a program to process years to determine which leap year properties they exhibit.

Here’s the breakdown of computer languages which were used to solve the problems. The numbers represent the correct solutions. Each student selected their language of choice.

  • C++ (Windows) – 36
  • Python – 30
  • Ruby – 19
  • C Sharp – 8
  • C++ (Linux) – 7
  • Java – 4
  • Visual Basic – 1

So what’s the benefit of such a contest? Consider the following

Figures released by the US Department of Labor predict that IT jobs will see some of the strongest growth of any profession in the US by 2010. Demand for applications programmers is expected to grow by more than 100 per cent, and overall the IT sector is forecast to expand by over a third.

The contest helps us to encourage young people to consider a career in the bit business. It also helps us as we seek to show case the talent of our students to the bit business world. Finally, it helps my company identify and attract top bit building talent! That makes it very worthwhile. :-)

No Comments

20th Annual BJU Bit Building Contest

Today I am involved in an atom-building venture as well as a bit-building venture. While the concrete trucks pour yards and yards of atom-based concrete to lay the foundation for a duplex, 29 of my computer science students, aka bit builders, are working feverishly pouring out computer-based solutions to 10 challenging problems in a 3 hour head-to-head contest. The winner will be the one who is able to successfully solve (i.e. no known bugs) the most problems during the 3 hour contest.

I’ve been running this contest for 20 years. As a result we have 5 teams that compete at an intercollegiate level. We’ve gone from 16th place out of 40 some 10 years ago to usually ranking in the top 4 in the same contests. In some contests we consistently rank #1. So what’s a programming contest like? Consider a big game of chess, but instead of only 2 players, bring 30 to the table. Now, remove the chess board, forcing a game of purely mental chess. That’s what I think of when I think of a programming contest. Why do I call it a bit building contest? I like to contrast for folks the similarities between building with atoms (like a duplex) and building with bits (software). Everything on the computer is digital – music, photos, videos, web pages, software. To make something digital, say a piece of music, you represent the music with numbers, hence the term digital. While computers really only know 2 numbers – 1 and 0. These are called bits – binary digits (we love acronyms in computer science). Software tells the computer how to manipulate all the bits. Hence programming, creating software, is working with bits. So I call it bit building!

It is a purely mental activity involving

  • problem solving skills (reading, understanding, assimilating)
  • pattern recognition (hey, this problem looks like another one I’ve solved)
  • coding (speaking a language the computer understands – C, C++, Java, Python, C#, there are thousands)
  • debugging (fixing one’s solution until it generates the correct answers)

It is a skill that very few people care to develop, yet we are in a world that is depending more and more upon software – just consider all the challenges facing Toyota right now with the faulty anti-lock brakes and the sticky gas peddles – both software problems. So in the business world this law of supply and demand kicks in making the value of bit builders increase! One way to foster an interest in something is to turn it into a game or a sport. Hence the bit building contests! Let the games begin.

I also need to mention the sponsors, without which all we could offer to the winner is bragging rights. But with corporate sponsorship comes the opportunity to offer more – cash prizes, books, techie gadgets, etc. So special thanks to these corporate sponsors who help me make this event much more worthwhile! :-)

I appreciate the vision that these organizations have demonstrated by investing in our future bit builders! Thanks for your support!!!

Some of the results of this contest are now posted here.

No Comments

The Business of Computational Thinking

We (my computer science education world) are creating a new course for all of our liberal arts students to take that is intended to teach them what computation thinking is, why they should know it, and how they will use it. For more details on this, I refer you to 

I just came across a current example of how I applied CT skills to solve an immediate problem. I think it will help demonstrate what CT skills are and how they apply to our everyday life. Here’s the background on the problem I faced.

I enjoy competition. As a kid I loved playing Monopoly, Risk, Life, Stratgo. I can remember Risk games with guys in my neighborhood which would go on for days. It was a blast. The thrill of victory. Leaning how to deal with defeat. Working harder next time to avoid it! ;-) The other day I was watching one of these “Amazing Planet” shows where the focus was on animals of prey. They showed a huge crock laying a river as a heard of wildebeests ran threw. Then suddenly the crock lunges up and locks his massive jaws down on the leg of an ususpecting wildebeests. The commentator said “And the crock never lets go”. I got thinking about that as it relates to my bit business ventures. I like to lock onto a problem and never let go until the problem is no more. We’ll part of my education world allows me to track a select group of computer science students to intercollegiate programming contests. Part of this process involves creating a new problem set for each competition. The challenge of the problem set, a job for the judges, is to come up with just the right mix of problems that will

  • all be solved by at least one team
  • not all be solved by all teams
  • allow every team to solve at least one
  • keep the contestants problem solving for the entire length of the contest, usually 5 hours

Here are the pieces needed for each problem, usually 7-10 problems per contest

  • a concise written description of the problem w/o ambiguities (perhaps the toughest part)
  • sample test data with expected results to show an example, yet not give away all the potential “tricks”
  • a solution that solves the problem correctly for all possible valid input data
  • test data for the judges to use to test the student solutions – here’s where you try and catch the unexpected
  • expected results for the test data

So here I am working on my problem, the details of which must remain fairly vague for this blog since the contest is still a few weekends away, and I need to come up with some test data. The problem I created involves roads, Starbucks and distances. I wanted to have several thousand data points in the test. Here are the steps I followed to create the test data

  • using google maps I determined the actual distance between the 2 locations (part of the problem)
  • using google search engine I obtained actual street names, about 2800
  • using Excel I loaded the street names
  • the rest of the steps (3) involved using Excel to combine the street names with some other numeric data, the details of which I must keep secret for now :-)
  • finally I exported the data out of Excel into the test file needed for the contest

In all I spent about 10 minutes creating a test file of 2800 records that will be used in the competition. None of this required any “computer programming”. But all of it required using existing software to solve my problem. This is an example of what computational thinking is and how it will impact everyone’s life as they live and work in an increasingly computer technologically filled world in which problem solving advances to a higher level as people learn how to combine their creative minds with the power of computational processes. This is computation thinking!

I would also argue that I was “programming”. Of course not in the traditional sense of writing lines of code in some cryptic, non human, language. What is programming? It is communicating to the computer using language it understands in an effort to solve a problem. I was program. I was telling my computer how to use google search, google maps, and excel to solve a problem. This is programming. Using abstractions to solve higher level problems. Man this bit building is fun!! :-)

No Comments

A sci-fi book with a strong biblical basis!

One of my joys in life is to be involved helping grow the next generation of Christian young people to use their talents and interests in computer technology (or as I like to refer to it – the bit business) to bring glory to their Creator and Savior. I have seen more than 300 computer science and information technology grads. It is most exciting to see how God has blessed and is using them to accomplish their life purpose for his glory. One of them, Sam Batterman has published his first book this year called Wayback. I was priviledged to read the manuscript which at first I put off thinking it would be boring. Boy was I wrong! Once I read the first chapter it became a book I couldn’t put down. Sam has a very clever way of bringing you to the end of each chapter leaving you hanging at the edge of your seat wanting to know what will happen next! The story lines are very engaging, scientifically researched, and biblically accurate. Sam takes the issue of biblical authority most seriously as he takes the reader back on a time machine to the days of Noah to explore just how evil the culture was that would motivate God to judge the world with a global flood of massive proportions! The scientific team Sam assembled presents all the various views on this event based upon each one’s presuppositions.

Sam was motivated to write this book based on his belief that many Christians don’t think deeply about how important the Genesis account is to our faith. It is everything: how we started out, God’s love and desire for a relationship with his creation (in His own image), the rules, the breaking of the rules, the penalty and condition of man, and the promise to restore the
relationship through His Son. The Flood is the story of a world that was destroyed and then “rebooted” because of man’s sin. How that “reboot”
occurred is mind-boggling – not just a rainstorm or a local overflow of a
river, but the single greatest cataclysm our world has ever seen. Much of his support came from the tremendous work done by Ken Ham and Answers in Genesis.

If you are looking for a book that will get folks to think biblically while enjoying the creativity of great sci-fi, I highly recommend Wayback. Read it right away so when the video series comes out you can tell folks you read the first book in the series! :-)

No Comments

How to prepare for a programming contest

One of the joys I experience as a bit building professor (aka computer science professor), is taking teams of students to intercollegiate programming contests. Asked once what these events were liked, I said imagine a huge multi player chess game and then take away the chess board! In other words, very mentally challenging, but definitely not a spectator sport.

However the preparation for such a contest is in some ways similar to that of any other physical sport – practice, practice, practice. So how does one practice for such a competition? By writing computer programs to solves as many problems as one can in as short a time as possible. And being good computational thinkers, we know how to take advantage of the computer to help us!

Meet the UVa Online Judge, web-based tool to which you can submit your computer programming solution to a specific problem and the judge will almost instantly tell you RIGHT or WRONG. And this is precisely the feedback you are given during a contest. Very rewarding when you get it right, very frustrating when you have it wrong. You are not told why it is wrong. It is just wrong! Thus begins the arduous process of trouble shooting, trial and error, to try and determine why your solution doesn’t completely solve the given problem.

Here are some suggested “simple” problems in the UVA problem set to get started with.

These competitions prove to be some of the most engaging mental, problem solving activity the human mind can engage in! :-) Ready to get started? Here’s all you need to do

  • register for a free account on UVa Online Judge
  • pick on of the above problems and solve using C, C++, Java or Pascal
  • submit your results to the Online Judge
  • track your progress and get suggestions for other problems to solve based upon your performance here

For more information about the programming contests available to enter, check out these

1 Comment

Too Many BITs!! Help me see them!

Living in the information age has lots of exciting benefits and challenges. I like to think that working with bits, which are the basic building blocks of digital information, is a lot more fun than building with atoms, relics of the past industrial age. One of the challenges with so many bits is how to see them all? An exciting branch of computer science is starting to gain much attention in the business word. It’s called Data Visualization and its primary goal is to communicate information clearly and effectively through graphical means.

Last week I was pleased to have one of my former students, Sam Batterman, speak to my computer science students about this topic. Sam is a data visualization evangelist @ Microsoft. He is has been working with health care companies to help them make huge decisions about the future our our health care system through the use of data visualization techniques (another great example of the use of computation thinking skills in the 21st century). An interesting side note is that Sam’s new sci-fi novel (WayBack) is the result of his realization that no matter how much data you have to visualize, your presuppositions have a huge impact on your interpretation.

We’ll I just ran across a very fun application of data visualization that I think everyone can understand. It deals with word frequency analysis – a fancy term for “how many times does each word occur within a body of text?” I actually give my freshmen bit-builders an assignment in which they have to build a program which reads in a large text file of words and then tell how many times each word occurs. Well after finding this DV applicaiton, I think I’ll be modifying the assignment! :-)

Here are couple examples of this technique taken from the word frequency dv website.

These were generated from various sources of text – one of my computer science classes, my personal blogspace and my company’s blogspace .


In the past, the key to making good decisions is to have good information. But if you have so much information that you can’t absorb it then you will likely not be able to make good decisions. You need a company like Worthwhile help you make sense out of the bits. That’s why we love working in the bit business. :-)

For more of my blogs on the world of bits, just put in “bits” in my blog’s search engine.

No Comments

When the BITs comingle: Academic + Business

One of the blessings I experience as a professor of computer science and owner of a bit building business, is the opportunity to allow my students to experience a taste of the business world through The Worthwhile Company. I like to call this the “comingling of academic and business bits”.  I first saw the term “comingling of bits” in Negroponte’s Being Digital where he does an outstanding job of helping everyone understand the differences between the bit-based world and the atom-based world.

Last week I had my senior computer science and information technology students go on a tour of Worthwhile. I purposefully avoid being there so that they can see the company from a different perspective. They hear it from me for four years so its nice for them to hear a different perspective. I find its sort of like parenting – as parents we have seen the benefits derived when our children hear the stuff we’ve been trying to instill in their hearts from someone else. :-)

Here are some excerpts from the feedback I received from my students concerning the Worthwhile Tour. I share them because I believe Worthwhile is an excellent instantiation of the class  BitBuildingCompany! (sorry, can’t resist a little C++ lingo)

  • Despite the late hour of Monday’s tour (in terms of typical business hours), the first thing I noticed upon my arrival at Worthwhile was the presentation provided by Beth Honshell.  As a developer, it is not my nature to think about the way a business presents itself, but when clients come, first impressions really do make a difference.  Specifically, my “first impression” of Worthwhile headquarters was not the refreshments – it was the professionalism of the environment.  The building was extremely well-kept, and the big screen on the wall was immediately noticed.
  • From the moment we entered the door, the first impression we had of Worthwhile was excellent. The staff was cheerful and friendly, the lobby was clean and orderly, and the snacks were good. It was a good reminder on the importance of first impressions, and it was clear that Mrs. Honshell was an expert in that field.
  • My first impression of Worthwhile was given to me by none other than the Director of First Impressions herself. I am familiar with the concept of placing someone in charge of ensuring  that guest have a friendly and impressive first impression, but I’d never quite seen how useful it would be in a software development firm. Imagining myself as a non-tech oriented client, it was clear how comforting a warm friendly welcome would be.
  • If I were a client choosing between two software development firms, that good reception would be a definite factor in how I viewed each firm and ultimately my decision of which firm to hire.
  • My most prominent takeaways were two: the importance of first impressions and atmosphere, and the skill with which The Worthwhile Company presented both of these.
  • The next insight I gained was that the clients are not the only non-tech oriented people a developer will have to interact with.
  • Developers should be prepared to communicate with, at the very least, user interface designers that are not well versed in technical computer jargon.
  • The burden is on the developer to become familiar with the jargon of non-programmers in order to be effective in an organization.
  • I was pleased to see biometric security in use in the fingerprint reader.  Biometric security is not just a research topic but is actually being used to protect multi-million dollar data centers.
  • My favorite part was hearing from David Ruse with how he is involved in every step of the production, from the beginning when they are interviewing the client to when the final testing is done before deployment.

This tour helps me accomplish one of my teaching goals of helping my students bridge the gap between the academic world of bits and the business world of bits. It is most encouraging when the start to “get it”. :-)

No Comments

KCEA ‘09 To Twitter or Not To Twitter

I am pleased to be heading to the great Keystone State (PA for those who are a bit weak on their American history) for the annual Keystone Christian Education Association (KCEA) annual conference held at the lovely Willow Valley Resort located in the Amish lands of Lancaster PA. I am giving my Web 2.0 presentation in which I provide instruction to what Web 2.0 is all about and share some ideas on how they can incorporate some of these technologies into their classroom and relationships with their students. We look at things like – blogging, twitter, facebook, wikis, podcasting, social bookmarking, etc.

KCEA Web 2.0 Presentation – pdf format

KCEA Web 2.0 Presentation – ppt format

KCEA Web 2.0 handout

No Comments

KCEA ‘09 Computational Thinking

I am pleased to be heading to the great Keystone State (PA for those who are a bit weak on their American history) for the annual Keystone Christian Education Association (KCEA) annual conference held at the lovely Willow Valley Resort located in the Amish lands of Lancaster PA. I am giving my Computational Thinking presentation in which I provide instruction to teachers on 1) what is computational thinking 2) why it needs to be taught in K-12  3) how to teach it.

Here is past blog posting on this topic.

KCEA Computation Thinking Presentation – pdf format

KCEA Computational Thinking – ppt format

KCEA Computational Thinking Skills handout

No Comments

KCEA ‘09 Parenting by the BIT

I am pleased to be heading to the great Keystone State (PA for those who are a bit weak on their American history) for the annual Keystone Christian Education Association (KCEA) annual conference held at the lovely Willow Valley Resort located in the Amish lands of Lancaster PA. I am giving my Parenting by the BIT presentation in which I provide information and recommendations to parents on how to safely integrate Internet technologies  into their children’s lives in a way that brings glory to God.

Here is past blog posting from a presentation on this topic I gave to the teen parents at my local church.

KCEA Parenting by the Bit Presentation – pdf format

KCEA Parenting by the Bit powerpoint

KCEA Parenting by the BIT handout

No Comments

KCEA ‘09 Robotics Workshop

I am pleased to be heading to the great Keystone State (PA for those who are a bit weak on their American history) for the annual Keystone Christian Education Association (KCEA) annual conference held at the lovely Willow Valley Resort located in the Amish lands of Lancaster PA. I am presenting 2 robotics workshops in which the teachers will work in teams of 3 to build and program a Lego Mindstorm NXT robot. This is a great exercise for students as it gives them exposure to computer technology, computational thinking skills, team work, communication, problem solving – all the stuff they need to secure a job in the 21st century of the Information Age.

Here are some past blog postings about the robotics teams I’ve taken out to various high schools around the USA.

KCEA Robotics Workshop Presentation

KCEA Robotics handout

No Comments

Can’t See the BITS!

We all get frustrated when things don’t work. Personally I believe this frustration is meant to point us toward our Creator and His amazing solution – the Gospel! But the results of living in a broken world is very evident. Even in the BIT world. The world of ones and zeroes. Information. Computers. Websites. Logins. Security. All of the stuff of which the bit business consists. My life is very involved in both the teaching and application of bit business concepts to my students and my clients.

This morning I hit yet another frustration which got me thinking about how my company (Worthwhile) can help our customers and their customers avoid these frustrations. I am a member of ACM, a professional group of people interested in advancing computing as a science and profession. They have a very extensive online book store. There was a new book called The Twitter Book which I wanted to order for The Worthwhile gang. We’ve had lots of great discussions recently about the value of social media and how to bring real business and personal value using it.

It had been a while since I had logged into Safari Books Online, so after digging out the keys to store I attempted to login, but to no avail. No errors, no warnings, no entry, NOTHING! I simply couldn’t get into the store. Now, I teach an e-commerce class to MBA students and one of the “big ideas” we discuss says “when there’s a person who wants to give you money MAKE IT AS EASY AS POSSIBLE!”. We’ll it wasn’t easy for this this morning! I got to thinking about the parallel in the atom world (brick and mortar). If I hopped in my car, and you should see my new Crossfire SRT6 sometime – wow is it sweet, and drove down the street to Barnes and Nobles, I could see right away if there was something keeping me from getting into the store – could be the crowds, the roads closed for construction, traffic lights could be out, the store could be closed, the store could be out of business, a vast number of things would serve as visual aids to tell me why I couldn’t get in.

But things are often not so simple in the bit world. Though if enough creative thought and energy went into it, I believe they could be! I have absolutely no idea why I couldn’t get into the Sarafi store. Was it out of business? Was my car out of gas? Was it too crowded? Where they closed for inventory? I have no idea. I find that to be very frustrating.

The lesson – when building interfaces and websites and plug ins and apps and you name it, for the bit business, you need to have a team with experience and dedication to think about how to present interfaces in such a way as to minimize or even eliminate user frustrations.

I’m confident that our dedicated team of bit builders and bit designers at Worthwhile will continue to create great user experiences that will make our customers and their customers ENJOY rather than simply ENDURE our creations! :-)

1 Comment

BJU CpS 479: Stop Dating the Church

To all my senior CS and IT majors:

As we get together this final year of your undergraduate career, the purpose of this seminar is to discuss “life after graduation”. What will it look like? What else can you do to prepare for it? Where will you live? What will you do? More schooling? Get a job? Start a business? All of these (and more) are legitimate questions to consider this final year of college. But in my mind, the question that will determine the direction of your life from here is “Where will I go to church?”.

I find this such an important issue that I am giving all my seniors the book “Stop Dating the Church“. The purpose of this blog is to give you a place to report on what you read in this book. Share 3 things you found in this book which you believe are the most important for you to seek to apply after graduation.  Then share 1 thing that you disagreed with. Be sure to give your biblical basis for both – the things you agree with and the thing you disagree with.

No Comments

Computational Thinking – What is it? How will we teach it?

I am a strong supporter of liberal arts education. It is one of the reasons I am happy to teach where a teach – in a Christian, liberal arts college. I believe a liberal arts education does the best job of preparing a young person to be able to effectively participate in society. It gives them exposure to areas beyond just the one they might be specially gifted or interested in. As parents and students evaluate the increasing cost of higher education, one thing we need to market better are the benefits of a liberal arts over a purely technical education.

We have recently gone through a reevaluation and restructuring of what is called our “liberal arts core” courses. These are the set of courses which we want every graduate of our university to have under their belts. One of the courses which has been placed into that set is a computer science course. The next step is deciding what belongs in this course. The options are many:

  • computer applications – learning how to use word processing, spreadsheet, browser, email
  • computer programming – learning how to build software
  • computer setup and maintenance – learning how to select a computer, set it up and keep it working
  • Internet usage – netiquette, how to search, how to discern what is true in all the stuff out there, how to publish your own stuff
  • information management – learning how to manage electronic information or BITS

One of the topics which has taken hold in education circles is called Computation Thinking. What is it? The seminal paper on the topic is Jeanette Wing’s ACM viewpoint Computational Thinking. Here is a summary of the highlights of this paper. I put them here in the hopes that I can stimulate some thinking among my faculty as to what belongs in the core computer science course.

  • it is a way of thinking about problem solving which takes into account the strengths and limitations of computers
  • allows us to solve problems which cannot be solved by computers alone
  • allows us to solve problems which cannot be solved by people alone
  • probes the question “What is computable?”
  • it is a fundamental skill required by all, just as the famous 3 R’s (reading, riting and rithmetic)
  • a person doesn’t have to know how to write software in order to apply the principles of computational thinking to problem solving

Computational Thinking is:

  • fundamental skill for all
  • required in most 21st century problem solving scenarios
  • thinking recursively
  • using abstractions and decomposition
  • understanding the limitations of computers
  • thinking about prevention, protection and recovery from error scenarios
  • using heuristic reasoning to discover a solution

Characteristics of computational thinking

  • conceptualizing, not programming
  • fundamental, not rote skill
  • a way humans, not computers, think
  • complements and combines mathematical and engineering thinking
  • ideas, not artifacts
  • for everyone, everywhere

Jeanette ends here paper with a challenge that fits in well with the empahsis we’ve received this week during in service training – teaching our students how to think. “Professors of computer science should teach a course called – Ways to Think Like a Computer Scientist – to college freshman.

I implore your help to begin formulating the content for this new liberal arts core course in computational thinking. Add your comments below to help stimulate the creative juices God has given us all the ability to generate having been created in his image. :-)

Here is some recent (July 2010) material on this topic from ACM regarding inclusion of CT teaching in K-12.

Computational thinking (CT) is a problem solving process that includes (but is not limited to) the following characteristics:

• Formulating problems in a way that enables us to use a computer to help solve them
• Logically organizing and analyzing data
• Representing data through abstractions such as models and simulations
• Automating problem solving through algorithmic thinking
• Selecting a set of tradeoffs to achieve the most efficient and effective combination of steps and resources
• Generalizing and transferring this problem solving process to a wide variety of problems

These skills are supported and enhanced by a number of disposition or attitudes that may not be thought of as “thinking” skills but which may be another, essential dimension of CT.

These dispositions or attitudes include such things as:

• Confidence in dealing with complexity
• Persistence in working with difficult problems
• Tolerance for ambiguity
• The ability to deal with open ended problems
• The ability to communicate and work with others to achieve a common goal or solution

No Comments

The State of the Church

A good friend of mine, Ken Ham, of the ministry Answers in Genesis, recently hired a marketing company to answer the question “Why are young people leaving our conservative, bible believing, Gospel proclaiming churches?” The results of their 20,000 phone survey of 20-somethings is effectively presented in his book Already Gone, now in its 3rd printing within the first month of being published!

This Thursday evening, June 25 @ 8PM EDT, Ken is presenting the results of this survey in the first ever live video webinar from The Creation Museum near Cincinnati, Ohio. Being the computer guy that I am and friend of this strong biblically based apologetic ministry, I’m heading up this afternoon to be part of this event tomorrow evening. Here’s my request for those who are involved in a local church ministry or some other aspect of Christian education

  • if you can join us for the live webinar, please call 800-778-3390 and let them know you will be there – they would like to have a large studio audience – it helps Ken raise the level of his passionate communication rather than speaking just to a camera! :-)
  • for the majority of you outside the greater Cinci area, consider tuning in Thursday evening @ 8PM; just go to CreationMuseum.org and there will be a link to the live webinar
  • buy the book and read the results for your self
  • attend the Creation Museum during your summer travels – you will not be disappointed; it will challenge your thinking in all areas of biblical authority, not just creation; bring your family; spend the day!!

If you are a pastor, please share this event with your people during your mid week prayer service. :-)

Here I go, on the road again to Cinci – my car now goes in auto pilot! Go Reds! :-)

No Comments

Interface makes all the difference – well, not really

In my “9 qualities of worthwhile software“, I refer to user-friendliness as one of the qualities which makes software worthwhile. I ran into a morning battle with the bathroom faucet in my hotel room this morning which got me thinking more about the role interfaces play in the things we use all the time. All things we use have interfaces, and software is no different. These interfaces come in all shapes, sizes, colors, etc. Some seem to be easier to use than others, usually because they are more intuitive. Interfaces help hide the functional details that make a device do something useful for the user.

A faucet is one of the more universal and simple interfaces most of us interact with several times a day. In terms of functionality, they provide the user with the following

  • turn water on and off
  • control the amount of water flow (some might only allow on or off and no level control)
  • select between cold and hot
  • control the combination of cold and hot

Some “high tech” faucets might also provide the following

  • auto on/off via a sensor which senses the presence/absence of the user’s hands
  • specified length of time to be on in order to reduce the amount of unnecessary water flow, these are especially popular in high traffic areas – rest stops, airports, etc

So while all faucets provide pretty much the same functionality, the way in which they deal with this functionlity varies. For example

  • push, pull, twist, press, turn
  • separate the cold and the hot
  • continuous lever which combines cold/hot and volume flow at the same time

The one in my hotel was a single handle through which I could select hot/cold and volume. The challenge for me was knowing which way to move the handle to get the hot water I wanted. So what’s the big deal? It was labeled with an H (presumably for hot) and C (presumably for cold). My challenge was I turned it in the direction I assumed was hot, waited a few seconds, wasn’t hot, so I moved it the other direction, waited a few seconds, it wasn’t hot. I repeated my test of the interface and waited a longer period of time. Still not hot and didn’t seem to be even getting warm! Being the patient person that I am (NOT!!) I went to the other sink and turned on the hot water immediately. Before leaving the questionable faucet, I decided to extend my test by leaving it run in the position I assumed was most likely hot (don’t report me to the water usage department!). When I came back, several minutes later, behold, I had hot water! So now I know which direction is hot and which is cold. 

I stood there a few seconds analyzing the situation to determine if this was the fault of the interface design. Perhaps the interface could have been improved by adding a couple of directional arrows to the H and C? But in this case I believe my challenge came not from a poor interface design, but from a performance problem! The hot water took way too long for me to be able to quickly tell if I had gone the right direction. 

My point for bit building is this – don’t focus on a single quality of worthwhile software, they must all be taken into account together. The software interfaces must be intuitive, but the software must also perform well – not too fast, not too slow. Can software perform too fast? Absolutely, for certainly classes of functionality. Error messages are good example Users get very irritated if a program’s error messages appear and then disappear too quickly. 

So when looking for good software, be sure to consider all of the qualities, don’t just focus on a single one. My job @ Worthwhile is to teach our bit builders how to balance all of the qualities into a single software product. Its sort of like putting together a great orchestra – all the stuff must be in balance with the right timing. So interface doesn’t make ALL the difference alone. It has to be properly combined with performance, security, correctness, etc. For a complete list see 9 qualities of worthwhile software.

1 Comment

A Day in the Life of IronGeekWeek

Take 5 computer geeks + 1 camp in the desert + 50 computer users + lots of computer problems and out comes IronGeekWeek. It began 4 years ago @ Ironwood Camp, located in the high deserts of southern California. Georg (aka Worthwhile #1 bit builder) and I came out to help Dennis Mollet, Ironwood’s IT guy, solve several IT related problems (and probably introduced a few knew ones, unknowingly of course!). The goal is find ways to use computer technology to help the camp achieve its mission more effectively. We did some server & workstation upgrades, setup a backup system, setup an e-commerce store & migrated their major business application from Access to SQL Server. In short, a bunch of bit stuff.

We are back again this year, with some more resources – Georg Zimmer, Ian Wagner & Jaclyn Ong. Ian and Jaclyn are a couple of my computer science majors, just finishing their sophomore year. It is interesting to watch the reaction of the non techie people as they try to understand what in the world we are doing! They can see what the painters & construction crews do. They understand the benefits of the teams that come to help get the camp stuff ready for another summer of campers. But what are these geeks doing here for an entire week? And will my computer be the same after they leave! :-)

Here’s an overview of what we are doing, without all the technical mumbo jumbo.

  • listen to the IT related problems they have been having, looking for patterns, cause and affect, related problems, things that will save the most time and positively impact the most people
  • for each problem identified
  • 1. google for possible solutions
  • 2. analyze each potential solution, looking at pros and cons, costs, maintenance, etc
  • 3. presenting the solution(s) to each other & deciding which one(s) are worthwhile
  • 4. test driving the worthwhile solutions
  • 5. choose a final solution
  • 6. install the solution
  • 7. discuss the maintenance required to keep the solution going
  • move on to the next problem

The challenges are many. The opportunites are exciting. The search for solutions is invigurating. By the end of the week our hope is that we can walk away knowing that we solved more problems than we created! :-)

1 Comment