Some of you may be wondering, 'so how do the pros do it?' This week we will explore that question and give you the tools that you need to make and distribute your own apps.
Now that you have had a bit of time to key around with different programming languages, let's talk about what to do with the skills that you have begun to develop. We will discuss putting your skills to work through computer and mobile app development, but keep in mind that your skills are not limited only to building apps.
Apps are typically self-contained programs that perform a series of tasks related to the same overall function. Apps all have some sort of graphical user interface (GUI)--which is a fancy way of saying the buttons on the screen that the user pushes and the content being displayed.
Operating systems for devices have evolved to include easy access to a marketplace (Apple App Store, Google Play, and the growing Windows Store) rich with free and low-cost apps.
There is currently quite a bit of free software available designed to create apps for a variety of marketplaces, and the software is aimed at professional developers and hobbyists alike.
Though development varies across platforms, the basic concepts are all the same. Each platform has a specific set of tools called a software development kit (SDK) for creating apps. Those tools usually include the following: code editor, interface builder, frameworks (prefab code libraries), code debugger, a simulator that gives you a live test of your app, and some way of measuring how your app performs on a specific device.
To integrate all the tools, programmers utilize an integrated development environment (IDE). It may be helpful to think of the SDK as the tools necessary for building an app, and the IDE functions like the workbench keeping all the tools together and at close reach.
Many apps also require an application programming interface (API) to communicate to an operating system, a database, or some other piece(s) of software.
Below is a list of resources broken down into three popular development platforms Android, iOS, and Windows. Getting started can be a bit tricky, so I have included getting started resources and tutorials. The image above features an infographic detailing the general workflow for building an app. In the tutorials below, you will find similar charts more specific to your needs.
MIT App Inventor - this browser-based IDE runs on Java and is a great to start. Tutorials found here.
Eclipse IDE and Android SDK (Bundle) - a more robust IDE from Eclipse
Building Your First App Tutorial - get started with installing and developing with this tutorial
iOS Developer Center - sign up and start making iPad, iPod and Mac apps
XCode - Apple's IDE and programs are written in Objective-C
ManiacDev - a one-stop for new and professional developers alike with libraries and tutorials
Visual Basic Express - Microsoft's IDE and apps are typically written in C# or C++
SQL Server Express - Microsoft provides you with a free database engine to power your apps
C# Tutorials - to get you started making apps with VS
MDSN - Microsoft's developer network with all the resources you need
[ add comment ] ( 83 views )
Computer code is all around us and powers every electronic device. As an exercise for those who may have never seen a code before, hit F12 (Internet Explorer), Ctrl+U (Firefox and Chrome), or Cmd+Opt+U (Safari) to see the source code for this webpage.
In an increasingly digital age, learning computer skills is a fundamental necessity, and learning programming is like learning the language. Learning to code has never been easier, and everyday more resources are popping up to teach you how. Currently, there is a high demand for programmers in the job market. This post is dedicated to giving you some of those resources.
Learning to Code
Python is a great place to start programming. This scripting language is expressive and easy to understand. The Python community has come together to create tons of libraries and tutorials to get you started and beyond.
Scratch is a graphic programming language that teaches users the basics of object-oriented programming (OOP). This program was created by MIT and teaches you to create games and animations. Check out Learn Scratch to get started. Teachers interested in including Scratch into curriculum may be pleased to note the 'Lesson Plans' section.
Alice Developed by Carnegie Mellon University, Alice is similar to Scratch and teaches users OOP in a 3D environment through the use of storytelling.
Happy Nerds Want more? Happy Nerds has put together a fairly comprehensive site with more resources for learning to code for various platforms.
SmallBasic is based on Microsoft's .NET programming language. The SmallBasic language editing software (called an integrated development environment, IDE) allows you to break problems down into small steps and test each one along the way, in other words: teaching you how to think like a programmer.
The library has a Code Club for teens who are interested in learning more about coding and meeting others who share the same interest. Click Here for more information.
Click here to check out programming books that the library has in its collection.
Check back next time for part two where we teach you the skills to design and implement your own computer and mobile apps.
[ add comment ] ( 249 views )
Take some time to let this map load, and be sure to check out all its features. This week's topic is a rather difficult one, so take some time and explore all that it has to offer.
View Larger Map
(Map relating the proximity of farmers markets to the types of crops harvested in each region. NOTE: Click Legend in the top right corner and give the map a moment to load)
What is GIS?!
Geographic Information Systems, or GIS, are systems that store, analyze, and graphically present geographic data, called spatial data. Map presentations (like the one featured above) are created by adding layers of data onto a base map.
In the example above, I started with a map of the US, and then I added a shapefile containing a map of all the counties of KY. Next, I added a layer containing all of the farmers markets in the US and a final layer that shows the diversity of crops harvested per county in the US. This simple map shows the relationship between the density of farmers markets and the agricultural productivity of KY counties.
Maps like this one can be analyzed to better understand that relationship, and information like this may be important to farmers looking to corner new markets. In fact, GIS is a very large field that encompasses many disciplines of study like science, the environment, infrastructure, business, social studies, history, geography, and geology. Many jobs are available to people with strong GIS skills, as well.
Below are some resources to get you started in this exciting field.
Free Map Making Software
Here are some free applications that allow you to access data and make maps:
ArcGIS Explorer Desktop
ArcGIS Explorer Online
Your map is only as good as the data that you have to display. Whether or not you realize it, KY is in the top 5 states in the nation for GIS data! Here are bunch of great place for fast, free data:
KY Geological Survey - offered through the University of KY, the KGS is the repository for a wide range of KY Geospatial data
Geospatial Data Library - this is the KGS library of data including links to the KY Geonet, Office of Geographic Information Systems, KY Dept Fish and Wildlife, University of Louisville GIS, the US Geological Survey, and more.
You've got all the tools you need, now what?! Watch some of these videos to get you started:
Getting Started with ArcGIS Online
ArcGIS Explorer Quick Start Tutorial
If you are looking to take these skills to the higher level, be sure to check ot some of the GIS courses offered through My Library University.
[ 1 comment ] ( 2328 views )
Amateur researchers and science enthusiasts have aided in scientific research projects for quite a long time. For example, members of the John James Audubon society have participated in bird counts to aid in conservation efforts for over a century.
This method called 'citizen science,' or 'crowdsourcing,' is the systematic collection and analysis of data. It can work in several different ways, like citizens collecting data for researchers to analyze or citizens analyzing the data that researchers have collected.
Below are some web applications that let you be the guinea pig and help science--consider it micro-volunteering!
Solve puzzles by shaping RNA nucleotides and help scientists unlock the secrets of genetics.
This one is for all you math-letes out there. This project posts mathematical equations and relies on the crowd to solve them.
Encyclopedia of Life
We looked at EOL in Tip #15. Now you can help by contributing or checking the accuracy of species photos.
This science-project-turned-gamed aims to study the nature of protein structures with the hope of classifying new virus-fighting or CO2-cleaning proteins.
Here you will find more than a dozen research projects broken into the following categories: space, climate, humanities, nature, and biology.
As a sneak peak, Facebook will soon release an app that let's members 'like' a certain whale shark and track conservation efforts.
[ 1 comment ] ( 48 views )
Here are some websites that allow you to make and share games with friends:
Resources to Get You Started
Some of the sites above require you to know a little computer coding, so here are some resources to get you started in the right direction:
Game Maker Academy
For more on coding, be sure to check the library's event calendar online.
[ add comment ] ( 63 views )