Author Archive

What’s in Your Future?

As you know, the world is quickly becoming more and more involved with all things digital. Businesses are assumed to need a robust Web presence, police rely on digital databases, schools are experimenting with replacing textbooks with digital course support, and on and on.

A lot of this goes on behind the scenes. There’s a lot more to it than texting, online shopping, and streaming media. For example, Amazon now sells cloud services to support the Web operations of other businesses and the federal government. And they are developing self-guiding small helicopter drones to do deliveries of smaller packages in US cities (thus eliminating a bunch of driver jobs, I expect–now there’s some food for thought).

The point is that to function effectively in the future world, and to take advantage of new opportunities, you will need to know about how to work with information technology. Everywhere, I’m hearing about how educational institutions, businesses, and government are looking to hire people who can work effectively with information technology. This means full-time computer professionals who set up and maintain networks, or who analyze huge mountains of data, or who design web sites, or who know how to set up automation systems, etc., etc. But it also means accountants who can write short computer scripts to customize accounting software to a local situation, or small office managers who can maintain and reconfigure a local computer network without having to call in an expensive service company, or a teacher who can intelligently set up a lesson on the new tablets that the school district is trying out, or a park ranger who can create a self-guided tour map.

This is not just about programming. The majority of computer professionals are not programmers. They are doing all sorts of things besides programming. But knowing something about programming is really helpful just to get a basic understanding of how all this stuff works.  Learning Java is a possible place to start messing around with programming.  Or, if you think you are going to be in the business world, you should learn to write macros in the Excel spreadsheet software.  (Macros are little programs that enable the software to do some specific task you want it to do.)

You get the point, I hope. Opportunity is greater for those who know more, who have skills, who can think in computerese.

Some students I know have learned quite a bit of computerese on their own, from books, free online courses, YouTube videos, and their friends. But most people reading this post — which probably means YOU — will not do any of those things on your own, simply because it’s hard to get motivated and stick with it on your own unless you’re really an independent, committed sort.

So, for most of you out there, to get up to speed, you really need to part of a class offered by ISU or some other traditional institution. Find something that seems interesting and potentially useful. At ISU, there are three main areas that offer courses that might do the trick:

  1. For College of Business majors, check out the courses in the Business Information Systems or Accounting Information Systems sequence.
  2. For students with any major, check out beginning courses in the School of Information Technology.
    1. An introduction to the majors and minors offered in the School can be found here.
    2. The main beginning courses are programming courses in Java: IT 168 and IT 177.
  3. For students with any major, check out the beginning courses in the Computer Systems Technology sequence offered by the Department of Technology, such as TEC 151.

ISU students who want to talk about these things, or would like some advice, feel free to write me anytime: Kenton.Machina@IllinoisState.edu

This blog will be taking a rest soon. Thanks for reading!

Best wishes to ISU students, for a good semester’s end.

Advertisements

December 2, 2013 at 12:46 pm Leave a comment

Chinese instruction manuals

Okay, so you’ve just bought some gadget made in China, and you can’t figure out how to use it, or put it together, without taking a quick look at the instructions. But your gadget doesn’t carry a big brand name, like Apple. Instead, it’s made by a small exporter who doesn’t want to pay a native English speaker to write the instructions. Trying to read the instructions leads either to frustration or laughter–whoever wrote them was clearly not proficient in English. Probably most of us have had this experience, although I think the situation may be getting better over time.

Machine translation from one language into another is motivated by problems like these. People sometimes want to be able to read a Web site not written in a language they understand. Or they want to do business with people who speak only another language. Or maybe they would like to travel to a country whose language they don’t know.

Computer scientists and linguists have been working for years on trying to get computers to translate from one language into another. And they have made tremendous progress from the early days. You can get apps for mobile devices that do a good job of translating short sentences not involving novel word usage. Some browsers have built-in translation ability for Web sites, and these sometimes produce results that are good enough to make sense of the site.

But language processing is one of the most challenging aspects of artificial intelligence. When we write things to our friends, we assume all sorts of unspoken things, like nicknames we use for others, or a context that determines which meaning an ambiguous word has. The machine doesn’t know about those things, and will probably screw up any translation of such things because of that. Suppose you say, “I’m going down to the bank with Big Fuzzy to try to catch something.”  You are probably not going to a financial institution to make a withdrawal, and only your friend knows who or what Big Fuzzy is.

Google Translate is one of several free translation services available on the Web. Try it out right now to see how well it works for you, at translate.google.com. Just type some English sentences into left box on the site, and choose a language for the right side box, and click “Translate”. The translation appears in the right side box. Maybe try Chinese. Then, you probably want to check to see how well the system worked. You can just click the “Switch” button, to make the translation go in the other direction, back to English, but I don’t trust that method as a good check. Instead, to try to prevent the system from “cheating”, copy the Chinese translation into the box on the left, and run the translation back into English on the right. See if you get back the English that you put in at the beginning. (Chinese is a good choice if you want to make the system work hard, since the grammatical structure of Chinese is very different from English.)

If your English sentences weren’t too complex, the system may very well work well for you, and that would be pretty impressive, assuming you know that word-for-word translation simply does not work. The machine has to do a lot more “thinking” than just looking up individual words in a big dictionary.

To give Google something harder to work on, I asked Translate to put

“All living creatures classify objects and aspects of the world, in the sense that they treat some stimuli as more alike than others”

into Chinese, and then translate the Chinese back into English. This is what I got:

“All taxonomic objects and aspects of the world, in this sense, they treat some of the stimulus are more similar than others”

So, maybe that instruction manual for your gadget wasn’t written by someone who understands English poorly. It might have been Google Translate that wrote it. Apparently there is still some job opportunity for human translators!  And there certainly is a job opportunity for human beings who love language and who understand something about how computers work, to help make systems like Google Translate work better. And that would be a good thing, I think.

If you are able to generate a funny translation of something using Google Translate, why not share it in the comment section below?

Kenton Machina

October 24, 2013 at 2:16 am Leave a comment

Blending computing with other fields

In the last few years, I’ve noticed that many creative people who are not professional computer scientists or information technology specialists are adapting computer science techniques to produce new things in their own fields of interest. A simple example in Bloomington was reported a few months ago in the local paper: the owner of a drive-through car wash wrote an app that his customers could download onto their phones that would allow them to make car wash choices and pay for washes from their phones when they drove up to his car wash. This bit of extra convenience for the customer might just give his car wash a little competitive edge, and the fact that he could figure out how to write his own app meant that he didn’t have to pay someone else to do it–someone who would be unfamiliar with the car wash controls.

OK, so maybe the car wash example doesn’t have a lot of flash to it, and you are yawning. How about this, for a totally different example: blending computing with the arts. The special effects in movies and concerts are easy examples — all are completely dependent on computers. How about music: I know a musically talented ISU alum who works as a software architect for State Farm Insurance company–his major was Accounting and he had only a minor in computing. He creates music in his off-time, and he has often worked on the computerized control work for Usher concerts set up.

Here’s another artsy example that I find really fascinating: an artist programming a computer, using the computer “language” called “C”,  to generate an artistic light show of gigantic proportions on the San Francisco Bay Bridge.

Check out the video here!

This is not something the artist could have simply hired out to some programmer — the art is created by the programming. Maybe he had help from a professional programmer — or maybe he took some computer programming courses. But for this artist, programming was the tool used to create the art project, much like a set of brushes might be used by a painter.

A few weeks ago I wrote about using machine learning to help premature babies in the hospital. That’s another example of blending computing with another field–in this case, medicine. That example involved a computer scientist, but that system could not have been developed without involving medical professionals who knew enough about computing to be able to contribute intelligently to the project. Many projects that blend computing with some other field are like that — they involve teams of people with different backgrounds and differing levels of computing knowledge, working together. My own first job in graduate school was like that–I was a member of a team working on computer translation of Russian into English. I was not then, nor am I now, a computer scientist. But I knew enough about computing and about linguistics to be a member of the team. Maybe this sort of thing will be an opportunity for you in your own future if you get at least a little background in computing. Not everyone wants to be or is cut out to be a professional, full-time computer programmer, but more and more there seem to be opportunities for non-professionals with some computer skills.

Comments? Maybe you know some other stories you want to tell in the comment section below.

Kenton Machina

October 10, 2013 at 1:18 am Leave a comment

IT Helps Save Babies

To lSU MAT 120 students–welcome to this term’s blog!  To all our other readers thanks for checking us out again.  We’re back, and will be posting until late November. So, with that said, let’s get started with something that might interest you.

I was surprised to learn that more than 500,000 babies are born prematurely every year in the US. That probably means some of you who are reading this post were born prematurely, and survived, and some have siblings who were premature. Being born prematurely raises the risk of major health problems for the baby even death. So, this can be a big deal.

In most US hospitals, there is a special unit that evaluates and monitors premature babies. The continuous monitoring uses sensors attached to the babies, to measure things like heart rate, respiration rate, and blood pressure. For years, this data has been quickly scanned by doctors, courses of treatment were determined, and this process helped to save the health of the babies. But the process is time-consuming, and it is easily possible that subtle signs of impending health issues get missed.

Lately, computer scientists like Dr. Suchi Saria have been developing a more accurate and more helpful way to do this monitoring, using IT. They have been feeding massive amounts of old monitoring data from many premature babies into computers for analysis. Along with the monitoring data, they also feed data about how well the babies did, and what problems the babies encountered.  Then, they are using the principles of machine learning to analyze the data, letting the computers “discover” patterns of association between the various pieces of data.

Dr. Suchi Saria

Dr. Suchi Saria

The amazing thing is that they are not telling the computers what specific patterns to look for. So, these computers are not programmed in the way that people usually think computers are programmed. Instead, the machines are programmed to search on their own through the mountains of data looking for any significant patterns that relate the monitoring data to the health situations of the babies. In this way the machines learn what patterns of sensor data are significant for predicting health problems of the babies. Since the computers know what the health outcomes of each baby were, they can look for any hidden patterns in the monitoring data that would have predicted those health outcomes. Doing things this way, the machines might discover patterns that were previously not known to be significant.

Everyone knows that computers can store and keep in memory huge amounts of data, but it is not generally known that they also can also be designed to analyze large amounts of data so as to learn things about that data on their own. Most people don’t know computers are capable of that kind of learning. Of course, at the present time, it all depends on someone telling the computer how to go about learning significant things.

Once the computers have learned what patterns predict important possible health problems for the babies, knowledge about those patterns can be transferred to any computer that is hooked up to the sensors on newly born premature babies. Once that computer is programmed to look for those patterns, it is constantly fed live data from the sensors, and it will look for any occurrence of the significant patterns that were discovered previously by machine learning.  Then, if any of those patterns occur, the computer issues alerts to let doctors know how the babies are doing, and what problems are beginning to develop. These alerts may well come earlier than they would have if the monitoring were done in the old way, and it is less likely that something bad will be missed.

Baby monitoring

This new approach has been shown to be a more accurate and efficient way of handling the care of premature babies, saving some from serious problems by catching the hidden development of health problems early on, before they would have been detected by the old methods in which doctors and nurses would periodically check the sensor data, looking for clues about how the baby is doing.

Machine learning has many applications in other fields, from marketing to crime fighting. But I found this particular application in the field of health to be especially interesting. It is probably not too hard to imagine other applications of machine learning in the field of nursing and health, or other fields — any time it would be useful to be able to find hidden patterns in mountains of data. Roughly speaking, when you don’t know what patterns to look for, let the machine figure it out for you.

If you want to find out how to make a computer learn things on its own, study computer science. If you want to know what machine learning is like, and get some sense of how it might be used in a field like marketing, nursing, manufacturing, or whatever, get a background in some of the more technical aspects of computing.

ISU MAT 120 students, don’t forget to take your quiz about this blog post on ReggieNet. That’s the only way you can show your interest in the blog and have your evaluation of it recorded.

Non-spam, relevant comments from anyone are welcome, below.

Kenton Machina

PS: Student bloggers will begin posting here later this week.

Learn about Machine Learning at: http://robotics.stanford.edu/~nilsson/mlbook.html.
Or you might want to take a look at the scientific paper regarding the PhysiScore premature baby monitoring at: http://stm.sciencemag.org/content/2/48/48ra65.abstract.

September 16, 2013 at 10:39 am Leave a comment

What now?

ISU MAT 120 students —

OK, so it’s getting close to the end of the semester, and you’re busy thinking about how to get everything done. But what happens once the semester is over? Next semester? Next year? Five years from now?

How do you plan to distinguish yourself from this friendly critter? Smiley chimp

As you plan for your future, remember: The path of least resistance leads slowly downhill. Maybe it’s time to dig in, get going, really take advantage of the educational opportunities ISU has to offer. Find some course of study that you care about, that leads to an interesting life, not just a job.

While you’re thinking about this, consider that there are a great many interesting, creative, well-paying opportunities open to people who have significant IT knowledge and skill, simply because IT is becoming more and more embedded in every field. Want to be a detective? Learn as much as you can about IT. Want to be a health care professional? Learn as much as you can about IT. Maybe you hope to be an entrepreneur? Most start-ups these days center on IT. … You get my point.

There are many IT-related jobs open in the US because employers cannot find qualified applicants. Estimates are that only about half of the IT professional jobs in the US can be filled by US college graduates as things currently stand. These are not just pud jobs. Salaries, perks, and benefits are often very good. Some offer flex time, work-from-wherever opportunities, and a strong future path. Most involve working in teams to create new things, or to maintain and improve existing things, so IT folks are not stuck in some dark basement, coding away.

Why not check it out?

But, you ask, what specifically can you do about all this? Some possible answers:

1) Take some IT courses that relate to your fields of interest. Fit them in somewhere. JUST DO IT.

2) Add an IT-related minor to your existing major. Several are available at ISU.

3) Try out an IT-related major. Or jump right in, and declare one. (You can always change your mind later.)
Your successful completion of MAT 120 is a good first step. MAT 120 can be counted toward all but one of the six IT majors offered at ISU.

Here are some beginning IT courses to consider:

School of Information Technology:

IT 189.03 PYTHON FOR BEGINNERS (1 credit hour); first offered, Fall ‘12).
Introduction to programming and computer problems solving using the
Python language. Teaches programming concepts using pictures, videos, and
sounds. [ Note: This class tends to fill up quickly. If it’s full, try contacting the School adviser to get on a waiting list.]

IT 168: STRUCTURED PROBLEM-SOLVING USING THE COMPUTER
Designing carefully structured sets of instructions for a computer to follow in order to reach a desired outcome. (Designed for future Computer Science majors. MAT 120 does not satisfy the requirements for the Computer Science major.)

IT 177: PROBLEM-SOLVING FOR INFORMATION TECHNOLOGY
Introduction in how to get a computer to meet the needs of users by creating step-by-step instructions for the computer to follow. (Designed for future Information Systems majors, and Telecommunications majors. MAT 120 can be used toward these majors.)

Technology Department:

TEC 151: INTRODUCTION TO COMPUTER SYSTEMS TECHNOLOGY
Basic methods, software (including simple programming), and equipment used in computer applications for imaging, graphics, and communications.

College of Business:

ACC 255: ELECTRONIC BUSINESS MANAGEMENT
ACC 260: COMPUTER PROGRAMMING FOR BUSINESS
ACC 261: BUSINESS SYSTEMS ANALYSIS

Although the above courses are labeled as Accounting courses, they are actually courses in creating and managing business information systems, and should be thought of as courses for College of Business students seeking a good background in business IT.

Mathematics:

MAT 160: ELEMENTARY DISCRETE MATHEMATICS
Mathematical ideas used in all types of computer operations, such as basic logic, and construction of correct step-by-step procedures for producing desired results.

——————-

IT-RELATED MAJORS (MINORS) at ISU

School of Information Technology offers:
Computer Science
Information Systems, in several flavors, such as Security, Web Application Development, Systems Analyst
Network and Telecommunication Management

Department of Technology offers:
Computer Systems Technology

College of Business (via the Accounting deparment) offers:
Accounting Information Systems (a version of the Accounting major)
Business Information Systems (a distinct major, not a version of the Accounting major)

MAT 120 counts toward all of these majors except Computer Science, so you are already on your way, if you complete MAT 120 successfully.

———

Yes, there is a quiz available for this post. By the way, if none of this interests you in the least, sorry to bore you.

Questions? Contact me,

Kenton Machina

April 8, 2013 at 12:10 pm Leave a comment

Want a robot?

Many people, me included, are fascinated by robots. Robots come in many different forms — some much more intelligent than others. I don’t mean the science-fiction androids you can find in movies –those don’t really exist, at least not yet. I mean actually-existing robots in the real world that can adjust their behavior in complex ways, to fit a changing environment. Probably the best-known intelligent robots right now are self-driving cars. If you haven’t seen a video about this, you should check it out for yourself:

Not exactly what comes to mind when you hear the word, “robot”, is it? But still, the car moves and adapts those movements in a complex way to a changing environment — it’s an intelligent robot. I expect the day is coming when most cars will drive themselves. No more drunk drivers, no more falling asleep at the wheel and crashing into oncoming traffic. No more fun??

What does this have to do with IT? You can figure that out easily — intelligent robots get their intelligence from the computing power that guides them.

Factory robots have been around for quite a while, often replacing many assembly line workers with one big complicated machine that does the same routine over and over again. Those robots originally were not so much intelligent as they were strong and fast. Giant welding robots could weld a car frame in several places at once, very precisely and quickly. Over and over. Very useful, but not very smart. With the addition of more computing power, these robots in some cases are getting smarter, more able to adjust their behavior automatically to changing conditions. There’s not much future for humans in routine assembly line jobs in the US. But there’s a great opportunity for those who know how to design and maintain these machines. (By the way, all this stuff gets designed by teams of people with varied kinds of knowledge — some mechanical, some electrical, some IT. Business people with IT knowledge may be the ones to get the ball rolling.)

A very different kind of somewhat intelligent robot is found in the group sometimes called “remote presence” robots. Like self-driving cars, some of these robots can guide themselves down office building or hospital corridors, stop and start when needed, avoiding collisions with people and objects. They are equipped with cameras, microphones, screens, and a sound system. Using wi-fi, they connect to the internet, allowing someone located anywhere in the world to communicate with the robot, sending audio and video to anyone near the robot, and allowing the remote person to hear and see what is going on around the robot.

How are these remote presence robots useful? Already, they are being used in some hospitals, to allow doctors to do morning rounds, checking up on their patients in the hospital without the doctor’s ever leaving his or her office. A nurse accompanies the robot from room to room, asking questions of patients, taking vital statistics, and so on. But the doctor is there with the nurse, in the form of the robot, and can ask questions, give instructions, and get information via the robot. Similarly, a student who is not able to leave home because of illness or disability could attend class this way. I expect in the next few years we will begin to see remote presence robots occasionally on campus. Since these robots are essentially just fancy laptops on motorized wheels, they are not terribly expensive to build.

However, the most fun and personally interesting robots to me are the intelligent ones that walk and talk, with the potential to be personal assistants for people. Especially for people with severe physical limitations, people who need a lot of help with basic things like getting dressed, eating, and so on. Many of us have experienced family members with needs like that. Caring for such folks is very draining, and often extremely expensive. We’re a long way from having robots that are proficient enough to be able to be a full-service personal assistant, but work is being done toward this goal, and strides are being made every week. One project along these lines is a cooperative venture that any student anywhere in the world can help with, online, organized by a French company. I’ve chosen a video about this company’s robot, Nao, to illustrate some of the potential, partly because Nao is cute. I actually think that a personal assistant robot should be cute!

I should warn you that Nao is too slow and too small to be really useful at present. But Nao does already have some of the basic capability needed — Nao can “hear” voice commands, can “speak” through embedded speakers, can “see” with cameras linked to visual computer processors, can walk, can get up if it falls over, can find objects, can reach out and grasp objects. When viewing the video, keep in mind that Nao is NOT like a remote-controlled helicopter or drone. No person is behind the scenes telling Nao where to go, how to move, when to reach out and grasp something. Nao does all these things on its own, once turned on by being tapped on the head. Nao navigates through a house by being given a camera feed from a ceiling camera, not by someone pushing buttons or manipulating a controller thingy. Nao’s main brain is not inside of Nao’s body, but is rather a computer communicating with Nao wirelessly.

Want more Nao video? Just search for Nao on YouTube. With a little IT background, you could even help develop Nao’s abilities.

Kenton Machina

March 25, 2013 at 12:36 pm Leave a comment

One More Chance

OK, so it’s getting close to the end of the semester, and you’re busy thinking about how to get everything done. Here’s another chance to earn a little extra credit if you’re an ISU MAT 120 student. But, more importantly, here’s one more chance for ISU students to think about their future plans.

How do you plan to distinguish yourself from this friendly fellow? Smiley chimp
Remember: The path of least resistance leads slowly downhill.

I’ve been pitching the idea that there are a great many more opportunities open to people who have significant IT knowledge and skill, in almost any field, simply because IT is becoming more and more embedded in every field. Want to be a detective? Learn as much as you can about IT. Want to be a health care professional? Learn as much as you can about IT. Maybe you hope to be an entrepreneur? Most start-ups these days center on IT. … You get my point.

But, you ask, what specifically should you do about all this? Some possible answers:

1) Take some IT courses that relate to your fields of interest. Fit them in somewhere. JUST DO IT. (Pun intended.)

For a list of some ISU courses that might just do the trick for you, click here.

2) Add an IT-related minor to your existing major. Several are available at ISU. (See below for details.)

3) Try out an IT-related major. Or jump right in, and declare one if you don’t already have one.

For a brief description of ISU majors and minors related to IT, click here.

Want more advice? Send me an e-mail.

If you want to keep reading this blog next semester, you’re certainly welcome! Access is open to anyone. (But no more quizzes for you next term.)

Kenton Machina

(ISU MAT 120 students: don’t forget to take the quiz on this post.)

November 30, 2012 at 12:21 pm Leave a comment

Older Posts


September 2017
S M T W T F S
« Dec    
 12
3456789
10111213141516
17181920212223
24252627282930