Thursday, May 29, 2014

Additional Post 9: When it all comes down to it...

Senior year has been a blast, providing me with great experiences and working with a subject that I enjoy working on. Software development was a topic that I had been curious about; being able to research and learn the basics and go in-depth was an enlightenment.

After finishing up with this project, I will being going to California State University, Fullerton to work towards a degree in Computer Science. This will guide me in my endeavor to study about software development even more. Hopefully, I can gain enough experience to work in the game development specific path for the degree.


Thursday, May 22, 2014

Blog 22: Senior Project Reflections

Directions: Please answer the following questions and turn it in to the blog.
Due Date: The day after your block presentation by 8:00 A.M.


(1) Positive Statement

What are you most proud of in your Block Presentation and/or your senior project? Why?

I am most proud of my lesson and content for my block presentation and being able to explain my content as simply as possible while keeping the core of it and the basics to the audience. I am also proud of conducting my interviews and being able to teach this information to many others. I am really proud of my the lesson and the content that I presented in my block presentation as programming languages can be obscure to understand. Being able to conduct my interviews and presenting the information about technology made me proud as it gave me confidence to be able to gain primary sources for my work while understanding how to present the information to others.

(2) Questions to Consider

a.     What assessment would you give yourself on your Block Presentation (self-assessment)?

AE               AP       CR       NC

b.     What assessment would you give yourself on your overall senior project (self-assessment)?

AE       P          AP       CR       NC

(3) What worked for you in your senior project?

My research, interviews, presentations, and my independent components worked for me in my senior project. Research was helpful, albeit limited to certain areas. The information was very helpful and I was able to answer my essential question. Interviews worked for me as well as some of the comments mentioned by my interviewees. They gave me information and resources that led me to describe my answers. Presenting on my topic really worked as it gave me the confidence to work on how to organize my information and what will help the audience understand. Independent Components solidified some of my answers and gave me experience in how each programming language differed.

(4) (What didn't work) If you had a time machine, what would have you done differently to improve your senior project if you could go back in time?

If a time machine was available, I would have spent more time looking for a good mentor ship. Although mentoring at Cal Poly Pomona's SAITS was a good experience, it was difficult to connect it to my essential question and learning about mobile applications, as SAITS focuses on IT Services rather than development. I would have also looked into modifying my activity. My activity for my Presentation, although creative in my opinion, was difficult to really understand if they did not have much experience in programming.

(5) Finding Value

How has the senior project been helpful to you in your future endeavors?   Be specific and use examples.


This senior project has been helpful in my future endeavors as it showed me that studying this topic is what I want to be doing. Learning the basics of each language and studying the unique aspects of them solidified my working on and studying computer science and application development in the future. The senior project presentations has been one of the best sources for me to learn how to present and speak in public. It will help me in any public speakings given and how to handle myself for any presentation. With the independent components, it gave me the experience to program and work with languages and how much I enjoy doing so.

Tuesday, May 13, 2014

Blog 21: Mentorship

Content:
LIA Response to blog:
    Literal
·     Log of specific hours with a total and a description of your duties updated on the right hand side of your blog

Done

·     Contact Name and Mentorship Place

Cathy Bates, Cal Poly Pomona Student Affairs Information & Technology Services

    Interpretive
     What is the most important thing you gained from this experience? Why?

The most important thing that I have gained from the experience of being mentored at Cal Poly SAITS is that I was able to get a first-hand look at how the branch works to help solve technical problems among Student Affairs. This is important to me as the idea of programming is simplifying in solving problems and what it takes to streamline the solution for others to use. All of this comes from where the 

   Applied
     How has what you’ve done helped you to answer your EQ?  Please explain.

What I have done at Cal Poly SAITS has helped me answer my EQ by looking at what technicalities fall into programming languages and how they differ from one another. When I studied about XML and its use for the preparation of creating an API (application programming interface), I found that it was very similar to HTML5 and what makes it useful, which helped me in looking at the languages from a different perspective. It has also helped me in conducting interviews to help answer my EQ.

*Please do not turn in your mentorship hours to the office.  After we collect the total list from all seniors, we will turn in one piece of paper with all hours for everybody.  It is counted as 50 hours of the 200 you need in order to graduate from I-Poly.  The 10 hours in the summer have already been added to your community service total.

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

Sunday, March 30, 2014

Additional Post 7: Prep for Presentation

Just an update from Mentorship:

So after learning about XML and how it can be utilized for the API, my mentor Cathy Bates asked me to create a power point on it and present it out to all of SAITS. It's going to be a cool experience. I am almost done with the powerpoint so that I can focus on how to present the information in practical terms.

Powerpoint can be found here. (As of this post, it is incomplete).

Wednesday, March 26, 2014

Blog 18: Answer 3

Content:

Just like you did for answer 1 and 2 post your:


EQ: What is the best programming language to use when developing mobile applications?

Answer #3:  One of the best programming languages to consider for mobile applications include HTML5.

  1. Due to HTML5 being a web-based language, its portability and access on multiple platforms through browsers is an essential aspect for applications. (Accessible through Chrome on both iOS and Android)
  2. HTML5 is a fairly simple language to learn such as nesting, tags, and proper syntax. It makes for organization simple to show.
  3. HTML5 can be combined with other languages such as Javascript and CSS to make applications more dynamic and sophisticated in its presentation and functionality.

The research source (s) to support your details and answer

Jepson, Brian and Jonathan Stark. Building Android Apps with HTML, CSS, and JavaScript. Sebastopol: O'Reilly Media, Inc., 2012. Book.

"Overview" PhoneGap Documentation, PhoneGap., n.d. Web. 26 Mar. 2014.

Concluding Sentence

With HTML, Mobile Applications can be developed based on familiar and simple web-based systems, providing access for most platforms, simple or complex.

*Write your answer like you would write a thesis statement.  Please don't give us one or two words or start your sentence with "by".    Thanks!

Monday, March 3, 2014

Blog 17: Fourth Interview Questions

Content:

Post 20 open-ended questions for approval you want to ask an expert in the field of your senior project.  The focus of your questions should be on your many answers.   

  1. What is the best programming language to use when developing mobile applications?
  2. How would the differing mobile markets greatly influence the type of programming languages developers use?
  3. What new mobile language is slowly growing in the mobile market?
  4. What makes Objective-C more desirable to learn rather than other mobile languages?
  5. What other fundamentals are really important in programming other than object-oriented concepts?
  6. How would HTML and CSS be a different language for mobile development?
  7. What are the lesser used programming languages for mobile development in the industry?
  8. Why are some languages more common than others?
  9. How can Windows mobile application process keep up with Android and iOS development?
  10. What are the main differences between C# and Objective-C that make them run on different platforms?
  11. How would a language such as PHP or Ruby be used more often in development?
  12. What is the most important factor to consider for mobile development?
  13. How important is it for a set language to be chosen for mobile development?
  14. What goes into deciding what language to use when creating mobile applications?
  15. How does the development environment play a factor in a language set?
  16. What makes a programming language a good language to use for mobile use?
  17. How often are shared libraries used in multiple projects?
  18. Why is developing mobile application using web languages different in planning and use?
  19. What language do you believe is the most important language to learn in this industry?
  20. What is the most important platform to use for mobile application development?

If you have already interviewed someone two times, you aren't allowed to interview that same person without House teacher approval.

The interview itself is not due till Friday April 11 to turnitin.com.   However, we want to give you as much time as possible, so we are asking you to complete the blog now. Remember that in addition to turning in the interview, you also need to turn in the verification sheet to your House teacher.

Friday, February 28, 2014

Additional Post 6: XML Training at SAITS

Just a little update on what I have been doing for a majority of my time at my mentorship.
I have just finished up a course regarding the programming language XML, which stands for eXtensible Markup Language. This language is commonly used among web-based languages like HTML. This is a unique type as it does absolutely nothing without another language to work with. XML works as a type of data storage and island for streamlining data output. It stores the information on a grid, with custom organization tags and attributes and can be accessed when called correctly. It uses a format called the DOM (Document Object Model) to organize its information, with tags, attributes, nodes and families. XML is paired up with various functions for verifying the data and such, such as XPath, XSLT (Extensible Stylsheet Language Transformations ), XML Schema, and DTD(Document Type Definitions).


How to Declare Elements

Example XSLT Template to convert XML data to pdfs or HTML (Stylesheet)

SAX (Simple API for XML) to verify XML data

XPath to reference for correct XML Data format

XSLT Graph

XML Notes


Soon, I will be working on a way to retrieve information from another application and storing it in an XML file with organized results at SAITS.

Wednesday, February 26, 2014

Blog 16: Advisory Meeting #2

Content:

Just like you did for answer 1 and the objectives for Purther's textbook work for answer 2 post:

EQ

Answer #2 (Write in a complete sentence like a thesis statement)*
The best programming language to use when developing mobile applications is Objective-C.

3 details to support the answer (a detail is a fact and an example)

  1. Objective C is the main programming language used for Apple's iPhone Applications, thus making it an important language to learn in the industry. EX: iPhone 5 applications run on Objective-C / XCode
  2. Objective C is a more dynamic language to use for development as it allows for processing some activities after compiling, thus making it more flexible and powerful. (EX: Dynamic Binding, sophisticated monitoring on the application)
  3. Since Objective C incorporates C's functions, it borrows all the benefits of programming with C, such as choosing whether to use object-oriented programming or procedural functions.
The research source (s) to support your details and answer
 "Why Objective-C?" iOS Developer Library. Apple Inc., n.d. Web. 2010 Nov. 15.

Concluding Sentence
Objective-C is an essential language to learn for mobile development, as it is a part of iOS' programming standard, making their applications very simple and dynamic for use.

*Write your answer like you would write a thesis statement.  Please don't give us one or two words or start your sentence with by.    Thanks!

On Friday 2/28 for Advisory #2, you will be presenting what you have from this blog.  The presentation is more like a share-out and should not last longer than 2 minutes. You don't need a visual.   

Wednesday, February 12, 2014

Blog 15: Independent Component 2 Approval

Content:

Please review the component contract at page 12 of the senior project packet.   The independent component 2 is an opportunity for you to add a dimension of creativity and/or an additional outlet for research.  The goal of the component is for you to explore your answers in more depth.  On Friday April 25, 2014, you will be turning in the following to your blog to prove completion of this component:

·       Log of hours on an digital spreadsheet (with total number of hours included)
·       Evidence of the 30 hours of work (e.g. transcript, essays, tests, art work, photographs) as digital artifacts
·       LIA
 The senior team expects that your log will be on the right hand side of your blog with your WB, independent component log 1 and mentorship log.   In addition to this,  we expect that you will be able to prove the total 30 hours of work by submitting evidence to the blog by the due date.  For this blog post and approval, please answer the following questions.

1.  Describe in detail what you plan to do for your 30 hours.
For this Independent Component, I plan on taking an online course for one or more programming languages such as Objective-C, Javascript, or PHP. This will include practicing coding and understanding syntax, uses, and how to properly code using the language. The site that I will be using will be either Code School or Code Academy.
2.  Discuss how or what you will do to meet the expectation of showing 30 hours of evidence.
I will take screenshots of what I am learning as well as notes to show that I am understanding how each language works.
3.  And explain how what you will be doing will help you explore your topic in more depth.
This will help me explore my topic more in-depth because these are common languages used for mobile development. Learning the language and understanding how they work can help me explore the idea as to why they are used as standard languages for mobile developers.
4.  Post a log on the right hand side of your blog near your other logs and call it the independent component 2 log.
DONE
Your answers to the questions should be supported with details and examples for the senior team to understand what you plan to do.   Once we review your Blog Post 15, your house teacher will discuss with you the approval of your plan.  If it is approved, please start working on it.  If it is not approved, your house teacher will explain why.  It is your job to address the concerns so you can get your component approved.

Thursday, February 6, 2014

Blog 14: Independent Component 1

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 represent 30 hours of work.
  • (b) Cite your source regarding who or what article or book helped you complete the independent component
Burd, Barry. Android Application Development All-In-One for Dummies. Hoboken: John Wiley & Sons, Inc., 2012. Book.

  • (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 was able to complete a basic rough prototype of an android application running on Java. It does basic functions, such as switching screens after a button press and can switch to a website after pressing another button. Activities are mostly linked as such.
  • 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.  
 I had been working programming, designing and organizing an android application for my independent component. My work covered all aspects of understanding the language and how to design an app. I had also learned how to connect classes and activities together to act as an action. Doing things such as linking Intents, coding strings for XML buttons to share throughout the application, and putting the design together to test it out. It represents 30 hours of work since most of the process would be split up among different people to create a prototype, while I decided to take all aspects of the process and attempt to create an application for android users.

Blueprint rough draft: click here
Add class example
Confirmation Screen

XML code for all string variables for app to use for display purposes

XML code to organize button values and screen variables

Screenshot of how the SDK and Eclipse Development Environment

First prototype version of testing app

Code from home screen

Clicking on logo button leads to...

School website.


  • APPLIED
    How did the component help you understand the foundation of your topic better?  Please include specific examples to illustrate how it helped. 
This component helped me understand the foundation of my topic better since it helped me realize some of the concepts and importance of development planning as well as testing. For example, I was going through with my design of my plan and my blueprint. It helped me execute the design of my app when developing a bit more simpler and allowed me to focus more on the code and problems that came up. Another thing that came up was understanding my language. I had to use my knowledge of Java to learn how to implement the idea of intents and switching screens through a button click with the method. It helped me see the works of what steps are needed to go into application development.

Blog 13: Lesson 2 Reflection

Content:

1. Positive Statement

What are you most proud of in your Lesson 2 Presentation and why?


I am most proud of my explanation of my answer during the presentation because explaining a programming language within 20 minutes of speaking is very difficult. I think I did as well as I could to explain it within the
limited time, along with definitions and object-oriented concepts.
2. Questions to Consider
       a.     What assessment would you give yourself on your Lesson 2 Presentation (self-assessment)?

       AE       P          AP       CR       NC

       b.     Explain why you deserve that grade using evidence from the Lesson 2 component contract.

I felt I had explained my content pretty well, using props and my object oriented activity. I felt I could be heard throughout the room and I had eye-contact with the audience. I also hit time and referenced some of my research with the Java Website and the Android Application Developement. The hook and activity included the whole audience and did aid in showing others the idea of Java being a part of a huge mobile development environment.

3. What worked for you in your Lesson 2?

What worked for me in my Lesson 2 was the activity and my explanation of the answer.

4.  (What didn't work) If you had a time machine, what would you have done differently to improve your Lesson 2?

However, I wish I had gone back and cited more resources that I had within the presentation. It was something I only did at the end so it hindered my ability to back up what I was teaching.

5. Finding Value
What do you think your answer #2 is going to be?  

I think my 2nd answer is either going to be HTML or Objective C.

Monday, January 20, 2014

Additional Post 5: Independent Component 1 Update 2

I have started to layout the actual application on Android by starting with the homescreen. However, I still need to code the functions of each button and image so that it can be tested out. Also, the activities for each one will be created soon so it will begin.

Homescreen layout.

Code for app. Still needs actions for each button

Wednesday, January 15, 2014

Blog 12: Third Interview Questions

Content:

Post 10 open-ended questions for approval you want to ask an expert in the field of your senior project.  The first question should be your essential question and the other nine must be about the foundation of your essential question or help you answer your essential question.

If you have already interviewed someone two times, you aren't allowed to interview that same person without House teacher approval.

The interview itself is not due till Friday February 21st to turnitin.com.   However, we want to give you as much time as possible, so we are asking you to complete the blog now. Remember that in addition to turning in the interview, you also need to turn in the verification sheet to your House teacher.


1. What is the best programming language to use when developing mobile applications?
2. Which programming language has the most useful assets when working on applications?
3. What language is essential for any programmer to have experience with?
4. How would a mobile developer prepare for a new project?
5. How much planning is required before coding/ development occurs?
6. When does object-oriented programming become a huge part of the application development process?
7. Why would development require much planning?
8. How does the user's opinion matter when developing an application?
9. How does a prototype help your team discover any bugs within the app?
10. What is your preferred language to use when coding an application?

Thursday, January 9, 2014

Blog 11: Mentorship 10 hour Check

Content:

1.   Where are you doing your mentorship?


I am currently doing my mentorship at Cal Poly Pomona's Student Affairs Information & Technology Services Office.

2.   Who is your contact?


Director Cathy Bates

3.   How many total hours have you done (total hours should be reflected in your mentorship log located on the right hand side of your blog like your WB)?


Currently have 14 hours
   
4.   Summarize the 10 hours of service you did.


For my first 10 hours of service I have done, I was able to experience multiple aspects of SAITS such as going around the campus and observing the problems other departments face, as well as meetings regarding the improvement of service for SAITS. Some other aspects include the process for clearing (D-BAN) and preparing (Imaging) computers to prepare them for deployment.

5.   Email your house teacher the name of your contact and their phone number confirming who they should call to verify it.  


It shall be done.