CS 4330: Mobile Application Development Spring 2015



Similar documents
The University of Texas at Austin Department of Civil, Architectural and Environmental Engineering

CS 2302 Data Structures Spring 2015

BIO Evolution. KSCommons. Keene State College. Sciences and Social Sciences, School of. Syllabi. Spring 2010

Course Overview Principles of Project Management

POLITICAL SCIENCE : INTRODUCTION TO POLITICAL SCIENCE Spring 2015 Online

Accounting Information Systems (ACC409) Spring 2015 School of Accountancy Shidler College of Business University of Hawaii at Manoa

Course Syllabus PEHR 2990 Intro to Intercollegiate Athletic Administration Dixie State College of Utah Spring 2013

Precalculus Algebra Online Course Syllabus

Intro. to Data Visualization Spring 2016

MKT 363 Professional Selling & Sales Management Course Syllabus (Spring 2011)

SOUTHWEST COLLEGE Department of Mathematics

MAT 1111: College Algebra: CRN SPRING 2013: MWF 11-11:50: GRAY 208

SYLLABUS Human Resource Management MGMT 3241 Section 001 Spring 2006, MW 3:00-4:20 Friday 9

Academic Calendars. Term I (20081) Term II (20082) Term III (20083) Weekend College. International Student Admission Deadlines

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

ITFN3112 Systems Analysis and Design Spring 2014 (CRN 2-190)

FACULTY OF MANAGEMENT PROFESSIONAL CONSULTING MGMT 3901 Y SPRING 2016

Module Title: Software Development A: Mobile Application Development

COURSE INFORMATION. Biology 224 Anatomy & Physiology Spring, 2015

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

MKTG 435 International Marketing Course Syllabus Spring Phone: (618)

MGT 3361 Project Management

COURSE INFORMATION. Biology 224 Anatomy & Physiology Spring, 2014

REQUIRED TEXT: Slavin, R. E. Educational Psychology, Ninth Edition. Allyn and Bacon, 2009.

How To Pass The Cis 50 Online Course

University of Washington, Tacoma TCSS 360 (Software Development and Quality Assurance Techniques), Spring 2005 Handout 1: Course Syllabus

MIS W: Mobile Business

CIS SP Network Administration Course Syllabus

SYLLABUS CIS 3660: OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN SPRING 2010

CSE 412/598 Database Management Spring 2012 Semester Syllabus

Florida Gulf Coast University Lutgert College of Business Marketing Department MAR3503 Consumer Behavior Spring 2015

AGEC 448 AGEC 601 AGRICULTURAL COMMODITY FUTURES COMMODITY FUTURES & OPTIONS MARKETS SYLLABUS SPRING 2014 SCHEDULE

WEEK DATE LECTURE TOPIC. 1 Jan 14 Endocrine System 16 Endocrine System 18 Digestive System

Advanced General Psychology (PSYC 4000) (CRN: 32452) Spring 2015 Weber State University- Ogden Campus

CS 394 Introduction to Computer Architecture Spring 2012

FACULTY OF MANAGEMENT COST ACCOUNTING MGT 3130 Y SPRING 2016

University of North Texas at Dallas Spring 2014 SYLLABUS

PHIL 2244: Engineering Ethics (3 credits)

C S 105 (53485) Computer Programming: PHP/SQL Spring 2014

MGT 3361 Project Management

MGSC 590 Information Systems Development Course Syllabus for Spring 2008

MATH Probability & Statistics - Fall Semester 2015 Dr. Brandon Samples - Department of Mathematics - Georgia College

CS 261 C and Assembly Language Programming. Course Syllabus

Psychological Testing (PSYCH 149) Syllabus

(575) and by prior appointment nmsu. edu

Required Text Schacter, Daniel L. Introducing Psychology with Updates on DSM-5 (2nd ed.). Worth Publishers. (2014).

1. Anatomy & Physiology I, Biology 2401, Section 304 Lecture: MW 7:05-8:20 pm H-212 Lab: MW 8:30-9:45 pm H-123 Spring 2012

INFO 2130 Introduction to Business Computing Spring 2013 Self-Paced Section 006

MATHEMATICAL TOOLS FOR ECONOMICS ECON SPRING 2012

CS 340 Cyber Security Weisberg Division of Computer Science College of Information Technology & Engineering Marshall University

ECE 3200 Electronics I First Summer Session 2015 (Online) Syllabus

PSYC 3200-C Child Psychology 3 SEMESTER HOURS

Grading Distribution: Homework: 20% Examination: 15% Final Examination: 25% Project: 40%

MIS W: Mobile Business

CEDAR CREST COLLEGE Psychological Assessment, PSY Spring Dr. Diane M. Moyer dmmoyer@cedarcrest.edu Office: Curtis 123

Karen D.W. Patterson, PhD Office: ASM 2089 Telephone:

INFSCI 1017 Implementation of Information Systems

CSCI-599 DATA MINING AND STATISTICAL INFERENCE

Math 103, College Algebra Spring 2016 Syllabus MWF Day Classes MWTh Day Classes

Introduction to Computer Forensics Course Syllabus Spring 2012

Family and Consumer Science Department Syllabus

Statistical Methods Online Course Syllabus

Course Syllabus Geography Program Winthrop University Spring GEOG/GEOL 305 Introduction to Geographic Information Systems

ANT 104 C Lost Tribes and Buried Cities

College Algebra Online Course Syllabus

Software Development Foundations CPSC Spring 2014 Syllabus

Physics 21-Bio: University Physics I with Biological Applications Syllabus for Spring 2012

Voice User Interfaces (CS4390/5390)

Forensic Biology 3318 Syllabus

The University of Akron Department of Mathematics. 3450: COLLEGE ALGEBRA 4 credits Spring 2015

Introduction to Computer Programming Course Syllabus Fall 2015

CSC 314: Operating Systems Spring 2005

CS1400 Introduction to Computer Science

CI 437: Educational Game Design

IINF 202 Introduction to Data and Databases (Spring 2012)

ENVIRONMENTAL SCIENCE LAB (FOR MAJORS) ESCI ) Teach practical skills for use in the lab and field.

University of North Carolina at Charlotte Belk College of Business MBA Program Course MBAD 6174: Global Marketing Spring Semester 2011

USC VITERBI SCHOOL OF ENGINEERING INFORMATICS PROGRAM

Course Description. Course Objectives

SPE 102: Interpersonal Communication Spring 2007 / Jan April 29

DESIGN FOR USER EXPERIENCE (ITP 310)

FIN 301 SYLLABUS Corporate Finance Spring 2012

SPRING 2013 BUSINESS COMMUNICATIONS Syllabus

Elmer E. O Banion Science Building Room. Office Phone: FAX:

Summer and select CRN Client Principal, Hewlett-Packard Cell: Office hours by appointment

BAKERSFIELD COLLEGE ALLIED HEALTH DIVISION MEDICAL TERMINOLOGY MEDICAL SCIENCE B 60 (3 UNITS) CRN 31451

ISM 4113: SYSTEMS ANALYSIS & DESIGN

STARK STATE COLLEGE Master Syllabus (to be included with Class Syllabus)

Transcription:

CS 4330: Mobile Application Development Spring 2015 CRN: 27188 Lecture: TR 3:00-4:20 pm in CCSB 1.0202 Website: http://www.cs.utep.edu/cheon/cs4330 Instructor: Yoonsik Cheon (x-8028, ycheon@utep.edu); office hours: TR 2:00-2:50 pm in CCS 3.0606) Prerequisite: CS 3331 or instructor s approval Description This course is targeted for students who want to start writing mobile applications on Android platforms. Android became a formidable mobile operating system, and this course will provide hands-on learning classes on writing Android applications. We will get started with the basics of Android programming by covering the most recent version of Android and understanding its development framework. We will learn both the fundamentals and the nuts and bolts of Android and have an exciting opportunity to write feature-rich Android applications that may be published in the Android market (see Appendix for learning outcomes). Textbook The textbook Wei-Meing Lee, Beginning Android 4 Application Development, John Wiley & Sons, 2012 is available at the UTEP bookstore, and students are expected to acquire a copy for their use in this course. The following books are not required but recommended. Scott W. Amber, The Elements of UML 2.0 Style, Cambridge University Press, 2005. Allan Vermeulen, et al., The Elements of Java Style, Cambridge University Press, 2000. Examinations There will be one mid-term exam and the final. The mid-term exam will take place during the regular class session and will be 80 minutes in length, and the final exam will take place on the date specified by the university. Makeup exams will be given only when you have unusual circumstances, such as incapacitating illness or presenting a research paper at a conference. If you believe that you have an unusual circumstance that warrants a makeup exam, notify us as soon as possible. If you will be attending a conference or other event, you must make arrangements for a make-up exam in advance. Under any circumstances, you may be required to provide official documentation before a make-up will be administered Homework There will be frequent homework assignments, and most assignments will be programming assignments. Some may be done in pairs while others must be done individually. No late submission will be accepted for homework assignments. Semester Project You should do a semester-long class project. The purpose of the semester project is to apply concepts and techniques learned in this course and develop a more realistic Android application that is feature-rich and may be publishable in the Android market. Sample project topics may be suggested by the instructor or you ll have a chance to propose your own project topic. In either way, your project must be approved by the instructor. You are expected to write a project proposal, demo a prototype, submit a final project report, and present the project result. Depending on the complexity, scope, and size of the project, it can be an individual, pair, or team project. 1

Grading Your grade is independent of anyone else s grade; that is, we do not grade on a curve. Everyone can get an A in this course. The purpose of grading is not to rank you, but to uphold a standard of quality and to give you feedback. The final letter grade will be based on a combination of assignments, project, exams, and class participation. The approximate percentages are as follows: Assignments: 35% Project: 35% Exams: 30% There are also up to 5% bonus points for lecture attendance and class participation. To earn this, you must arrive at lecture on time and participate in class discussion in a constructive and prepared manner, e.g., by asking or answering questions that demonstrate that you have read and attempted to understand the material. The nominal percentage-score-to-letter-grade conversion is as follows: 90% or higher: A 80-89%: B 70-79%: C 60-69%: D below 60%: F The instructor reserves the right to adjust these criteria downward, e.g., so that 88% or higher represents an A, based on overall class performance. The criteria will not be adjusted upward, however. Attendance Lecture attendance is required; you should understand that your success in the course will improve greatly by attending classes regularly. The following is excerpted from the 2014-2015 Undergraduate Catalog. The student is expected to attend all classes and laboratory sessions. It is the responsibility of the student to inform each instructor of extended absences. When, in the judgment of the instructor, a student has been absent to such a degree as to impair his or her status relative to credit for the course, the instructor can drop the student from the class with a grade of W before the course drop deadline and with a grade of F after the course drop deadline. Standards of Conduct You are expected to conduct yourself in a professional and courteous manner, as prescribed by the UTEP Standards of Conduct. Graded work (assignments, projects, exams) is to be completed independently and should be unmistakably your own work, although you may discuss your work with others in a general way. You may not represent as your own work material that is transcribed or copied from another source, including persons, books, or Web pages. Instructors are required to and will report academic dishonesty and any other violation of the Standards of Conduct to the Dean of Students. Disabilities If you have a disability and need classroom accommodations, please contact The Center for Accommodations and Support Services (CASS) at 747-5148, or by email to cass@utep.edu, or visit their office located in UTEP Union East, Room 106. For additional information, please visit the CASS website at www.sa.utep.edu/cass. 2

Course Outline As shown below, the course will have three phases: boot camp, Android programming, and semester project; refer to the next page for a detailed schedule. Boot camp: reviews (1.5 weeks) 1. UML class diagram 2. Frameworks and GUI programming (handout: Johnson97) 3. Design patterns 4. Documenting using Javadoc 5. Unit testing using JUnit Assignment: applet Android Programming (12 weeks) 1. Introduction to Android (Chap 1) 2. Activities and intents (Chap 2) 3. Android GUI (Chap 3) 4. Views and menus (Chaps 4-5) 5. Data persistence (Chap 6) 6. Content providers (Chap 7) 7. Messaging and networking (Chap 8) 8. Location-based services (Chap 9) 9. Developing android services (Chap 10) Assignments: IDE, GUI, data, network Semester Project (2.5 weeks) 1. Project proposal 2. Prototype demo 3. Final presentation 3

Detailed Schedule The following table shows a planned schedule for the course. The schedule is subject to change, and an up-to-date schedule will be available from the course website. Dates Topics Readings Assignments Week 1 Jan. 20, 22 Review: UML, framework, patterns Handout HW1 Week 2 Jan. 27, 29 Review: Javadoc, JUnit, GUI Intro to Android Chap 1 Week 3 Feb. 3, 5 Activities, fragments and intents Chap 2 HW2 Week 4 Feb. 10, 12 Android UI Chap 3 Week 5 Feb. 17, 19 UI with views Chap 4 HW3 Week 6 Feb. 24, 26 Pictures and menus Chap 5 Week 7 Mar. 3, 5 Data persistency Chap 6 HW4 Week 8 Mar. 10, 12 Spring break (no classes) Week 9 Mar. 17, 19 Project proposal Exam 1 Week 10 Mar. 24, 26 Content providers Chap 7 Week 11 Mar. 31, Apr. 2 Messaging Chap 8 HW5 Week 12 Apr. 7, 9 Location-based services Chap 9 Week 13 Apr. 14, 16 Prototype demo Week 14 Apr. 21, 23 Networking Chap 10 HW6 Week 15 Apr. 28, 30 Android services Chap 11 Week 16 May 5, 7 Project presentation Week 17 May 14 Final at 4:00 pm 6:45 pm Important Dates January 19: Martin Luther King, Jr. day (university closed) January 20: Classes begin February 4: Census day March 9-13: Spring break (no classes) March 19: Exam 1 March 31: Cesar Chavez birthday - observance (no classes) April 3: Spring study day (no classes) April 6: Course drop deadline May 8: Dead day May 14: Final on Thursday at 4:00 pm 6:45 pm 4

CS 4390 ST: Mobile Application Development Learning Outcomes Level 1: Knowledge and Comprehension Level 1 outcomes are those in which the student has been exposed to the terms and concepts at a basic level and can supply basic definitions. The material has been presented only at a superficial level. Upon successful completion of this course, students will be able to: 1a. Define the three fundamental concepts of Android programming: activities, fragments, and intents. 1b. Describe various UI components of Android, such as layouts, widgets, views and menus along with the events associated with them. 1c. Explain what contents providers are, how to use a content provider, and how to create a user-defined, custom content provider. 1d. Describe how to send SMS messages and emails programmatically and how to intercept incoming SMS messages. 1e. Articulate the network programming features and capabilities of Android platforms, including HTTP, XML web services, JSON web services, and Socket programming. 1f. Define what geocoding and reverse geocoding are, and describe how to perform them. 1g. Describe how to create an Android service (e.g., long-running or repeated tasks) that runs in the background and how an activity and a service communicate. Level 2: Application and Analysis Level 2 outcomes are those in which the student can apply the material in familiar situations, e.g., can work a problem of familiar structure with minor changes in the details. Upon successful completion of this course, students will be able to: 2a. Differentiate techniques for persisting user data, such as shared preferences, traditional file systems (internal and external storage), and SQLite database. 2b. Design the UI of a moderate-sized application using various views that can also display images as well as options and context menus. 2c. Implement a small-sized application that utilizes Android networking capabilities---sms messages, emails, HTTP, XML web services, JSON web services, and Socket---to communicate with the outside world. 2d. Implement a location-based service (LBS) application of small size using Google Maps, e.g., obtaining, monitoring, and tracking geographical locations. Level 3: Synthesis and Evaluation Level 3 outcomes are those in which the students can apply the material in new situations. This is the highest level of mastery. Upon successful completion of this course, students will be able to: 3a. Develop an Android application of moderate size that utilizes various features of Android platforms, such as UI, data persistency, content providers, messaging and networking, LBS, and services. 3b. Express the design of a moderate-sized Android application using a standard modeling notation such as UML and evaluate its quality by relating to software engineering design principles such as cohesion and coupling, encapsulation, reusability, and maintainability. 3c. Document the application programming interface (API) of a moderate-size Android application in the form of Java API using Javadoc. 5