1 / 47

Wednesday 2-4, DH 1046

Wednesday 2-4, DH 1046. COMP 446 / ELEC 446 Mobile Wireless Services Project. Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 8/24/11. Today’s Agenda. Goals People History

sancha
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 Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 8/24/11

  2. Today’s Agenda • Goals • People • History • Resources • Syllabus • Next Week COMP 446 / ELEC 446 - Week 1

  3. Goals COMP 446 / ELEC 446 - Week 1

  4. Goals • Learn what differentiates programming a Smartphone from other software development. • Major Technologies Covered • Apple iPhone / Xcode / Objective-C • Covered in less detail (~1 lecture each) • Google Android • Windows Phone 7 • Web services / ASP.NET • MS-SQL Server • JavaScript iPhone Web Applications • Create a series of small applications leading to a larger final project COMP 446 / ELEC 446 - Week 1

  5. Many Mobile Application Types • Dedicated, native mobile application • iOS (iPhone, iPad, iPod Touch), Android, Windows Phone, Blackberry, etc. • Dedicated application calling a web service • Mobile interface to a heavy lifting server application • Mobile Web Application • mobile.google.com, mobile.live.com, mobile.yahoo.com • iPhone / Safari web application • Important, but not covered in 446 are Widgets, mobile J2ME or applications meant for mobile Java browsers. We concentrate on genuine smartphones. COMP 446 / ELEC 446 - Week 1

  6. People COMP 446 / ELEC 446 - Week 1

  7. Who Am I? COMP 446 / ELEC 446 - Week 1

  8. Birth Through High School New Haven, CT COMP / ELEC 694, Seminar #1

  9. MIT Cambridge, MA BS 1973 MS 1973 Ph.D. 1976 Zork 1979 COMP / ELEC 694, Seminar #1

  10. GE Research and Development Niskayuna, NY First business use of PC (TRS-80) in GE COMP / ELEC 694, Seminar #1

  11. Tandy Electronics (Radio Shack) Fort Worth, TX Deskmate - First graphical Quicken - First graphical Lotus - Foundation for AOL COMP / ELEC 694, Seminar #1

  12. Chips and Technologies San Jose, CA Wingine Windows Graphics COMP / ELEC 694, Seminar #1

  13. Digital Equipment Corporation Boston, MA CTO – PC Group COMP / ELEC 694, Seminar #1

  14. Compaq Houston, TX CTO – PC Group COMP / ELEC 694, Seminar #1

  15. Rice University (2001 – Present) Houston, TX COMP / ELEC 694 Future Personal Computing Technology COMP / ELEC 446 Mobile Wireless Services Project Digital Media Personal Electronics COMP / ELEC 694, Seminar #1

  16. Who are you? COMP 446 / ELEC 446 - Week 1

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

  18. Current Roster (2) • Lan Li • Manan Mehta • Risong Na • Dennis Qian • Caleb Solano • Ming Tang • Daphne Wert • Wen Xing COMP 446 / ELEC 446 - Week 1

  19. Course TA • Richard Latimer • Course TA for first half of the semester • Fellow student for final project COMP 446 / ELEC 446 - Week 1

  20. History COMP 446 / ELEC 446 - Week 1

  21. History • ELEC 446 started Jan 03 using iPAQs, 802.11b and .Net (1.0) Web Services • Operating system premature, poor connectivity • Continued a couple more semesters with next version of software, but connectivity still an issue • COMP 446 cross registered version started fall 05 with emphasis on smartphones • Not well organized • Windows Mobile 3 and GPRS didn’t cut it • Reasonable Internet Connectivity by fall 06 • Beta tools still an issue • 2008 was a banner year for Smartphones • Introduction of the iPhone app store • Initial shipments of Google’s Android • Windows Mobile becoming much less relevant • Wide deployment of 3G networks COMP 446 / ELEC 446 - Week 1

  22. 2009 • iTunes App Store a HUGE success • iPhone remains the smart phone to beat • Limited to AT&T – others wanted iPhone competitor • Great support for Google Android • Second Generation phones started to come out • New competition from Palm • Blackberry and Nokia still holding on to large customer base • Windows Mobile continues to lose ground – but many have been hurt counting Microsoft out; particularly in an important area. • Ecosystem taking smart phones seriously and smart phones starting to thrive COMP 446 / ELEC 446 - Week 1

  23. 2010 • Smartphones everywhere • iTunes App Store grows • Close to 250K apps • Close to 50K publishers • Approx 375 apps submitted per day • Stats per http://148apps.biz/app-store-metrics/ • iPad released. • Same basic foundation as iPhone and iPod Touch • Incredible growth • Launches new product category – different than all previous tablet attempts COMP 446 / ELEC 446 - Week 1

  24. 2010 • 2nd Quarter stats: Sales numbers and ranking differ by research study, but clearly show: • Fast rise by Android platform and modest % rise by iPhone • Decrease in market share from Symbian, RIM and Windows Mobile, Palm • Android 2.x and various ‘Droid’ devices provide first real competition to the iPhone. • About 200,000 Android devices being sold every day. • Palm fades – but is now part of HP – but is HP fading?? • Blackberry not giving up • Windows Phone 7 announced based on Silverlight and XNA programming stack • Strong rumors of Verizon iPhone • Sprint ships first 4G phone • New announcements every day COMP 446 / ELEC 446 - Week 1

  25. 2011 • Smartphones more the rule than the exception in many environments • iTunes App Store grows • Close to 460K apps (over 570K have been created) • Over 100K publishers • Approx 744 apps submitted per day • Stats per http://148apps.biz/app-store-metrics/ • iPad 2 released. • Many competitors. None getting any traction COMP 446 / ELEC 446 - Week 1

  26. Results from 2009 Class • The Good News • 9 Students – nice small class  • Creation of Rice iPhone Application • Great Evaluations • C-Overall: 1.00 / 1.93 • C-Organization: 1.00 / 1.91 • C-Challenge: 1.00 / 1.85 • C-Assignments: 1.38 / 1.95 • I-Organization: 1.13 / 1.69 • I-Presentations: 1.25 / 1.89 • I-Responsiveness: 1.13 / 1.69 • I-Atmosphere: 1.13 / 1.71 • I-Independence: 1.13 / 1.88 • I-Stimulation: 1.13 / 1.71 • I-Effectiveness: 1.13 / 1.83 • I-Responsibility: 1.00 / 1.53 • The Not as Good News • C-Workload: 4.00 / 3.01 • I-Knowledge 1.63 / 1.64 COMP 446 / ELEC 446 - Week 1

  27. Results from 2010 Class • 2010 Course filled to limit of 10 on first day • Limit raised to 16 on second day, filled in hours • Acquired larger room • Registration grew to 22 before first class. • Accepted 5 walk-ins for a total of 27 • More topics to cover in 2010 • Some things had to be de-emphasized to make room • Evaluations were good, but markedly worse than 2009. • Far too many people to effectively support • Some students signed up for course because of cancellation of another specialization course. COMP 446 / ELEC 446 - Week 1

  28. 2011 Class • 2011 Course filled to limit of 16 on first day • Limit raised to 17, but only through reclassification of one student • Maintaining hard line on class size • If anyone plans to drop, please let me know so I can inform a person from the waiting list. • Will devote more time to iOS and ecosystem topics at the expense of some ancillary topics. COMP 446 / ELEC 446 - Week 1

  29. Prerequisites • Formal prerequisites for COMP/ELEC 446 dropped • There are no other courses teaching Xcode, Objective-C, ASP.Net or other web programming • Experience from last year clearly shows need for: • An interest in cool connected mobile devices is a must. • Homework will be satisfying when completed, but will likely take a long time. • Understanding of basic object oriented programming concepts (class, instance, inheritance, etc.) • Without OOP foundation, you will get lost in Objective-C tutorial and likely have trouble catching up COMP 446 / ELEC 446 - Week 1

  30. Object-Oriented Terms • Class (description/template for an object) • Instance (manifestation of a class) • Message (sent to objects to make them act) • Method (code invoked by a Message) • Instance Variable (onject-specific storage) • Inheritance (code-sharing mechanism) • Superclass/Subclass (Inheritance relationships) • Protocol (non-class-specific method declaration) • Source: CS193p Lecture #1 COMP / ELEC 694, Seminar #1

  31. Resources COMP 446 / ELEC 446 - Week 1

  32. Hardware / Software • Development Macs • IT run Campus Macs loaded with XCode software environment and emulators • Dedicated Mac Mini available for class use via LogMeIn • 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) • DiscountASP.Net account, www.comp446.com/ws<Application> where Application is your application name (e.g. www.comp446.com/wsAssignments) • Access to MS SQL Server 2008 located on DiscountASP.Net • Credentials to be set up and disseminated later if needed. COMP 446 / ELEC 446 - Week 1

  33. 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 1

  34. Course Format • One formal classroom meeting a week • Round table, project management style • Likely optional Monday review / Q&A session with TA • Typical class flow: • Events of the week • General discussion / review of previous week’s technology or assignment • Short lecture on a technology. • Discussion of current project, future projects and / or next step in current project • Homework • Weekly projects through 10/26/11 class (due 11/03/11) • Homework and mandatory videos • Videos must be watched before class • Assignments due day after class (8 days to complete). • You will have all the resources needed to start early and get ahead. • Final project 10/19/11 – 11/30/11 COMP 446 / ELEC 446 - Week 1

  35. 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 1

  36. OS X & Xcode version • OS X Lion has desirable but not required features • Developing iOS apps does not require much disk space or GHz, but likes big screen. • Borrows from iOS • Not loaded on University Macs • Xcode 4.1 is desired, not required • Definite improvement in integration and debugging • Different than version on videos. Possible confusion. COMP 446 / ELEC 446 - Week 1

  37. Optional Sessions and Support • Sunday or Monday office hours with TA. Schedule to be determined between class and Richard Latimer. • Ability to email questions to me or to Richard. • Richard instructed to respond conceptually – not just provide solutions. Knowing where to look or how to debug is a very important skill for you to learn. COMP 446 / ELEC 446 - Week 1

  38. Syllabus COMP 446 / ELEC 446 - Week 1

  39. Syllabus Overview • First Half of Semester • Pedagogical approach to iPhone programming through a series of lectures and assignments that build on each other • Mandatory iTunes-U lectures covering basic iOS functionality • Second Half of Semester • Dominated by one large project worked on by teams of 2. • Students choose projects, partners, platforms • Lectures covering subjects of general interest to all, but specific interest only to those working with the technologies COMP 446 / ELEC 446 - Week 1

  40. 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 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, Dev Tools, 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 1

  41. 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 1

  42. 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 1

  43. 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 1

  44. Grading • 20% Class participation • 30%Assignments other than the final project • 50% Final Project • 10% Project Specification • 10% Major Features complete • 10% Presentation to the class • 20% Overall project as demonstrated by final code • Assignment #6 will likely have optional elements required for potential A+ COMP 446 / ELEC 446 - Week 1

  45. Expectations • Have Fun • I will provide some toys, hardware and software – make something of it • Energy beyond one meeting a week • Don’t wait until the night before class to start assignments– you will not succeed • Team and sub-team meetings on your own • Others will depend on you • Team effort • Please remember that this is still an experimental class format and mobile technology changes quickly • Things may shift as we go along • Feedback highly encouraged COMP 446 / ELEC 446 - Week 1

  46. Week 2 • Watch CS193p lectures #1 and #2 • Preferably before Saturday. Definitely before next class. • Complete CS193p Assignments #1, #1 Walkthrough • Try and complete before next class. Due day after next class. • Submit assignments, review lectures at www.comp446.com • Start thinking about big project • Really – start thinking about big project! • Next week’s lecture – mostly review of first videos and intro to Objective-C. COMP 446 / ELEC 446 - Week 1

  47. Discussion

More Related