1 / 29

Wednesday 2-4, DH 1046

Wednesday 2-4, DH 1046. COMP 446 / ELEC 446 Mobile Device Applications. Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 8/31/11. Today’s Agenda. Events of the week

hong
Download Presentation

Wednesday 2-4, DH 1046

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wednesday 2-4, DH 1046 COMP 446 / ELEC 446 Mobile Device Applications Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 8/31/11

  2. Today’s Agenda • Events of the week • Current Enrollment • Logistics & Syllabus • Review of current assignment • Next Week • Cocoa Touch and Objective C • Assignment 2, Videos 3 and 4 • Some thoughts on the legacy of Steve Jobs COMP 446 / ELEC 446 - Week 2

  3. Events of the Week • Exercise in keeping current via past week’s events • Originated as part of my doctoral exams MANY years ago • Very important part of my life as corporate Chief Technology Officer • Typically start all of my classes with this geared towards class relevant topic. • High student participation desired COMP 446 / ELEC 446 - Week 2

  4. Events of the Week • Steve Jobs resignation • Justice Dept. to block AT&T’s T-Mobile deal • H-P's One-Year Plan • HP TouchPad users may see Android on their tablets • HP answers people trying to score a $99 TouchPad • Amazon Could Sell Five Million Tablets in Three Months • Google settles drug ad claim for $500M • Google Slide, slides away • Skype launches App Store • iTunes' streaming music finally shows up COMP 446 / ELEC 446 - Week 2

  5. Current Roster • Waseem Ahmad • Joe Abdou • Carrie Boland • George Chen • Emmanuel Fuentes • Ivan Hernandez • Myuran Kanga • Sunny Kim COMP 446 / ELEC 446 - Week 2

  6. Current Roster (2) • Lan Li • Manan Mehta • Risong Na • Dennis Qian • Caleb Solano • Daphne Wert • Wen Xing • Fred Liu COMP 446 / ELEC 446 - Week 2

  7. Course TA • Richard Latimer • TA sessions: Monday, Wednesday 8-9pmMudd COMP 446 / ELEC 446 - Week 2

  8. Assignment Website • www.comp446.com/wsAssignments • Also available through www.comp446.com • Uses your Rice NetID as login; authentication through AdRice • File submissions limited to 25MB; hopefully much shorter! • If you have any issues submitting assignment #1, email me. COMP 446 / ELEC 446 - Week 2

  9. Assignment Files • Unless otherwise instructed, submit assignment files as a zip file of Xcode project directory. • Ensure that all resources are part of the project directory so they are included in zip. • Clean project before archiving. Greatly reduces size. • Screen shots or PDF documents preferred for some assignments (when indicated). • OK to make multiple submissions when both file types needed – but not of individual Xcode project files. COMP 446 / ELEC 446 - Week 2

  10. Hardware / Software • Development Macs • IT run Campus Macs loaded with XCode software environment and emulators • If you receive a request for developer group credentials, user name is xcode, pw given in class. • Dedicated Mac Mini available for class use via LogMeIn • www.LogMeIn.com. Account name: Comp446@scottcutler. PW given in class. • On Mac, Username = Comp446. Password given in class • Devices • A few older (personal) iPhones available for student use • 2 Windows Phone 7 Device available • A few Motorola Droid (Android) devices are available • Server (likely not needed by students) COMP 446 / ELEC 446 - Week 2

  11. Software • Course Website: www.comp446.com • assignment submission website linked through www.comp446.com • iPhone Developer Program • iPhone Documentation available at http://developer.apple.com • Students will be enrolled in Rice’s iPhone University Developer’s Program • You should have already responded to invitations COMP 446 / ELEC 446 - Week 2

  12. iPhone Development Videos • Leveraging iTunes-U, Stanford University CS193P course. • Significant homework will be in the form of watching external 1hr videos and most of the coordinated exercises. • Expect 2 full and possibly one optional video per week as well as one application through the first half of the semester • You will eventually watch all of the CS193P lectures, but only do problems up to and including assignment 6 • This was an experiment past two years which proved quite effective. It will be nearly impossible to do the assignments without watching the videos. • Logistics: • iTunes => App Store => iTunes U => Stanford => iPhone Application Programming • Subscribe and download everything from Fall 2010 course offering • http://www.stanford.edu/class/cs193p- Download fall 2010 session available at http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-fall COMP 446 / ELEC 446 - Week 2

  13. Who is Paul Hegarty • Better question: Why is an Objective-C string called NSString • How are these two questions related and why is it relevant to the high quality of these videos. COMP 446 / ELEC 446 - Week 2

  14. Object-Oriented Terms • Class (description/template for an object) • Instance (manifestation of a class) • Instance Variable (object-specific storage) • Message (sent to objects to make them act) • Method (code invoked by a Message) • Inheritance (code-sharing mechanism) • Superclass/Subclass (Inheritance relationships) • Protocol (.h without .m template to implement some classes) • Source: CS193p Lecture #1 COMP 446 / ELEC 446 - Week 2

  15. COMP 446 (tentative) Syllabus • 8/24/11 Introduction / What makes mobile apps special Videos: Lecture 1. Introduction to Cocoa Touch, Objective-C, Tools, and MVC (September 21, 2010) Lecture 2. Building a Simple Calculator (September 23, 2010) Assignment: #1 and #1 Walkthrough - Calculator Due: Preferably watch videos this week, definitely by 8/30. Assignment due 9/1/11. • 8/31/11 Discussion of first applications, Development Environment Videos: Lecture 3. Objective-C and Foundation Frameworks (September 28, 2010) Lecture 4. Foundation and Memory Management (September 30, 2010) Assignment: #2 Function Calculator (Due 9/08/11) • 9/7/11 Intro to Cocoa Touch, Objective-C, Using Objective-C, Foundation framework Videos: Lecture 5. Protocols and Views (October 5, 2010) Lecture 6. Application & View Controller Lifecycle, Navigation Controller (October 7, 2010) Assignment: #3 Graphing Calculator (Due 9/15/11) • 9/14/11 ASP.Net with a little HTML Videos: Lecture 7. More Controllers of Controllers, iPad, Universal Applications (October 12, 2010) Lecture 8. Gesture Recognizers (October 14, 2010) Assignment: #4 Universal Calculator (Due 9/22/11) • 9/21/11 iPhone (pseudo) Web Apps / Browser Capabilities Videos: Lecture 9. Image View, Web View, and Scroll View (October 19, 2010) Lecture 10. Table View (October 21, 2010) Assignment: #5 Pictures Places (Due 10/06/11) COMP 446 / ELEC 446 - Week 2

  16. COMP 446 (tentative) Syllabus • 9/28/11 SQL 101 Videos: Debugging Tools (October 22, 2010)Kleiner Perkins iFund (October 15, 2010) Assignment: None. Review previous material • 10/5/11 Creating and Consuming Web Services Videos: Lecture 11. Persistence (October 26, 2010) Lecture 12. Core Data and Table Views (October 28, 2010) Assignment: #6 Core Data Places (Due 10/20/11, but watch lectures prior to 10/12/11 class) • 10/12/11 Final Project discussion and Pairing Videos: Lecture 13. Blocks and Multithreading (November 2, 2010) Lecture 14. Core Location and Map Kit (November 9, 2010) Assignment: Final Project Proposal (Due 10/18/11 along with Core Data Places due 10/20/11) • 10/19/11 iOS 5 Videos: Lecture 15. Editable Text, Modal View Controllers, and View Animation (Nov 11, 2010) Lecture 16. Core Motion, Segmented Control, and Alerts (November 16, 2010) Assignment: Final Project, Stage 1 (Due 10/27/11) • 10/26/11 Android Videos: Lecture 17. Media (November 18, 2010) Lecture 18. Accessibility on iOS: Make an App for Everyone (November 30, 2010) Assignment: Advanced Feature App (Due 11/03/11) COMP 446 / ELEC 446 - Week 2

  17. COMP 446 (tentative) Syllabus • 11/2/11 Windows Phone 7, Final Project Prep Videos: Assignment: Final Project, Stage 2 (Due 11/10/2011) • 11/09/11 Final Project Prep / iPhone v. Android v. Windows Phone 7 group discussion Videos: Lessons from Bezos, Pincus, Young: CEO 2.0 (November 12, 2010) (Optional) LinkedIn: Shipping with CoreData (November 5, 2010) (Optional) Assignment: Final Project, Stage 3 (Due 11/17/2011) • 11/16/11 Final Project Prep Videos: Building Flipboard (November 19, 2010) (Optional) Assignment: Final Project Presentation (Due 11/30/2011) • 11/23/11 Thanksgiving – Continue Final Projects on your own • 11/30/11 Demonstrate Final Projects to class • 12/4/11 Class Offsite – Sunday (tentative) • Finals Submission of final code due by official finals date COMP 446 / ELEC 446 - Week 2

  18. Final Project • To be determined by end of 6th week • Can target iOS, Android or WP7 device • Topic chosen class before mid semester break • Proposal submitted by 10/18/11 • Full Spec 10/27/11 • Various milestones including presentation to class on 12/30/11 • Final code for project incorporating comments from presentation due on the official finals date of the course. • This is VERY important: If you do not have a great project definition, the 2nd half of the course will suffer. With a great project, this will be an exciting course. • Projects can be done solo and in pairs. Richard Latimer can not be part of project team. • Great if your project could have life after the class finishes COMP 446 / ELEC 446 - Week 2

  19. Assignment #1 Questions COMP 446 / ELEC 446 - Week 2

  20. MVC and Xcode Demo COMP 446 / ELEC 446 - Week 2

  21. Week 3 • Watch CS193p lectures #3 and #4 • Preferably before Saturday. Definitely before next class. • Complete CS193p Assignment #2 • Try and complete before next class. Due day after next class. • Submit assignments, review lectures at www.comp446.com • Start thinking about big project • Next week’s lecture – Objective-C. COMP 446 / ELEC 446 - Week 2

  22. The Legacy of Steve Jobs COMP 446 / ELEC 446 - Week 2

  23. Waves of Technology • Every 10 years or so, something big changes • Core leaders of this technology often young • Luck or Skill • Many people have one great idea, some two • Few have one great idea after another • Often requires excellence in multiple areas • Risk and Failure COMP 446 / ELEC 446 - Week 2

  24. First or Best • Being first gives you a head start, but also paints a target for those who follow behind. • Steve Jobs often took an existing area and through a set of bold moves changed the paradigm giving people what they really wanted – or would discover that they needed. COMP 446 / ELEC 446 - Week 2

  25. Importance of Owning Solution • Allows differentiation and future shaping in cost competitive environment. • Eases introduction of new technology • Enables bold moves • Great competitive barrier to entry • But can also cost significant business if not at or near best of breed in an important area. COMP 446 / ELEC 446 - Week 2

  26. Master of Presentations • 1983 Apple Keynote-The "1984" Ad Introduction • 1984 Superbowl Commercial • The Lost 1984 Video: young Steve Jobs introduces the Macintosh • The charisma of Steve Jobs (video roundup) COMP 446 / ELEC 446 - Week 2

  27. Hyperbole • Apple iPad Keynote in 2 minutes! [HD] • Back To The Mac in 104 seconds • Incredible amazing awesome Apple • The Original Apple Keynote Cutdown. No cuts are repeated.Done with iMovie, which is really awesome... COMP 446 / ELEC 446 - Week 2

  28. My Most Famous Picture Yep, it’s me COMP 446 / ELEC 446 - Week 2

  29. Discussion

More Related