hen you start programming smartphone apps, you start thinking about the impact you’re going to have. And make no mistake: they’re going to have a huge impact.
Check out this interesting new TED talk about how human workers are going out of style, thanks to things like smartphone apps.
He concludes that, with these technological developments, the biggest industry is going to be the programming and computer science industry—the people who design the software and tell the robots what to do.
Our personal favorite line from this video: “Nobody cares where these kids grew up, where they went to school or what they look like. All anyone cares about is the quality of the work—the quality of the ideas.”
And he brings up an interesting topic for you to consider. Knowledge workers—what are they? A knowledge worker is just like it sounds: it’s someone who thinks for a living. That includes lawyers, doctors and scientists, but to us that sounds an awful like “engineers and computer scientists.” Because, chew on this, they’re the makers.
Lawyers, doctors and scientists do a lot of great work. They’re great professions to have. (Really!) But the majority of their work involves researching what has happened in the past. Engineers and computer scientists? They look to the future, and get to decide what happens in the future.
We’re going through a revolution a lot like the one that took place in the late 1700s. We’ve said it before: don’t just ride the wave. Surf it and push it to its limits.
or a lot of people, the hardest part of programming is getting started—especially in high school, where only a few lucky students can take programming classes. How do you do something when you’ve never learned how to do it, right?
Try this: learn on your own!
Here's one model of the software development cycle. Google it to learn more about what it means!
It can be hard at times, especially when you’re already going through hours of school every day. But the rewards are great—imagine being able to make money by selling your app on the market—and it doesn’t take as long as you might think.
In fact, if you dedicate just an hour a day (not even counting weekends) you can have your first basic app done in less than two weeks. And you can have something substantial—a real app with some functionality—in just a few months! Here’s how to get started:
- Pick a language and install it. There’s a wide selection of language to choose from, but if you want to make an Android app you ought to install Java. (Before doing so, check if your computer already has it.)
- Download an IDE. To make a program, you need a couple things besides the language: a text editor to write the code (like how you can use notepad or Word to write a paper for school); and a compiler to translate the code you write into “machine code,” the language your computer works in. An “integrated development environment” is something which combines an editor and compiler, and also adds some really handy features to help programmers out. A good IDE can suggest code, help you find bugs (holes in your code that will make a program malfunction), and keep you organized. We recommend using Eclipse because it’s powerful, works well with Java, and is free. Here’s a link to Eclipse’s Java IDE.
An older version of Eclipse, with the Android plugin, running an Android VM.
Install the Android plugin for Eclipse. Follow the instructions on this page; they’re pretty simple. This plugin gives you a few cool things: first, it adds basic functionality for working with Android apps; second, it has a UI editor, so you can edit the app visually rather than just with code; and third (perhaps coolest) it lets you make a virtual machine. (A virtual machine is just like it sounds: a virtual computer inside your real computer. They’re great for testing programs because they’re conveniently right there on your computer (meaning you don’t even need an actual Android phone!), and no matter how catastrophically your program fails you can clean up the mess by just making a new virtual machine.)
Arguably the best book on beginning Java programming, written by Kathy Sierra and Bert Bates, has plenty of examples and explanations, and is written for someone who isn't an expert yet.
Learn to code as you do it! The best way to learn is by doing, so having a book (or online tutorial) opened while you program is the best way to learn how to program! We recommend these books to get you started: Head First Java to learn how to code in Java; and Hello, Android to learn how to program an Android app. If you can’t find those ones, don’t worry! Just check your local libraries for similar books, and don’t forget to check thrift stores like Goodwill or Salvation Army for used copies as well! Follow the examples in your books, and check out Google’s online classes to make some simple apps for practice.
- Look for an idea for your own program. If programming is your job, you often have a project assigned to you, but having an idea is at the heart of all self-driven programming. Let the question, “What should I program?” simmer in the back of your mind. When you find a problem in your life that could be solved with a simple app—whether it’s the problem of boredom (make a game), or a new handy way to share photos, or whatever—then you’ve got your idea! Take what you’ve learned and start coding!
The platform on top of that RC car is a "collision mitigation platform," to safe the car itself during a wreck.
very year, senior-year engineering students work on a huge project and show it off to the world before they graduate. All of them are interesting and unique projects, and are meant to demonstrate that you have come far enough in your education to actually do something awesome.
Here are a couple we think deserve your attention, which show the wide range of subjects you can cover in your senior project.
You've seen these before; it's a solar powered steam generator. The curved mirrors reflect the sun's light straight onto the tube, which boils water inside and creates enough pressure to move a turbine.
(Sorry, no picture for this one)—The “Walk on the Wildside” smartphone app was made by three computer science majors and it gives a virtual, self-guided tour of the Wildlife Images Rehabilitation and Education Center, which is near Grant’s Pass down at the South end of the state. According to one of its makers, it can show you around the center, tell you about the animals there, and tell you about what Wildlife Images (the group) does. Check out the app’s Google Play page.
But don’t forget about other universities! Read about how some PSU engineering students won the world’s first Cornell Cup USA.
…which both increases the awesome of this world and drastically decreases the suck.
In the hands of students. That's where this tablet was made to go.
The Akash Ubislate 7 is something India’s been promising for a long time, but has been considered ‘vaporware,’ which basically means an empty promise that never officially got cancelled. But just because it was on the back burner doesn’t mean India didn’t intend on delivering; they were probably just waiting for the cost of decent technology to decrease.
Consider that the $35 cost is basically the lowest cost for any technology of this type, anywhere. You might be able to get a smartphone for $50, but that’s only if you sign up for a 2-year data plan, which costs you something like $50 a month anyways. The cost of this thing is just $35. That’s it.
India’s got a plan with this technology, and that’s to give it to their students. Technology-assisted learning is pretty much always better learning, since a student has access to lecture videos, class materials, notes, email correspondence with students/teachers, and tons of other great material. In fact, the students are the only ones who get that $35 price. Consumers who want it have to pay around $50.
It’s a great program. Even if the tablets are bare-bones they’re
way better than nothing.
While the Ubislate 7 is going to do a lot to help India’s education for the masses (and the rest of the world, when the product goes international), it’s got its problems.
$35 sounds like a great deal. That’s something like 1500 rupees. That might sound dirt-cheap to a lot of us, and it’s certainly a lot cheaper to many low-income Indians, but some of those people live on about 1000 rupees per month, so it’s still a very big buy. But it’s doable.
Google just did something pretty cool: they released something called the Android Open Accessory Toolkit for their mobile devices, which will allow an Android phone to interface with just about any kind of gadget.
The move on its own is similar to Microsoft releasing the Kinect SDK, in that it will allow homebrew hackers and hobbyists to use the tool in a variety of creative ways. Think of it this way: now that Kinect can be customized by any programmer who wants to, it’s being used in myriad awesome ways. And now that any coder can connect their Android to just about anything they want—keyboards, mice, and just about anything with that USB interface—you can increase the functionality of your phone however you want.
So just to be clear, it shouldn’t be long until we see someone adding a Kinect to their Android and doing something crazy with it.
One of the first implementations of this new release is called "Android@Home," which lets someone control their home lights and TVs with their Android.
Again smartphones are fairly cheap. You can find them for as little as $100 on Craigslist, and probably even less. Grab a used one and get tinkering. A lot of people learn best by doing, so this is the best route to take if you want to get with the program. And remember, mobile devices are becoming the swiss-army knife of this age, and it’s where most computing is moving to. Away from computers (save those for the heavy lifting), and to cell phones (which are more convenient for the easy stuff).
If you don’t see the point in buying an Android phone, just to code, you can download a virtual machine of Android—which basically means you can run it inside your computer. So install that and start tinkering on your PC.
Read what I read:
Today we’ll have some of the most interesting Engineering-related links for you: