Wednesday, April 30, 2014

Additional Post 8: Trends of Introductory Courses in Australian Universities

One of the more interesting research pieces that I found is a study on introductory programming classes in Australian Universities. From 2001 and 2003, censuses were given throughout the universities about the status of programming classes. The study covers the censuses from 2001, 2003, and 2010, with responses from students and faculty, ranging from how difficult languages were, and how environments were chosen and why.

Comparisons were very interesting to say in the least.

In terms or programming languages, Java had been consistent in being the top language, staying within about 36 % - 41% in popularity compared to the amount of courses. Python followed with 2nd Place while C rounded out the top 3. C# is growing to 4th compared to previous years, due to its introduction later on between 2003 - 2010.






However, some of the reasons as to why students chose these languages to take classes for included the following:
  • Pedagogical Benefits
  • Industry Relevance
  • Degree Structure/Politics
It does play a supporting role into how one of my answers, Java, is relevant to answering my EQ. With its popularity with students and faculty, it shows that it is a relevant part of the software and programming industry, mobile applications included.


Source: Cooper, Graham, Raina Mason & Michael de Raadt. “Trends in Introductory Programming Courses in Australian Universities – Languages, Environments and Pedagogy” Proceedings of the Fourteenth Australasian Computing Education Conference 123 (2012): 33-42. Print. 

Monday, April 28, 2014

Blog 20: Exit Interview

Content:

(1) What is your essential question and answers?  What is your best answer and why?

 My essential question is "What is the best programming language to use when developing mobile applications?" My answers include Java, Objective-C, and HTML5/CSS. The best programming language to use when developing mobile applications is Java because it is the standard language for developing Android applications. It also uses a object-oriented programming paradigm, and makes it essential to learn in the market with other languages as well. With over 1.1 million electronic units such as set boxes, computers, and phones, its integrity in the market is not difficult to see.


(2) What process did you take to arrive at this answer?

It took me a while to arrive at this answer since it was difficult to actually see which language had the most impact on the market. I had started to do research on how to use Java to start developing mobile apps through Android Application Development All-in-One for Dummies by Barry Burd. He explained some history of Java and how Google obtained Android, which became a part of how Java was the main language for the platform. Comparing Objective-C and HTML5 to Java is difficult as Objective-C is very similar but more dynamic in execution as according to Neal Goldstein in iPhone Application Development All-in-One for Dummies but Java has a better outlook with their free-to-use platform and open-source development kit. 

HTML5 may be accessible as a web-based language and standard for the Internet in terms of webpages, making it more accessible on all platforms(Building Android Apps with HTML, CSS, and Javascript, Jepson). However, it is only limited to the web use and can not be saved completely on the device. Independent Components 1 & 2 assisted in my endeavor to arrive at this answer. After working with all three languages and learning how they can be applied(Java with a simple Application, Objective-C and HTML5 basic courses). I arrived at the answer after the research, comparisons, and feeling them out myself.


(3) What problems did you face?  How did you resolve them?

Some problems that I faced during the project included finding a mentorship, finding valid research for each answer, and discovering each aspect that makes the language different from one another. For my mentorship, I was not able to find a top-of-the-line mentorship that completely focused on developing applications due to the confidentiality. Instead, Cal Poly's Student Affairs Information & Technology Services were able to provide me with a mentorship to gain some experience with languages like XML. 

Valid research was difficult at first as finding sources that directly deal with languages is vague in itself. However, looking through databases and Cal Poly's sources helped me find them. Going through tutorial books on each language was a good way to find research as well. This also applies to each aspect of the answers. All are similar in terms of significance but each attribute of the languages that helped me decide were found in multiple programming books, a couple of studies and articles.


(4) What are the two most significant sources you used to answer your essential question and why?


Burd, Barry. Android Application Development All-In-One for Dummies. Hoboken: John Wiley & Sons, Inc., 2012. Book 

Cooper, Graham, Raina Mason & Michael de Raadt. “Trends in Introductory Programming Courses in Australian Universities – Languages, Environments and Pedagogy” Proceedings of the Fourteenth Australasian Computing Education Conference 123 (2012): 33-42. Print.

Both sources were significant sources in answering my essential question. Android Application Development All-in-One for Dummies by Barry Burd provided the framework as to how Java stands out in terms of mobile development and why it plays a significant part in the Android Market, with its iterations, open-source, and object-oriented concepts.

"Trends in Introductory Programming Courses" supported my answer in a significant way as Java is considered to be a language taught at Universities in Australia, holding the top spot with 38.4% as according to students. It also provided a study of how students decide on a programming language to learn in general, with 3 reasons support it.



Be prepared with evidence and specific examples to support any response.  It is also significant to cite sources as you explain.

Friday, April 25, 2014

Blog 19: Independent Component 2

Content:

LITERAL
(a) Statement saying: “I, student name, affirm that I completed my independent component which represents 30 hours of work.”


I, Brian Cabantug, affirm that I completed my independent component which represents 30 hours of work.

(b) Cite your source regarding who or what article or book helped you complete the independent component


Dalrymple, Mark, Scott Knaster & Waqar Malik. Learn Objective-C on the Mac For OS X and iOS. New York: Appress, 2012. Book.

Code School. Code School LLC, 2014. Web. 26 Feb. 2014.

Code Academy. CodeAcademy, 2014. Web. 26 Feb. 2014.

(c) Provide a digital spreadsheet (aka log of the 30 hours).   Post it next to your mentorship log.


DONE

(d) Explanation of what you completed.   


I completed an online course on the basics of Objective-C, which included basic syntax, classes, common methods and mistakes made. I also started on an HTML 5 course, which included up to basic formatting, coding, nesting, and use.
INTERPRETIVE
Defend your work and explain how the significant parts of your component and how it demonstrates 30 hours of work.   Provide evidence (photos, transcript, art work, videos, etc) of the 30 hours of work.


The Notes taken while taking the Objective-C course as well as the progress in the HTML5 course are representative of 30 hours of work as they require coding and learning the logic behind the languages. For example, understanding the objects and how the syntax works for the Objective-C course is important to understand as it will affect how you will display the answer correctly. From learning basic message sending to creating and adding properties to an object, it requires thought and time to execute it properly. As for the HTML5 the coding and understanding the structure and skeleton for websites was simpler but took some time to grasp.

Objective-C Notes


Going over placeholders in Objective-C

Completed a lesson on objects and basic classes

Enumeration which makes linking a string/word to a variable/placeholder easier in a message


Going over lists

Modifying Text Size

Changing Backgrounds of the Site

Creating a "profile" using HTML5

CodeSchool Objective-C Sending Messages



APPLIED
How did the component help you answer your EQ? Please include specific examples to illustrate how it helped.


This Component helped me answer my EQ since it gave me examples of the languages in action and how they differ from Java. Objective-C is more organized in its method building and focuses on linking objects together without too much restrictions in it, during the message sending in the Class Lessons (World 4). HTML5 was very simple to apply and much relies on tags to support its display and use on websites, especially mobile.

Grading Criteria 

  • Log on a digital spreadsheet
  • Evidence of 30 hours of work 
  • LIA submitted to blog