Skip to main content

Posts

Showing posts from March, 2013

Online Education: Still A Digital Divide

Online education still represents a "digital divide" between socioeconomic groups. Notably, young male minority students seem to struggle in online settings. We are now 30 years into the personal computing revolution, now marked by smartphones with more computing power than early mainframes. Yet, familiarity with technology does not necessarily lead to academic success with technology. I found this new research paper online while working on a book chapter (sadly, after I submitted the draft). The study raises some old, familiar questions about online education and presents a challenge to people like myself with a vested interest in digital pedagogy. Adaptability to Online Learning: Differences Across Types of Students and Academic Subject Areas Di Xu and Shanna Smith Jaggars February 2013 Community College Research Center Teachers College, Columbia University Abstract Using a dataset containing nearly 500,000 courses taken by over 40,000 community and technical coll...

Computers Languages, Human Languages

One reason I am writing about learning to code Cocoa apps for OS X and iOS is that I view programming languages as specialized human languages. After all, humans do create the languages. We create computer languages with our notions of what a language should be, from its grammar to its level of abstraction. In my post on the generations of programming languages, I mentioned that languages are interpreted, compiled, or translated, with some variations and complexity within those processes. Let's consider how these compare to the human language process. Compiled Languages About as close to the "natural" machine code as many programmers get on a regular basis, compiled languages remind me of our "native" spoken and written languages. After a while, we think our silent thoughts in a human language. We are entirely unaware of how our brain converts (or compiles) the language into neurological pulses. For me, English seems to be the language of my brain — eve...

Programming Language Hierarchies

Computer languages are often divided into groups, such as "3GL" and "4GL" — third- and fourth-generation languages. The divisions aren't perfect, and don't always represent a chronological evolution. Trends that seemed to be advancing programming have been abandoned when they proved overly complex or simply unnecessary. Human languages experience similar trends. Artificial attempts to control languages, human and computer, often fail because the users of the languages have more influence than the "gatekeepers" wish. A few languages are better "controlled" than others, but in the end the people seeking to communicate will do whatever they believe is needed. I've heard compiler designers complain about software programmers "abusing the language" just as grammarians complain about emerging writers. One difference, and it is a serious one, is that computer languages rely on strictly defined compilers. Curiously, French is con...

Learning to Code: Programming Books for My Cocoa Journey

To refresh my programming skills in C and begin my Objective-C journey, I am using the following books. These books are only the beginning of my trek through the Xcode jungle towards OS X and iOS apps. Learning Cocoa with Objective-C: Developing for the Mac and iOS App Stores . Apple. Sebastopol, CA: O'Reilly, 2001. 0596001606 Clair, Robert. Learning Objective-C 2.0: A Hands-on Guide to Objective-C for Mac and iOS Developers (2nd Edition) . Boston: Addison-Wesley, 2013. 0321832086 (pbk.) Hillegass, Aaron. Cocoa Programming for Mac OS X . Boston: Addison-Wesley, 2004. 0321213149 Hillegass, Aaron. Objective-C Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) . Atlanta, GA: Big Nerd Ranch, 2011. 0321706285 (pbk.) Kochan, Stephen G. Programming in Objective-C (Developer's Library) . Indianapolis, Ind.: Sams, 2004. 0672325861 Nutting, Jack, Dave. Mark, and Jeff. LaMarche. Learn Cocoa on the Mac . New York: Apress, 2009. 9781430218593 (pbk.) Perry, Greg M. Absolu...

Getting Social to Build Your Business

Visalia Direct: Virtual Valley March 4, 2013 Deadline April 2013 Issue Getting Social to Build Your Business Facebook, Twitter , Foursquare, Yelp and more. If you want to grow your business today, you need to know the power of social networking. You also need to be prepared to change your social media strategy quickly to keep up with trends. Social networks come and go, as quickly as the “likes” and “trending” data they report. In the late 1990s, I recommended basic Web pages and e-mail addresses to my clients. Today, deciding which types of online presences are best for a business or organization presents a challenge. Whether you focus on business-to-business (B2B) services or retail sales helps determine the best online strategy for your company. The more public exposure your company seeks, the more important a social media presence will be. The basic Web presence still serves a purpose, and inexpensive hosting services cost the same as a stack of good business cards. Bu...

Learning to Code: The Month (and More) of Cocoa Begins

This week I am beginning a month (and more) of intense "Cocoa" immersion. Cocoa, for those outside the OS X/iOS development realm of Apple, is the framework created by Apple's wizards to make programming for Apple hardware a (tiny) bit easier. Since I want to develop applications for Macs and iOS devices, I need to learn the Cocoa frameworks. It's going to be a long journey, and a fun one. On this blog, I'll be posting about programming as an educational experience. I'll also continue to explore programming as a form of writing. I'm surely not going to do the topic justice, but allow me an attempt to explain how computer languages and frameworks are similar to other languages. When we write in any language, we start with a core of basic words and grammar. Computer languages are more concrete and simplistic than living languages, but you might compare them to the languages children speak. I am not going to go über-geek in this post and explain the t...