Lecture 1

January 7, 2018 | Author: Anonymous | Category: Engineering & Technology, Computer Science
Share Embed Donate


Short Description

Download Lecture 1...

Description

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 [email protected] 8/22/12

Wednesday 2-3:30, DH 1046

Goals  Learn what differentiates programming a Smartphone from other

software development.  Provide Thorough Exposure to iOS Ecosystem 

Apple iPhone / iPad / Xcode / Objective-C

 Cover (but in less detail ~1 lecture each)    

Google Android Windows Phone 8 Web services / HTML / HTML 5 / ASP.NET SQL Server

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

2

Process  Learn iOS and Objective-C through a series of small applications  Leverage an excellent set of online videos to augment a mixture of

lectures and seminars.  Develop an awareness of the changing factors influencing the

mobile industry.  Apply this knowledge for a final project taking most of the second

half of the semester

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

3

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.

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

4

PEOPLE

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

5

Who Am I?

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

6

Birth Through High School

New Haven, CT

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

7

MIT

Cambridge, MA

BS MS Ph.D. Zork SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

1973 1973 1976 1979 8

GE Research and Development

Niskayuna, NY

First business use of PC (TRS-80) in GE SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

9

Tandy Electronics (Radio Shack)

Fort Worth, TX

Deskmate - First graphical Quicken - First graphical Lotus - Foundation for AOL SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

10

Chips and Technologies

San Jose, CA

Wingine Windows Graphics SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

11

Digital Equipment Corporation

Boston, MA

CTO – PC Group

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

12

Compaq

Houston, TX

CTO – PC Group

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

13

Rice University (2001 – Present)

Houston, TX

COMP / ELEC 694 Future Personal Computing Technology

COMP / ELEC 446 Mobile Device Applications

Digital Media Personal Electronics Useful Applications SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

14

Who are you?

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

15

Current Roster  Victor Acuna  Ryan Artecona  Gbenga Badipe  Joel Baranowski  Peter Chang  Joan Chao

 Heaven Chen  Alex Chiu SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

16

Current Roster (2)  Lingo Dai  Weibo He  Sahil Hingorani  Bill Robertson  Frank Salinas  Tyler Siegert

 Austin Witt  Matthew Zhao SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

17

Course TA  Richard Latimer

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

18

COMP 446 HISTORY

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

19

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

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

20

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

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

21

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

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

22

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

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

23

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

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

24

2012  iTunes App Store grows 

Close to 700K apps (almost 900K have been created)



Over 175K publishers



Stats per http://148apps.biz/app-store-metrics/

 4g iPad  Google Android dominates sales, but iPhones still seen much more

than Android  Apple and Samsung by far the dominant manufacturers.  Blackberry continues to spiral, Palm gone, Nokia still struggles  Windows Phone gaining respect and momentum; however still a distant

third player SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

25

2009 COMP 446 – iPhone Transition  Mobile devices proliferating exponentially  General consensus was that smartphones are for

upper end market only 

But that is not the view of a technologist

 Strong desire to teach iPhone app class  

I was a Windows, .Net person Did not know Xcode or iOS

 iTunes University iOS class  

Taught by Apple people and at an elite university level Could handle the heavy lifting language portion of the class

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

26

Results from 2009 Class  The Good News  First class to leverage iTunes-U  9 Students – nice small class   Creation of Rice iPhone Application  Great Evaluations  

         

C-Overall: C-Organization: C-Challenge: C-Assignments: I-Organization: I-Presentations: I-Responsiveness: I-Atmosphere: I-Independence: I-Stimulation: I-Effectiveness: I-Responsibility:

SEC - 8/22/12

 The Not as Good News  C-Workload: 4.00 / 3.01  I-Knowledge 1.63 / 1.64



Class became very popular

1.00 / 1.93 1.00 / 1.91 1.00 / 1.85 1.38 / 1.95 1.13 / 1.69 1.25 / 1.89 1.13 / 1.69 1.13 / 1.71 1.13 / 1.88 1.13 / 1.71 1.13 / 1.83 1.00 / 1.53 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  



More topics to cover in 2010 



Registration grew to 22 before first class. Accepted 5 walk-ins for a total of 27 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.

SEC - 8/22/12

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



Bipolar reviews. Predominantly outstanding but … 



A few students did not at all like the concept of highly leveraging the Stanford videos.

Important takeaway – most undergraduates have not had experience with SQL and HTML/JavaScript – things that are very important for real mobile applications.

SEC - 8/22/12

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 few years 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.) 

SEC - 8/22/12

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  iVar - object-specific storage  Inheritance - code-sharing mechanism  Super/Subclass - inheritance relationships  Protocol - non-class-specific method definition 

Source: CS193p Lecture #1 SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

31

RESOURCES

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

32

Hardware / Software  Software: Xcode including iOS simulator  Note current Xcode version = 4.4.1  Development Macs  Students encouraged to get a Mac  Campus Macs loaded with XCode 4.4.0 software and emulators 



User ID: xcode, Password: xcode (will be needed to run developer tools).

Dedicated Mac Mini available for class use via LogMeIn 

User ID: [email protected], Password given out in class.

 Devices   

A few older (personal) iPhones available for student use 2 Windows Phone 7 Device available A few (old) Motorola Droid (Android) devices are available

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

33

Optional Hardware / Software  Server (likely not needed by students)  DiscountASP.Net account, www.comp446.com/ws 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.

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

34

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

 Xcode available free on Macs  iTunes-U and Stanford CS193P resources freely available SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

35

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  6 initial projects; most lasting one week.  Homework and mandatory videos 

 



Videos must be watched before class Assignments due Friday at 6:00am (think of it as Thursday at 30:00). You will have all the resources needed to start early and get ahead.

Final project 

SEC - 8/22/12

Topic picked before October 10th class COMP 446 / ELEC 446 - Week 1

36

iPhone Development Videos  Leveraging iTunes-U, Stanford University CS193P course.  Significant homework will be in the form of watching external 1hr videos and their coordinated exercises. 





Experiment when it started three years ago which proved quite effective. 



It will be nearly impossible to do the assignments without watching the videos.

Logistics:  



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, and do problems up to and including assignment 6 (although assignment 6 may have a required and an optional component)

iTunes => App Store => iTunes U => Stanford => iPhone Application Programming Subscribe and download everything from Fall 2011 course offering

http://www.stanford.edu/class/cs193p - Download fall 2011 session available at http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

37

OS X & Xcode version  OS X Mountain Lion has desirable but not required features  Developing iOS apps does not require much disk space or GHz  Large screen not needed but helpful  University Macs running Lion  Xcode 4.4 (or 4.4.1) is desired, not required  Definite improvement over in integration and debugging  Not materially different than version on videos.  iTunes videos use Xcode 4.2. Read release notes for differences.

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

38

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 at any time. 

Can email Richard Latimer as well.

 Level of support will vary over semester  



High level of support at the beginning. Support decreasing each project as over time as knowing where to look or how to debug is a very important skill for you to learn. Richard instructed to respond conceptually – not just provide solutions.

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

39

SYLLABUS

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

40

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. 



Students choose projects, platforms 



Typically solo final projects. There will be significant guidelines and possibly suggested projects

Optional videos covering subjects of general interest to all, but specific interest only to those working the technology

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

41

COMP 446 (tentative) Syllabus 

Lecture 1 - 8/22/12 - Introduction 

 



 

 

1, 2 #2 – Function Calculator Friday, 9/7 6:00 am (Thursday 30:00)

Watch before: Assignment: Assignment due:

3, 4 (demo part) #3 – Graphing Universal Calculator Tuesday, 9/18 6:00 am (Thursday 30:00)

Lecture 4 - 9/12/12 - Assignment 3 issues and questions from videos   



Watch before: Assignment: Assignment due:

Lecture 3 - 9/05/12 - Assignment 2 issues and questions from videos 



None #1 - Calculator Friday, 8/31 6:00 am (Thursday 30:00)

Lecture 2 - 8/29/12- Assignment 1 issues and questions from videos 



Watch before: Assignment: Assignment due:

Watch before: Assignment: Assignment due:

4 (post demo), 5, 6 Continue with #3 – Graphing Universal Calculator Tuesday, 9/18 6:00 am (Monday 30:00)

Lecture 5 - 9/19/12 - Assignment 3 issues and questions from videos   

Watch before: Assignment: Assignment due:

SEC - 8/22/12

Watch 7 before class, 8 after class #4 – Fiickr Top Places Friday, 9/28 6:00 am (Thursday 30:00) COMP 446 / ELEC 446 - Week 1

42

COMP 446 (tentative) Syllabus 

Lecture 6 - 9/26/12 - Assignment 4 issues and questions from videos 

 





Watch before: Assignment:



Assignment due:

10 (after Tab Bar), 11, 12 1: #6 – Fiickr Core Data - Likely to be broken into required and optional parts - Optional part required for A+ 2: Final Project Topic (due before next class) Friday, 10/12 6:00 am (Thursday 30:00)

Lecture 8 - 10/10/12 - Assignment 6 issues and SQL   



8, 9 very beginning of 10 #5 – Fiickr Map Places Friday, 10/5 6:00 am (Thursday 30:00)

Lecture 7 - 10/03/12 - Assignment 5 issues and questions from videos 



Watch before: Assignment: Assignment due:

Watch before: Assignment: Assignment due:

13, 14 Final Project Proposal Tuesday, 10/16 6:00 am (Monday 30:00)

Lecture 9 - 10/17/12 - iOS 6   

Watch before: Assignment: Assignment due:

SEC - 8/22/12

Optional 15, 16 iOS 6 app Friday, 10/26 6:00 am (Thursday 30:00)

COMP 446 / ELEC 446 - Week 1

43

COMP 446 (tentative) Syllabus 

Lecture 10 - 10/24/12 – HTML 5 

 









Assignment: Assignment due:

Continue working on Final Project Wednesday, 11/28 2:00pm

Assignment: Assignment due:

Continue working on Final Project Wednesday, 11/28 2:00pm

Lecture 14 - 11/21/12 – No class, but continue on final project 





Continue working on Final Project Wednesday, 11/28 2:00pm

Lecture 13 - 11/14/12 - Individual meetings on Final Project 



Assignment: Assignment due:

Lecture 12 - 11/7/12- Android vs. iOS vs. Windows Phone group debate 



Optional 17, 18 Major Final Project Feature Friday, 11/2 6:00 am (Thursday 30:00)

Lecture 11 - 10/31/12 - TBD 



Watch before: Assignment: Assignment due:

Assignment: Assignment due:

Continue working on Final Project Wednesday, 11/28 2:00pm

Lecture 15 - 11/28/12 - Final Presentations  

Assignment: Assignment due:

SEC - 8/22/12

Document Final Project By time assigned for COMP 446 final (there is NO final exam) COMP 446 / ELEC 446 - Week 1

44

Final Project  To be determined by 8th class  Can target iOS, Android or WP device  Proposal submitted by 10/10/12  Full Spec 10/17/12  Various milestones including presentation to class on 11/28/12  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.  Great if your project could have life after the class finishes

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

45

Differences from 2011  Major pedagogical stumbling blocks from last

year’s course addressed by iOS 5 changes   

Memory Management Life cycle flow Object oriented database integration

 Strong desire to provide HTML 5 and related

ecosystem exposure  

Not really covered in any other course Kind of super important for any CS person

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

46

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+

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

47

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

 Please remember that this is still an experimental

class format and mobile technology changes quickly  

Things WILL shift as we go along Feedback highly encouraged

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

48

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 shortly 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.

SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

49

Is COMP 446 for You?  Do you agree with benefits of the COMP 446 format?  Lectures, projects and most importantly leveraging the iTunes CS193P videos  Are you prepare to spend at least 10 hours a week on the initial

projects?  

Are you the sort who really enjoys getting a program to work? Do you have the time in your schedule?

 Some do not understand or like the format  If this is you, drop this course and learn iOS from books or iTunes-U  Most COMP 446 students strongly say yes  If this is you, you will have a great time in COMP 446 SEC - 8/22/12

COMP 446 / ELEC 446 - Week 1

50

Discussion

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF