Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Jun 13, 2013

Stanford's "Coding Together: Developing Apps for iPhone and iPad" Course Video Presentations on iTunesU

Now that the school year has ended, I've taken the first step to begin my "Summer of Code".  I have five weeks off each summer, and for me, it is the best time to brush up on my coding skills.   Since my school recently piloted an iPad program, I've developed an urge to learn Objective-C.  

So on the very first day of my summer break, I noticed in an email from Apple that that all of the presentation videos from Coding Together: Developing Apps for iPhone and iPad were made available, for free, though iTunes U. The course was designed for people who have some programming courses/experience, and from what I can see, provides a relatively "quick" and useful path for those who'd like to create an app for the iPhone or iPad.

After viewing the first video,  I am happy to say that I'm impressed with the way the professor, Paul Hegarty, explains it all.  




Course Description
"Updated for iOS 6. Tools and APIs required to build applications for the iPhone and iPad platform using the iOS SDK. User interface designs for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Objective-C programming language. Other topics include: object-oriented database API, animation, multi-threading and performance considerations. Prerequisites: C language and programming experience at the level of 106B (Programming Abstractions) or X. Recommended: UNIX, object-oriented programming, graphical toolkits."  -iTunesU Website

RELATED
iTunes U links to all course materials, including videos
Coding Together: Developing Apps for iOS Videos and Lecture Slides (iTunesU)
Website with files for course-related code
StackOverflow CS193P tagged items (Stack Overflow is an online resources for people with coding Q & As)

May 24, 2013

Summer of Fun and Game Development with Unity

Summer of Fun and Game Development- Unity


I just downloaded the GameAnalytics Unity Package and plan to spend some of my summer break digging deeper into Unity.  I have been experimenting with Xcode stuff and Leap Motion.  

I want to make the most of my 5 weeks "Summer of Code". Unity fits the bill.  It has offers a wealth of wonderful online  learning resources.  

I've explored Unity in the past and loved it, and am very impressed with how it has evolved over the past few years.

I'll add more to this post later!


Mar 1, 2012

Link to article about HTML5, web "apps", and the future, from a "Yahoo" perspective

I thought I'd share a link to an article about HTML5 and the future from a "Yahoo" perspective:


Why ambitious developers need more than just HTML5
Bruno Fernandez-Ruiz, CNET News, 3/1/12


Think "Cocktail".




Dec 13, 2011

Kinect in Education! (kinectEDucation)

Although I'm currently exploring the world of interactive HTML5, interactive video, etc., I think I just might make "kinecteducation" the focus of my tech-hobbies. I have some experience with game programming-one of my computer courses required a project using XNA- and I know quite a bit about gesture and multitouch, multi-user interactio, so it would'nt be too much of a stretch.


My motivation?

As a school psychologist, my main assignment is a school/program for students with disabilities, including about 40 or so who have autism spectrum disorders. Yesterday, the principal of the school attended a demonstration of the Kinect and requested that our school be considered for piloting it. One of my other assignments is a magnet high school for technology and the arts, and rumor has it that it will be offering a game programming curriculum.  I'd love to co-sponsor an after-school game club and encourage the students to program educational apps for the Kinect sometime in the near future! 


I'm also working as a client, in collaboration with come of my educator colleagues, with a team of university students who are creating a communication/social skills game suite geared for students with autism and related disabilities....


I'm inspired by the possibilities!


We have large SMARTboards in each classroom and in other locations around the building, and we have a Wii set up in the large therapy room adjacent to my office. The Wii has proven to be very useful in helping the students develop social and leisure skills that they can use in and outside of the school settings, but some of the students have difficulty manipulating the buttons on the controllers.


You can get Kinect-based apps from the Kinect Education website! Below are selected links from the website:

You can also get additional information from the Microsoft in Education "Kinect in the Classroom" website.

Below are a few videos to give you an overview of how open-source applications designed for the Kinect can be used in education: 






Jun 17, 2011

In case you missed this: Microsoft Releases Kinect SDK Beta for PC

Kinect for Windows SDK Beta!   IT IS TRUE!!!!!


My Kinect and PC are waiting for my summer project.    What a great opportunity to "practice" programming over my 5 week summer break..... I already know C#, and I've done a little game programming (ie. AI for Game Development - using XNA Game Studio Express- it has been a while).  
Skeleton tracking image
-Photo credit: Microsoft Research


I have some cool ideas for basic games that might be good for the students I work with who have autism spectrum disorders... and some ideas that might be fun for my grand-baby.  I can't wait to have time to code again!   


Here's some info from the Microsoft Kinect for Windows SDK Beta website:


"The Kinect for Windows SDK beta is a programming toolkit for application developers. It enables the academic and enthusiast communities easy access to the capabilities offered by the Microsoft Kinect device connected to computers running the Windows 7 operating system."


"The Kinect for Windows SDK beta includes drivers, rich APIs for raw sensor streams and human motion tracking, installation documents, and resource materials. It provides Kinect capabilities to developers who build applications with C++, C#, or Visual Basic by using Microsoft Visual Studio 2010."


This SDK includes the following features:


Raw sensor streams
Access to raw data streams from the depth sensor, color camera sensor, and four-element microphone array enables developers to build upon the low-level streams that are generated by the Kinect sensor.
Skeletal tracking
The capability to track the skeleton image of one or two people moving within the Kinect field of view make it easy to create gesture-driven applications.
Advanced audio capabilities
Audio processing capabilities include sophisticated acoustic noise suppression and echo cancellation, beam formation to identify the current sound source, and integration with the Windows speech recognition API.
Sample code and documentation
The SDK includes more than 100 pages of technical documentation. In addition to built-in help files, the documentation includes detailed walkthroughs for most samples provided with the SDK.
Easy installation
The SDK installs quickly, requires no complex configuration, and the complete installer size is less than 100 MB. Developers can get up and running in just a few minutes with a standard standalone Kinect sensor unit (widely available at retail outlets)."



Nicholas Kolakowski, Application Development News, 6/16/11


Apr 14, 2011

Folk Dance Your Algorithms! (Intercultural Computer Science Education, Sapientia University, Romania)

An interesting post by Nathan Yau, of Flowing Data, crossed my path today.  I anticipated something about interesting information visualizations, but to my surprise, I had a chance to view a couple of videos of.... folk dancers!    Nathan shared information about about Algo-rythmics, a project created by researchers from Sapientia University (Romania) that blends art, culture, and technology to enhance computer programming education: 

Before viewing the videos below, take a moment to read the abstract from a research paper written by some of the people behind the Algo-rythmics project:


Abstract

"Over the last decades more and more research has analysed relatively new or rediscovered teaching–learning concepts like blended, hybrid, multi-sensory or technologically enhanced learning. This increased interest in these educational forms can be explained by new exciting discoveries in brain research and cognitive psychology, as well as by the accelerated integration of technology (computers, intranets, internet, etc.) in education. We have investigated how the educationally valuable outcomes of these trends could be implemented in computer-programming education and in what ways this process could be catalysed by arts (dance, music, rhythm, theatrical role-playing). We present a theoretical basis for technologically and artistically enhanced multi-sensory teaching–learning strategies. This work focuses particularly on how dance can be involved in computer science classes."
Sapientia University, Mathematics–Informatics Department, Tirgu Mures/Corunca, Soseaua Sighisoarei 1C, 540485, Romania
"In the case of each algorithm we chose such implementation version that fits best with the characteristics of the corresponding folk dance. After students have understood the key features of the algorithm the teacher should discuss with them the possibilities the algorithm can be optimized." AlgoRythmics  (Also see the Alog-rythmics Facebook page)


FYI: There will be additional algorithm concepts presented through folk dances in the near future on the AlgoRythmic's YouTube channel.  

Enjoy!
Insert-sort with Romanian Folk Dance
Bubble Sort with Hungarian ("Csango") Folk Dance
Credits (as listed on the AlgoRythmics YouTube Channel)
Created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania.
Directed by Kátai Zoltán and Tóth László. 
In cooperation with "Maros Művészegyüttes", Tirgu Mures (Marosvásárhely), Romania.
Choreographer: Füzesi Albert. 
Video: LÅ‘rinc Lajos, Körmöcki Zoltán. 
Supported by "SzülÅ‘föld Alap" and evoline company.

Select-sort with Gypsy Folk Dance

Shell-sort with Hungarian (Szekely) Folk Dance

RELATED
Nathan Yau, Flowing Data, 4/14/11
I Programmer, 2/10/11
Clyde Smith, All World Dance, 4/13/11

Feb 26, 2011

Why bother switching from GUI to NUI? - Asked and Answered by Josh Blake; My 2-cents; Stevie B’s Microsoft Research Video; Marco Silva’s NUI-HCI Presentation (and links)

In Chapter 1 of Natural User Interfaces in .NET,  Josh Blake asks and answers a question posed by many people who have been under the spell of keyboard input and GUI/ WIMP interaction: 


Why bother switching from GUI to NUI?  The answer?  Read Chapter 1 (pdf) of the book - the chapter is free.


Here are a few of my personal reasons:  
1.  I want to buy the next version of the iPad or something like it.
2.  I want to buy a new large-screen Internet HD TV.
3.  I want to buy a Kinect.
4.  I do NOT want to interact with my new TV with a Sony remote.  Too many tiny buttons!


5. I do NOT want to interact with my new TV with a keyboard,  because it reminds me of...work.

6.  Most importantly: 

I want to design apps for the people I care about, and others with similar needs:
    My mom.  
    My grandson.
Moms and dads with kids in tow.
People with special needs and/or health concerns, and the people who care and guide them.
Knowledge sharers and (life-long) learners....

RELATED

"Smart" Interactive Display Research

 
View more presentations from Marco Silva

My YouTube Playlist:
"Natural user interfaces, gesture interaction, multi-touch, natural interaction, post WIMP examples and more... "
RELATED - and somewhat related   
Encyclopedia:  Human Computer Interaction, Interaction Design, User Experience, Information Architecture, Usability and More (Interaction-Design.org)

Josh Blake's Blog: Deconstructing the NUI    Book: Chapter 1 (pdf)  Free!
Blake.NUI
"Blake.NUI is a collection of helpful controls, utilities, and samples useful for multi-touch and NUI development with WPF, Surface, and Silverlight."
 (This is not an inclusive list.)


GUI to NUI Post-WIMP Manifesto:  TBA

Jul 2, 2010

Kathy Sierra's Awesome Words of Wisdom: Video from Business of Software (in a 2.0-3.0 world)

Is your product, service, or company awesome in the eyes of your beholders? Do you help foster "self-awesomeness" among your users, customers, readers, or audience?

The wisdom of a social media consultant won't sustain core innovation. In this video, Kathy Sierra talks about how to reverse engineer sustainable passion. What superpowers do you give your users? Watch the video to learn about a model that helps people get better

The video is about an hour, but worth your time:


RELATED
Kathy Sierra is involved with theCreating Passionate Users website, where the bloggers "are all facinated by brains, minds and what science can tell us about the practice of making users passionate about their lives and tools. She is one of the co-creators of the Head First books from O'Reilly. I first learned about Kathy Sierra when I was taking a Java programming class on-line, and needed more resources. She created the JavaRanch website,"a friendly place for Java greenhorns"

By the way, the Head First books are great resources for people who are tech-curious and have an urge to learn to code. I love Head First books and have several on my reference shelves.

Thanks to Lukas Mathis for the link.

"...People are not into your tool, they are into what the tool enables." - Kathy Sierra
"Make them smarter." - Kathy Sierra

Business of Software website
Head First Bloggers' Reading List

Nov 21, 2009

Want to make some multi-touch? Try PyMT- Python Multitouch. Featured in Make. (via Sharath Patali)

Sharath Patali, a member of the NUI-Group, has been working with Python Multitouch, otherwise known as PyMT, to create multi-touch applications.  He shared a link to a recent post in Make, featuring PyMT.  Sharath is the author of the UI Addict blog, and is currently doing his internship at NUITEQ (Natural User Interface Technologies).

I've been told that the beauty of PyMT is that it makes it "easy" to create multi-touch prototype applications using very few lines of code, which is great for trying out different ideas in a short period of time.  It helps if you already know Python!


PyMT - A post-WIMP Multi-Touch UI Toolkit from Thomas Hansen on Vimeo.

"PyMT is a python module for developing multi-touch enabled media rich applications. Currently the aim is to allow for quick and easy interaction design and rapid prototype development. PyMT is written in Python, based on pyglet toolkit."


PyMT Programming Guide


PyMT Website

Note: 
Christopher, author of The Space Station blog, is a member of the NUI-Group, and is building his own multi-touch table running his PyMT-based applications. Christopher is a student in Koblenz, Germany, studying computational visualistics, known as information visualization in the US.

Oct 20, 2009

Thomas Hansen's Multi-Touch Wisdom: "Windows Touch vs PyMT - Why programming on Windows is too complicated!"



If you are interested in designing or programming multi-touch programs and like elegant, concise code, you'll appreciate Thomas Hansen's recent blog post:


Windows Touch vs PyMT:  Why multi-touch programming on Windows is too complicated!


Here is an excerpt from Thomas Hansen's blog post:


"If you read the rest of the blog post, I’ll show you what I mean about context, and why e.g.  Windows Touch makes life difficult if you want to program multi-touch.  I’ll show you how to rewrite a windows touch example project (5 C# source files and > 400 lines of code) in Python using PyMT (1 source file with 12 lines of code).  Yes 12 lines, you read correctly (and then there is the whole thing about it just running on Linux or OSX as well…but we’ll leave that for another blog post)."


At the end of his post, Thomas makes a comment that I think is worth considering:


"The interaction paradigm is so revolutionary, I think we need to adopt our development tools more to it and explore the interaction space.  Instead I think people are jumping the gun on trying to standardize the interface while using the development paradigms we used for the GUI."


Well said!


Thomas Hanson is a member of the NUI Group.  He is a graduate student at the University of Iowa, pursuing his PhD in Computer Science, specifically Human Computer Interaction.  

Oct 18, 2009

Techies: How to do Multitouch with Windows Presentation Foundation 4 using Visual Studio 2010

Here is the "how-to" video. I don't have WPF4 or VS2010, so I haven't tried this at home...yet.



I came across this video on Vinod Varma's Software Engineer's blog post, "Multi-touch programming getting simpler."


I'm sure I'm not alone in my present dilemma. I have a burning desire to experiment with multi-touch and Adobe's products, since I used to use Macromedia Studio quite a bit several years ago. Instead of learning ActionScript 3.0, I decided to learn C# and XNA Game Studio, and then went on to play with Windows Presentation Foundation, Expression Blend, and Silverlight.


And what about multi-touch web applications?!

Dec 6, 2008

Windows Vista User Experience Guidelines: All Windows programs should be touchable!

If you are a designer/developer who would like to develop applications that can support touch interaction, it will save you some time to study the Windows Vista User Experience "Touch" guidelines. You'll find information about the eight flick events, (gestures that correspond to keyboard shortcuts for navigation and editing), the 40 or so gestures recognized by Vista, tips for creating controls, GetMessageExtraInfo function, and more.


"As touch spreads from Tablet PCs to other types of computers, software program developers and designers will find it increasingly important to support touch as well. All Windows programs should have a great touch experience. Users should be able to perform your program's most important tasks efficiently using a finger."


Jan 8, 2008

Scratch: A new programming language for kids that supports stories, animations, games, music, art, and web-sharing, from MIT.

"Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design." (Scratch website)

Scratch can be downloaded, free of charge, from the website. It can run on Windows as well on Macs. There are over 12,000 contributors to this project, with over 60,000 registered members. The website provides plenty of support for teachers and students.

The Scratch project is run by the Lifelong Kindergarten group at the MIT Media Lab, along with the UCLA School of Education and Information Studies. The project was funded by the National Science Foundation.

I'm looking forward to playing with Scratch on a touch-screen or interactive whiteboard.


Leave a comment if you use Scratch with kids- or for yourself.


Nov 17, 2007

About: Programming for interactive multimedia applications- WPF, Silverlight, EduSim, NeuroVR..

Part I Musings: Learning about application development and programming at mid-life:

I thought I'd write on a more personal level this time.

I'm a school psychologist, so in 2003, my motivation for taking computers at mid-life stemmed from my desire to create engaging interactive multimedia games for learning, games that could be played on hand-held devices as well as on the interactive whiteboards that I noticed were inching into my schools.


It was difficult for me to figure out how to get from Point A to Point B.

I shouldn't have been shocked to learn that most introductory programming classes provide instruction, as well as endless lab assignments, that are geared for people who want to make business forms and manipulate business-related data, build e-commerce websites, or create relational databases for... banks!

I now can make a mortgage calculator forms that adjust for various scenarios and provide cute error messages, in beginning Visual Basic.Net, C#, and Java. I can create a database that will let users look up part numbers for all sorts of widgets, in all sorts of combinations, and ensure that client data can be easily accessed in a nice looking form.

Why should I learn all of the old stuff when there are so many new avenues to explore?

Over the past few years, I've been fortunate to take a variety of classes that were not readily available just 8-10 years ago:

Computer/Internet Multimedia. Computer Music Technology. Game Design/Development. AI for Games. Ubiquitous Computing. Web Development Tools. Virtual Reality for Education and Training. These courses have motivated me to learn more about programming. The traditional programming courses had the opposite effect.


PART II
Keeping up

I recently attended a day-long code camp at Central Piedmont Community College to learn more about Windows Presentation Foundation (WPF) and Silverlight. WPF and Silverlight provide the foundation for applications that can run on Microsoft's Surface. WPF and Silverlight provide designers and developers with more efficient ways of developing visualization and interactive multimedia applications.

The architecture behind WPF and Silverlight seems to align more with the way people think and envision, which in my opinion, gives hope for those of us who have toyed with the idea of programming, but were frightened off the first time they opened up a traditional programming textbook.


Part III Visualization and Interactive Multimedia

For more information about WPF, Silverlight, design, etc, read Sam Batterman's (a Microsoft Evangalist) recent blog post: Some thoughts about WPF and Data Visualization

Here are some pictures and text that I lifted from Sam's blog that will give you a picture of what I'm talking about:


"Here's an application that one of our partners built in a few weeks - all WPF and actually, not complicated code...getting that heart rendered was probably less than 100 lines of code. This app is used in a hospital for documenting heart surgery procedures. You can draw and annotate the 3D surface, rotate the heart, etc."


Angiographer


Can you imagine how kids would love to manipulate something like this in a science class?! This would be great on an interactive whiteboard or display.

This focuses on user experience, much more so than applications in the past. For more information about designing for user experience, take a look at the link to Bill Buxton's book, "Sketching User Experiences."

sketch

Bill Buxton's webiste, "Multi-touch systems that I have known and loved" is a good resource for those of you who'd like to get a better picture of multi-touch systems and interaction.

(I'll write more about WPF and Silverlight after I get my laptop repaired and have a chance to experiment some more.)

Croquet and EduSim


Right now, I've been experimenting with
Croquet, which uses Squeak, and EduSim, which is powered by Croquet, to put together some learning activities for students.The best part is that Croquet is open-source, and all of the EduSim applications are free.

Here are some pictures that link to short video clips from the Greenbush EduSim website:







Neuro VR


Another application that I'm working with is NeuroVR.

NeuroVR is a free virtual environment that was designed for use in clinical settings. If you don't have access to virtual-reality hardware, you can still use NeuroVR on a desktop or large-screen display. Available 3D environments include an office, a supermarket, a park, a classroom, a poolside setting, and a home.

Andrea Gaggioli, Ph.D., is the Chief Technical Officer of the this project. He's also behind the Positive Technology blog, which is a great resource. Andrea is a
researcher working at the intersections of psychology, neuroscience, and emerging technologies.

NeuroVR allows the clinician (or educator) to easily insert pictures, objects, and videoclips into each virtual world. Doors open and close, and you can move items around in the environment. For example, fruit set on a table can be moved over to a counter.

In my opinion, NeuroVR has potential not only in the area of rehabilitation and therapy, but in special education as well, particularly for students who have multiple special needs, including severe autism. A variety of "how-to" videos are posted on DaevornLi's YouTube channel.


Here are some videos clips to give you a better picture of the application: