CS453 | mobile programming
  • outline
  • projects
  • syllabus
  • links
Syllabus

COURSE: SW Engineering of Web-Based Systems

TEXT BOOKs:

"Android Programming: The Big Nerd Ranch Guide (3rd Edition) (Big Nerd Ranch Guides) 3rd Edition, ISBN-13: 978-0134706054ISBN-10: 0134706056

"iOS Programming: The Big Nerd Ranch Guide (6th edition) " by Joe Conway, A. Hillegass, C. Keur, Big Nerd, 2017, ISBN-10: 0134682335 ISBN-13: 978-0134682334

 

REFERENCE TEXT BOOKs: (not required) none at this time, contact me if you wish some additional resources, or search online

 

INSTRUCTOR: Dr. Grewe

OFFICE HOURS:

  • By appointment Tuesday in SS247 9:55- 11:55 am, Thursday SF551 10-11am, Via phone by appointment or other.
  • EXCEPT: Finals weeks office hours will be posted.

REQUIRED MEETINGS:

  • every scheduled in-perosn meeting (see registration) and final exam TBA. This term we meet one day a week which means that some of the material you will be going over on your own. Some weeks I will lecture and others I will use our in person meetings to do coursework/labs.

 

DESCRIPTION: See Catalog: Current practices and trends in software design, development, and deployment of mobile and new web applications and systems.  Topics include modern mobile device application development and may include additional topics in web technologies.

OUTCOMES: Below are some of the outcomes of this course:

  • Understand broad area Mobile Programming
  • Understand current Mobile Systems.
  • Ability to create programs on current mobile system(s)
  • As related to Mobile Systems --optional web topics (this can change or be omitted) Web Technologies and Trends
  • Use of Hardware features on mobile devices
  • Use of Data storage on mobile devices
  • Web services and possible integration into mobile programs.
  • PLO #2 (mastered) analyze a problem, and identify and define the resources and requirements needed for its solution
  • PLO #5 (mastered) recognize and distinguish the mechanisms, components and architecture of computing systems
  • PLO #8 (mastered) perform successfully on teams to accomplish a common goal, and communicate effectively in written and oral form

RESOURCES: This term the class is offered as hybrid that means each student is responsible for geting their own required computer and installing all necessary software. You will at sometime be required to work on Mac OS though the majority of the work can be done on either Windows or Mac OSs.


COMPUTERS, SKILLS AND PRE-REQUISITES: The students will be asked to work on projects that require computer access outside of class time. See catalog for pre-requisites include CS 3520 which includes Java Programming and the student should have skills in basic communication tools of email, ftp, telnet, and usage of mutliple operating systems including Windows, Macs and Unix.

 

GENERAL GUIDELINES: All work will be turned in AS DIRECTED ON THE related work statement description. SEE LATE POLICY BELOW. As an upper division level course, you will be expected to maintain a high degree of responsibility and preparedness including reading material beyond what is covered in the lectures and participating actively in class discussions. I will be available during office hours if you have any questions or concerns. Please try to visit to me during office hours.

 

GRADING: The assignment of a grade is based on the following (tentative) formula: 70% Projects and class work, 25% Exam(s) and 5% Class Participation. Note this formula is for guidance only. The instructor is to use her best judgment in assigning final course grades but, the intention is to do straight scale grading (90-100 A, 80-90 B, 70-80 C, 60-70 D, <60 F). Again this is at the instructors discretion. Exam will be in-class unless stated otherwise.

EXERCISES: Any exercises assigned are meant for you to learn the material.You are welcome to get help from me and others (but, you MUST DO BY YOURSELF....you CAN NOT turn in as a group of students). Again the work must be ONLY yours (unless it explicitly says group work in the description). Exercises MUST be demonstrated as fully working and turned in as stipulated for credit. It is graded as full points for completion or 0 if not.

ACCOMODATIONS: If you need disability-related accommodations in this class, please email, call, or visit me. The Student Disability Resource Center(SDRC) is the campus office responsible for verifying that students have disability-related needs for academic accommodations, and for planning appropriate accommodations in cooperation with the students themselves and their instructors. The Student Disability Resource Center (SDRC) is located in Library Complex 2400 and can be reached by phone at (510)-885-3868. The Contra Costa SDRC can be reached by phone at (925) 602-6716.

LATE POLICY: All work is due as shown on work statement page or as announced by instructor. No late work will be accepted except for a documented illness. As this course is project-based, and fast-paced you must keep up with the work and this policy will be strictly adhered to. Students may take part in the evaluations of others in addition to instructor evaluations.

COURSE LEARNING MODULES: Each week you will be going through different modules in the outline of our web-based materials. For each numbered module you will find materials including on-line lecture materials, reading assignments, links to online resources, exercises to be completed, as well as related projects. Projects ofcourse will utilize information learned in earlier modules but, are placed in a module indicating that at the completion of this module you will have the skills to complete the project. Exercises are important as they can help you complete a project. Sometimes exercises have solutions and at other times, they do not.

COMPUTERS: For Android Development -- most operating systems on your personal machine will work. For iOS devlopement, you will need Mac OS for development--you can do various things including setting up a virtual machine to load a purchases Mac OS (this is your reponsibility).

YouTube VIDEO SUBMISSIONS Youtube videos that you share with me demonstrating your work -- the easiest way to do this is via a smart phone (most Android and iOS devices have the ability to upload the video directly to Youtube). It is your responsibilty to get a Youtube account and to understand how to post videos so that they are private only shared with people you directly invite. You can only post videos if you already have a YouTube account.

YouTube TIP: when you "upload" a video to your YouTube - you should set the type to Unlisted.

YouTube How to Share From In YouTube Account: This is how to do this as of the time of editing this document, for recent changes search on "YouTube share private video" or go to YouTube.com to look for help.

Step 1) Log into your YouTube Account
Step 2) after you have uploaded the video and set it to Unlisted go to the Video and hit the "Edit" button.
Step 3) Type in Name of Video to reflect desired name (if it is not already setup that way when you uploaded it)
Step 4) Type is description that says the status of the Video work you are demonstrating (if you are demonstrating some work tell me what works and what doesn't---be detailed)
Step 5) Take NOTE of the URL of the video -you will need this to send to me and/or others to view it.

 

TENTATIVE SCHEDULE: (VERY TENTATIVE --- WILL CHANGE)

  • Lect: Introduction to Class,
  • Lect: Java Review, More Advanced Fundamentals
  • Lect: Mobile - Android Introduction
  • Lect: Mobile - Android the Interface
  • Lect: Mobile - Android event handling
  • Lect: Mobile - Android testing, services
  • Lect: Mobile - Android content provider
  • Lect: Mobile - Android location (gps)
  • Lect: Mobile - Android camera, other apps
  • Lect: Swift- quick intro
  • Lect: Mobile - iOS Application development and XCode
  • Lect: Mobile - iOS beginning program, the Interface (storyboards and xib)
  • Lect: Mobile - iOS event handling
  • Lect: Mobile - iOS gps (as time allows)
  • Lect: Mobile - iOS data (as time allows)
  • Lect: Mobile - iOS more (as time allows)
  • Other Lectures: Advanced Topics and Project Work

BLACKBOARD COURSE SITE ORGANIZATION

For the classes Q&A Discussion Board, to post your projects, take assessments, get announcements, get fellow students email addresses, check your current scores, you MUST REGULARLY log onto our blackboard website. On the left hand side of the blackboard site is our course menu where you find the links to this website as well as the discussion board, projects drop box, announcements, email, and tools.

DISCISSION BOARD: Our class's Blackboard Discussion Board Q&A is where we post our questions from the class. Here is where you ask questions and interact with me and other students. You are to post your questions here unless they are of a personal nature. I check the online discussion at least two times every week. If you can answer someone else's questions before I can, please do so. We'll all learn from one another.

COMMUNICATION
: I may use blackboard announcements to notify you of some new information. Whenever I post an announcement, it appears at the top of the page as well as on your blackboard site. I may instead email your horizon address information.

EMAIL: The blackboard email area is where you go to find my address or the horizon address of others in the course. For class related questions, you can post first to the discussion board.

SCORES: The blackboard tools area is where you will find your grades.


Special Note on balance of Android and iOS and beyond.

Our class will teach you Mobile Programming. There are multiple platforms for teaching mobile programming including Android, iOS, and widows. There are also a smaller minority of people looking at creating platform neutral apps and apps fueled by HTML*. We obviously can't teach everything in a single term class. Because of the fact that there are more Android phones worldwide and many of the incomming students know Java (this is a pre-req) we concentrate on Android. Note that we will cover iOS briefly towards the end of the course. Once you learn one platform much of the concepts translate to other platforms. Unfortunately, they do not have the same APIs nor the same programming language. Doing paltform neutral apps today means sacrificing on functionality which is why you see only a minority of people doing it and only for those apps that do not need the funcitonality you get only with the platform specific development package.

 

 

 

cs453:mobile programming

  • home
  • outline
  • projects
  • syllabus
  • links