Active Outline

General Information


Course ID (CB01A and CB01B)
CIS D037.
Course Title (CB02)
Java for Mobile Development
Course Credit Status
Credit - Degree Applicable
Effective Term
Fall 2023
Course Description
This course covers mobile application development using Android features including Android development tools, activities and intents, pictures and menus, data persistence, messaging and networking, and rich media features.
Faculty Requirements
Course Family
Not Applicable

Course Justification


This course is transferable to the CSU system. It is required for the Programming in Java Certificate of Achievement at °®¶¹´«Ã½ College. This course provides skills in the Java-based Android operating system necessary for the creation of Android mobile apps.

Foothill Equivalency


Does the course have a Foothill equivalent?
No
Foothill Course ID

Course Philosophy


Formerly Statement


Formerly Statement

Course Development Options


Basic Skill Status (CB08)
Course is not a basic skills course.
Grade Options
  • Letter Grade
  • Pass/No Pass
Repeat Limit
0

Transferability & Gen. Ed. Options


Transferability
Transferable to both UC and CSU

Units and Hours


Summary

Minimum Credit Units
4.5
Maximum Credit Units
4.5

Weekly Student Hours

TypeIn ClassOut of Class
Lecture Hours4.08.0
Laboratory Hours1.50.0

Course Student Hours

Course Duration (Weeks)
12.0
Hours per unit divisor
36.0
Course In-Class (Contact) Hours
Lecture
48.0
Laboratory
18.0
Total
66.0
Course Out-of-Class Hours
Lecture
96.0
Laboratory
0.0
NA
0.0
Total
96.0

Prerequisite(s)


Corequisite(s)


Advisory(ies)


ESL D272. and ESL D273., or ESL D472. and ESL D473., or eligibility for EWRT D001A or EWRT D01AH or ESL D005.

CIS D035A

Limitation(s) on Enrollment


Entrance Skill(s)


General Course Statement(s)


Methods of Instruction


Lecture and visual aids

Discussion of assigned reading

Homework and extended projects

Laboratory discussion sessions and quizzes that evaluate the proceedings weekly laboratory exercises

Homework and extended projects

Discussion and problem solving performed in class

Assignments


  1. Readings from text.
  2. Documenting, coding, testing and debugging six to ten programs guided with clearly documented design, covering the Lab Topics specified in X. below, half completed in the computer lab, half completed as homework.

Methods of Evaluation


  1. One or two midterm examinations requiring students to write code applying topics covered in the lectures and reading. Code is evaluated on correctness.
  2. Final examination requiring students to write code applying topics covered in the lectures,reading, and programming assignments. Code is evaluated on correctness.
  3. Evaluation of programming assignments based on correctness, documentation, code quality, and test plan executions.

Essential Student Materials/Essential College Facilities


Essential Student Materials: 
  • None.
Essential College Facilities:
  • Access to a computer system with the Java 2 SDK, or an Integrated Development Environment tool supporting Java 2

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
Deitel, Paul. "Android, How to Program with an Introduction to Java (3rd edition)", Pearson, 2016
Deitel,Paul & Deitel, Harvey. "Android 6 for Programmers: An App-Driven Approach (3rd edition)" Prentice Hall., 2015.

Examples of Supporting Texts and References


AuthorTitlePublisher
Darcey, Lauren. "Sams Teach Yourself Android Application Development in 24 Hours, 4th Edition." Sams, 2015.

Learning Outcomes and Objectives


Course Objectives

  • Implement Android architecture and tools (Android Virtual Device, SDK, Android Development Kit) in code writing.
  • Build an Application and deploy to Android Marketplace
  • Create and run Mobile Applications using Android Visual Layout Editor and Virtual Device
  • Design a GUI using layout for setting up components on a screen
  • Enable interaction with Android Application using Buttons
  • Use Asset Management to drive user interaction
  • Use graphics and sound in Mobile applications
  • Describe and apply Activity Elements to manage content with rich Android features

CSLOs

  • Design mobile applications using object-oriented methodology and advanced Java concepts using Android Development Kit.

  • Create algorithms, code, document, debug, and test mobile applications.

Outline


  1. Implement Android architecture and tools (Android Virtual Device, SDK, Android Development Kit) in code writing.
    1. Android Overview
    2. Android version history
    3. Android Software Development Kit
    4. Basic HelloWorld Application
  2. Build an Application and deploy to Android Marketplace
    1. Android Marketplace
    2. Android best practices - compatibility, supporting multiple screens and user interface guidelines
    3. Preparing and uploading application to Android Market
    4. Launching and Managing Android Applications
  3. Create and run Mobile Applications using Android Visual Layout Editor and Virtual Device
    1. Eclipse IDE and Android Development Tools (ADT) Plugin
    2. ADT Visual Layout Editor
    3. ADT Android Virtual Device
  4. Design a GUI using layout for setting up components on a screen
    1. Edit properties of Mobile Application in an XML file
    2. TextView, EditText and SeekBar GUI components
    3. Event handling to respond to user interactions
  5. Enable interaction with Android Application using Buttons
    1. ScrollView control to display objects that do not fit on the screen
    2. Dynamic GUI Components in response to user interactions
    3. Manage Shared Preferences
    4. Alert Dialogs
    5. Open a website in a browser using an Intent
    6. Hide/Show soft keyboard
  6. Use Asset Management to drive user interaction
    1. AssetManager
    2. Menu to provide Application Options
    3. Using Handler to manage events
    4. Exception Management and Logging
  7. Use graphics and sound in Mobile applications
    1. Add Graphics with Paints and Canvas
    2. Play sound in response to events using SoundPool and AudioManager
    3. Activity Lifecycle methods and Animation with Threads, SurfaceView and SurfaceHolder
    4. Animation LifeCycle Events
  8. Describe and apply Activity Elements to manage content with rich Android features
    1. Application Style and elements using TextView, ListView, and MenuInflater
    2. Manipulate a SQLLite Database
    3. Multithreading to manage concurrent Database Operations
    4. Use Location, MapData and GPS data for creating location based service features
    5. Use Intents to manage content
    6. Use MediaPlayer to play music
    7. Use SurfaceView, SurfaceHolder and Camera object
    8. Tabbed Navigation
    9. Create Reusable components

Lab Topics


  1. 6 to 10 programming exercises, which include design as well as coding
  2. Android Studio
  3. Activities and Intents
  4. User Interface
  5. Pictures and Menus
  6. Data Persistence
  7. Messaging and Networking
  8. Location Based Services
Back to Top