Monday, May 20, 2013

Mobile Development Options - Part 5: Processing

by Mark Giglione 

Part 5: Processing


“Processing” is an accessible, open source language that is a popular programming project choice for many artists, educators, students and “maker” hobbyists (as well as professionals).

Processing has an optional capability of supporting Android application development directly.  Additionally, Processing can also support app development for most major mobile devices “indirectly” using “Processing.js.”  Processing.js, a sibling Javascript implementation of the original Processing language, now includes support for mobile device “touch” events; touch event support allows Processing to be useful in the development of mobile device optimized web sites.

Processing was originally designed to be an introductory programming language targeted for students in the media arts.  It is particularly well suited for programming graphics, data visualization and interactivity.  Processing is an easy to learn language and beginners at an early stage are typically able to write simple programs (often incorporating graphics) using only a few lines of code.  Processing is sufficiently feature rich to progressively encompass more sophisticated projects as the user’s experience and interests grow.  However, even advanced Processing projects are generally simpler and more approachable for non-technical users as compared to other “professional” programming languages.  (Additionally, a closely related customized version of Processing is the primary tool available for programming the “Arduino” open hardware prototyping system for embedded computing and electronics. Learning general Processing programming can provide a head start in learning to program Arduino based hardware projects.)

The Processing language and development environment depends on the Java Virtual Machine (“JVM”); effectively Processing is a non-Java syntax language that runs under the JVM.  Earlier versions of Processing only produced programs that either ran under the desktop Java runtime or as Java applets suitable for embedding on a web page.  Later versions of the Processing development environment added two additional “modes” and output “targets.” First, a Processing project can be compiled as an Android app (that can run either on an Android device or under an Android emulator).  Second, the Processing development environment now includes integrated support for Processing.js and can output a standalone Processing.js bundle that can be added to a web page.  

Processing can thus be leveraged to facilitate the following options for mobile application development:

1. Direct development and generation of an Android application (using Processing and the Processing development environment).

2. Processing.js based Javascript that can be incorporated into a web site that is optimized for mobile devices.

3. Processing.js code embedded as part of a PhoneGap or Titanium Appcelerator project; both PhoneGap and Titanium projects can be deployed to iOS, Android and several other mobile device platforms.

Processing

Processing.js

OpenProcessing (examples & shared code)

YouTube: Processing 101 (series of 11 introductory video tutorials)

Khan Academy: Computer Science (features Processing.js pedagogically)

Processing for Android

Getting Started with Processing for Android

Mobile App Development [Processing, Android, Tutorial]

Processing.js Mobile App Concept

Arduino

Arduino Software
http://arduino.cc/en/main/software

Friday, April 26, 2013

PowerPoint Vs. Prezi

PowerPoint Vs. Prezi

by Landon Phillips

Prezi and Powerpoint both offer excellent solutions to your presentation needs. This video will explain the differences between them, so that you may choose the right tool to meet your goals.



Video link: https://www.youtube.com/watch?v=UoJNShAQAnE


Additional Links
Prezi.com

Monday, April 22, 2013

Fostering Innovative Learning


Fostering Innovative Learning

by Hong Kha

Faculty are often asked to foster innovative learning. Well, what does that mean, what does it look like, and what are the desired outcomes? One way to achieve innovative learning is to allow students to be in control of what's important to them. To do this, the faculty role should be shifted towards coaching, guiding, and facilitating instead of providing direct lectures. With this method it becomes challenging for students to sort out what information is important to the course and when they are getting too broad, especially in an introductory course. To address this challenge, I recommend reading the articles "Moving up Bloom’s Taxonomy in an Introductory Course" and "7 Essential Principles of Innovative Learning" to help students achieve higher order thinking skills. The articles suggest that it may be important to cut out a lot of the factual details given in an introductory course. Factual information is often used to memorize and recite on a test and then easily forgotten after the exam is over. Instead of just giving facts to learners instructors should replace those lessons with lessons that connect concepts and transferring knowledge to practical activities. 

Articles:

Monday, April 1, 2013

Browser Spell-Check and the Rich Text Editor

by Alan Regan

Using Browser-Based Spell-Check in the Rich Text Editor


A professor from GSEP wrote me asking why spell-check isn't working in Courses. When I asked for more detail, she explained that she was using the Forums tool and while writing a response to a student she couldn't right-click a misspelled word to pull up the browser's spelling suggestions.  When she right-clicks, other options are appearing (Cut, Copy, Paste) but not the spell-check capabilities.


The central issue is that the rich text editor in Courses (powered by Sakai) will display its contextual menu when you right-click on a misspelled word. There is a very easy workaround to force the rich text editor (CKEditor) to display the browser's contextual menu instead. All you need to do is Control+Right-Click the word.  On a Mac, you'd use either Command+Right-Click or Command+Control+Left-Click to accomplish the same goal.


If you use Mozilla Firefox or Apple Safari and need to use the built-in spell-check, this easy workaround will help you spell like a champ.

Friday, March 29, 2013

Finding free images: Flickr's Creative Commons

by Alan Regan

Flickr.com - Finding Images You Can Use in Presentations for FREE


As we know, a key to retention of information is audience attention. To capture attention, a strong visual can tap into emotion, story, or the unexpected to spark a memorable moment. But how do we find powerful images?

In an earlier blog entry, I shared about Google Images and how to use the advanced settings to find images that you can freely use. Another major image repository, Flickr.com, also offers a way for you to search for free images. Flickr.com supports Creative Commons licensing. As users upload their own photographs, they can choose a license to open or restrict reuse of those images. Many users offer their photographs for free, simply asking that you acknowledge them as the source of the image (this is known as "attribution").

http://www.flickr.com/creativecommons

Which one's are okay to use?


License LabelDescription
AttributionAll the artist asks is that you acknowledge the creator. You should at least offer a "Photo By" credit with the image and may also provide a full reference at the end of a presentation, similar to sourcing quotes or research. You are free to create derivative works or use the image for commercial purposes. Learn more.
Attribution-NoDerivsThe artist asks that you acknowledge the creator and do not alter the image to create derivative works. You should offer a "Photo By" credit with the image and may also provide a full reference at the end of a presentation, similar to sourcing quotes or research. You should not combine the photo with other imagery or use it in your own art. You may use it for commercial purposes. Learn more.
Attribution-NonCommercial-NoDerivsThe artist asks that you acknowledge the creator, do not use the work for commercial purposes, and do not alter the image to create derivative works. You should offer a "Photo By" credit with the image and may also provide a full reference at the end of a presentation, similar to sourcing quotes or research. You should not combine the photo with other imagery or use it in your own art. You should not use the imagery for your own business or commercial benefit; may be used in education and for non-profit. Learn more.
Attribution-NonCommercialThe artist asks that you acknowledge the creator and do not use the work for commercial purposes. You should offer a "Photo By" credit with the image and may also provide a full reference at the end of a presentation, similar to sourcing quotes or research. You should not use the imagery for your own business or commercial benefit; may be used in education and for non-profit. Learn more.
Attribution-NonCommercial-ShareAlikeThe artist asks that you acknowledge the creator and do not use the work for commercial purposes. You may alter or create derivative works, but the resulting work must be shared with the same license for others. You should offer a "Photo By" credit with the image and may also provide a full reference at the end of a presentation, similar to sourcing quotes or research. You can combine the photo with other imagery or use it in your own art to create something new. You must offer the resulting work with the same or similar license. Learn more.
Attribution-ShareAlikeThe artist asks that you acknowledge the creator and post any derivative works with the same or similar license. You should offer a "Photo By" credit with the image and may also provide a full reference at the end of a presentation, similar to sourcing quotes or research. You are free to create derivative works and/or use the image for commercial purposes. Learn more.

Learn More:

Thursday, March 21, 2013

Mobile Development Options - Part 4: Titanium Appcelerator & Titanium Studio

by Mark Giglione

Mobile Development Options - Part 4: Titanium Appcelerator & Titanium Studio



The Titanium SDK from Appcelerator is open source (with optional “for pay” support plans available) and basically works by cross compiling Javascript & HTML to native mobile code (iOS XCode, Android & others).  In January 2011, Appcelerator acquired Aptana Studio (an Eclipse based integrated development environment optimized for web development) and the company now offers two (free) versions of the Aptana IDE: Aptana Studio and Titanium Studio (which is optimized for Titanium SDK projects).  Titanium SDK and Titanium Studio are free and open source but extended support is available on a paid subscription basis from Appcelerator.  


Cross compilation is the major difference between between Titanium and PhoneGap (see Part 3 for information concerning PhoneGap).  The PhoneGap approach is to embed a web application in a hosted native code shell which is then compiled.  The base web application code, however, remains a combination of JavaScript, HTML  and CSS which is hosted “as is” by the PhoneGap native code shell.  Titanium Appcelerator, on the other hand, cross compiles JavaScript into a native code programming language (e.g. Objective-C for iOS or Java for Android); a fully native code project is created and compiled.  In other words, a PhoneGap project hosts an unaltered web application where Titanium Appcelerator translates the Titanium JavaScript project into a standalone native code project.  Any changes or additions to the Titanium project are made to the Javascript code in the base project which is then cross compiled to produced updated native code source as needed.  In effect, the developer is using Javascript to create native code projects.


In addition to Titanium, the native code programming toolset for each target device needs to be installed; for iOS, Xcode would need to be installed and for Android, Java and the Android SDK are required.  Titanium, however, handles accessing the native code tools transparently; apps are either run on a desktop simulator that is included with each set of tools or the app is deployed to a physical mobile device.  Typically the developer only interacts with Titanium or the Titanium Studio interface which in turn transparently calls the native code tools behind the scenes.  (The developer, however, can optionally open and edit a native code project generated by Titanium directly if desired but this is not a common or recommended practice.)


In theory the fully native code project produced by Titanium should run faster than a PhoneGap project but actual comparative performance varies with each new release of each product.  Both products allow the user to create mobile applications using web development tools and technologies (i.e. Javascript, HTML and CSS).  As with PhoneGap, there are limitations to Titanium compared to developing directly in a native programming language but Titanium is suitable for a range of projects up to moderate levels of complexity.


Titanium also allows multiple deployment targets (iPhone, iPad, Android, etc.) to be managed from a single base project (though in practice Titanium’s support has historically tended to be more robust for iOS than for Android).  (Additionally, Titanium can also be used to build both standalone cross platform desktop applications and mobile web sites.)  


Titanium Mobile SDK
Titanium Studio
http://www.appcelerator.com/products/titanium-studio/

Tuesday, March 12, 2013

Checking Your Own Papers With Turnitin

by Alan Regan

Checking Your Own Work With Turnitin

Dotting the i's for your own academic integrity


A professor asked how he can check his own work for citation issues. The professor was working on a journal article with peers and students and wanted to be sure that everything was cited properly before it went to publication. He knows how to set up an assignment to check student work, but he wasn't sure how to check his own work using Turnitin.

It's easy to check your own work with Turnitin by following three simple steps:
  1. Create a project site on Courses (powered by Sakai)
  2. Create an assignment with Turnitin enabled
  3. "Submit as student"
These steps will take about three (3) minutes to create and submit the assignment, plus the amount of time that Turnitin takes to generate the report.

STEP ONE: CREATE A PROJECT SITE


Every professor should have his/her own project site. These are private sites where you can draft content for your classes, collaborate with your peers, and experiment with the features of Courses (powered by Sakai) without impacting your official class sites.

Create a Project Site in Courses and be sure to add the "Assignments" tool.

Time to complete: Approximately one (1) minute.

STEP TWO: CREATE AN ASSIGNMENT WITH TURNITIN


Once you have your project site, you'll create an assignment. You can create a new assignment for each document you wish to check.

Create a Turnitin Assignment in Courses.

Time to complete: Approximately one (1) minute.

STEP THREE: "SUBMIT AS STUDENT"


Once your assignment has been saved, you now need to submit to the assignment yourself. The easiest way to accomplish this is to click the "Student View" button in the toolbar. This will change the view and enable a new link below the assignment, called "Submit as Student." This allows you, the professor, to submit a document to the Assignments tool as if your account was a student account instead of a professor account. This tool does not allow you to submit the document on behalf of a specific student; it simply allows you to take your own assignment and verify that it is working properly.  In this case, it also allows you to upload your document and submit the assignment for Turnitin OriginalityCheck.

  1. Click "Student View"
  2. Click "Submit as student"
  3. Attach your document
  4. Submit the assignment
Time to complete: Less than one (1) minute.
Now, you'll return to instructor view by clicking the blue reset arrows or clicking the "Assignment List" button in the Assignments toolbar. Wait the 10-30 minutes for Turnitin to process your document and then click "Grade" below the assignment title.  (Turnitin says that papers could take up to 24 hours, but it usually doesn't take that long.) Next to your own name in the grade roster will be the Turnitin column and the badge and link will appear once the report is ready. Review Reviewing Report Results for more details on interpreting the Turnitin report.

TIPS AND REMINDERS


  • Keep the selection "None" under "Submit papers to the following repository." You don't want to accidentally save your own document permanently in Turnitin's paper database.
  • Follow the guidelines for Turnitin submissions. For example, submit a Word document less than 10 MB in size for best results, and always include the file extension in the file name (e.g. mypaper.docx).