Semester with Course Reference Number (CRN)
|
Fall 2013
|
Instructor contact information (phone number and email address)
|
Phan Viet Hoang
Email: pvhoang@pvhoang.com
Website: http://www.pvhoang.com/sgt
Tran Thanh Dan
Email: dantt@saigontech.edu.vn
|
Office Location and Hours
|
Office: Room 610, Saigontech Tower, Quang Trung Software City
Office Hours: 7:30 – 17:00
|
Course Location/Times
|
Lecture & Lab
Room L208, Saigontech Tower, Quang Trung Software City
Saturday, 9:10 – 12:20
|
Course Semester Credit Hours (SCH) (lecture, lab) If applicable
|
Credit Hours:
|
4
|
|
Lecture Hours:
|
2
|
|
Laboratory Hours:
|
2
|
|
External Hours:
|
|
|
|
Total Course Contact Hours
|
96
|
Course Length (number of weeks)
|
16
|
Type of Instruction
|
Lecture
Lecture/Lab
|
Course Description:
|
Advanced topics in Java programming language featuring advanced Android graphics user interface, multi-threading in various events, client-server programming, Java security, and mobile notification. These topics will be applied to develop a Android-based mobile application in a Windows environment.
|
Course Prerequisite(s)
|
PREREQUISITE(S):
-
ITSE 2417 or
-
COSC 1437 and
-
ITSE 1356
FREQUENT REQUISITES
-
College Level Reading
-
College Level Mathematics
-
College Level Writing
|
Academic Discipline/CTE Program Learning Outcomes (PLO)
|
1. Design and write computer programs that are correct, simple, clear, efficient, well organized, and well documented
2. Know and be able to apply important data structures and algorithms
3. Understand the hardware and software aspects of computer systems that support application software development
4. Identify the fundamental principles of programming, including those of algorithm analysis, software design, operating systems, and database.
5. Develop software engineering proficiency
6. Create apps for Android-based smart phones and tablets.
|
Course Student Learning Outcomes (SLO): 4 to 7
|
1. Use advanced Android graphic functions for mobile application
2. Write multi-thread Java programs
3. Access files
4. Connect mobile app to network server
5. Register with Google for device location and use Google Map
6. Use Android notification manager for broadcasting.
|
Learning Objectives (Numbering system should be linked to SLO - e.g., 1.1, 1.2, 1.3, etc.)
|
1. Learn Android advanced graphic user interface
-
Set up the Android Development Environment.
-
Create a basic "Hello World" Android Application containing a simple Graphical User Interface (GUI).
-
Understand the various parts and features of an Android Project, and how they relate to each other.
-
Become familiar with the Android Emulator.
-
Install and run the application on a physical Android device
2. Write multi-thread Java programs in an Android environment
-
create an Android Test Project and test Android Activities.
-
understand how multi-thread Views, View Groups, Layouts, and Widgets are and how they relate to each other.
-
declare layouts dynamically at runtime.
-
reference resources in code and from other resource layout files.
-
use Android's system debug output monitor LogCat for debugging.
-
use Events and Event Listeners.
3. Access files
save & restore data as Application Preferences. save & restore data as Instance State. create, maintain and interact with Content Providers and tables. implement SQLite database helper classes to aid in table access, database initialization and minimal management. How to access and modify a SQLite database table using URIs and content provider database calls.
4. Connect to network server
-
establish Http connections.
-
use AsyncTask.
5. Register with Google for device location and use Google Map.
display an interactive Google Map inside an application. register for an Android Google Maps API key online. enable Android Google Maps in an application project. register for and receive GPS location information. launch and receive outside Activities.
6. Use NotificationManager for broadcasting.
create and use Services using ServiceIntent. start and stop Services. perform repeated procedures using Timer and TimerTask. broadcast Intents. respond to Intent broadcasts using a BroadcastReceiver. post Notifications in the Notification area using NotificationManager and PendingIntent. How to create Notifications using a Builder. |
Instructional Methods
|
Face to Face
|
Instructor's Requirements
|
As a student wanting to learn about the Java language, it is your responsibility to read the textbook and the supplemental materials posted in the blackboard, complete assignments in time, participate in the classroom exercises and activities, and attend class regularly.
As I believe that engaging the students in the learning is essential for teaching to be effective, you will spend the majority of class time involved in collaborative activities. You will be involved in class exercises, collaborate with your classmates and your instructor. As you will want to contribute to these discussions, you will need to come to class prepared to discuss, analyze and evaluate information from your text and other assigned readings.
|
Course Policies on Make-up Exams, Late Assignments, Tardiness
|
Students are expected to take each exam on the scheduled dates.
Make-up exams are not guaranteed, but are granted at the discretion of the instructor. If make-up exams are allowed, it is necessary to make arrangements with the instructor prior to exam date.
Students will not be able to submit assignments, projects after the due/closing date.
|
Grading Scheme
|
A = 100- 90
|
B = 89 – 80
|
C = 79 – 70
|
D = 69 – 60
|
F = 59 and below
|
The passing grade of this course is D.
|
Instructor Grading Criteria
|
In-class Quiz 1: 5%
In-class Quiz 2: 5%
Projects: 40%
Mid-term Exam: 25%
Final Exam: 25%
|
Instructional Materials
|
Core Java Volume I – Fundamentals Eight Edition by Car S. Horstmann
Core Java Volume II – Advanced Features, Eight Edition by Car S. Horstmann
Android Training Materials
1. Basic training
http://developer.android.com/training/index.html
2. Basic book
‘Professional Android 4 Application Development’, Reto Meier
http://www.gocit.vn/bai-viet/ebook-professional-android-4-application-development/
|
Week
|
Discussion Topics
|
Reading Assignments
|
Lab & Project
|
1 (21/09)
|
Orientation
|
Chapter 1 – Hello, Android
|
Project list & selection
|
2 (28/09)
|
Advanced Graphics Programming 1 - Swing
|
Chapter 4 – Building User Interfaces
|
|
3 (05/10)
|
Advanced Graphics Programming 2 - Android
|
|
Lab 1 – Hello World
Project 1 -
|
4 (12/10)
|
Multi-threading in Android environment 1
|
Chapter 11 – Advanced User Experience
|
|
5 (19/10)
|
Multi-threading in Android environment 2
|
|
Lab 2 – Joke List
Project 2 -
|
6 (26/10)
|
Data processing 1
|
Chapter 7 – Files, Saving State
|
Lab 3 – Joke List 2.0
Project 3 -
|
7 (02/11)
|
Data processing 2
|
Chapter 8 - Databases
|
Lab 4 – Joke List 3.0
Project 4 -
|
8 (09/11)
|
Mid-term Exam
|
|
|
9 (16/11)
|
Client-server programming in Android 1
|
Chapter 16 - Networks
|
|
10 (23/11)
|
Client-server programming in Android 2
|
|
Lab 5 – Joke List 4.0
Project 5 -
|
11 (30/11)
|
Google map 1 - GPS
|
Chapter 13 - Maps
|
|
12 (07/12)
|
Google map 2 – GPS
|
|
Lab 6 – WalkAbout
Project 6 -
|
13 (14/12)
|
Service Intent - Notification
|
Chapter 5 – Broadcast Receiver
|
Lab 7 – App Rater
Project 7 -
|
14 (21/12)
|
Final exam review
|
|
|
15 (28/12)
|
Final exam
|
|
|
16 (04/01)
|
Advanced topics
|
|
|