Download INEW 2438 Advanced Java Programming

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Course Syllabus
Advanced Java Programming
INEW 2438
Spring 2014
Semester with
Course Reference
Number (CRN)
Instructor contact
information (phone
number and email
address)
Phan Viet Hoang
Email: pvhoang@pvhoang.com
Office Location and
Hours
Office: Room L208, 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 Androidbased mobile application in a Windows environment.
Course
Prerequisite(s)
PREREQUISITE(S):
Nguyen Hai Son
Email: sonnh@saigontech.edu.vn


COSC 1437 (‘Object Oriented Programming’) and/or
ITSE 1356 (‘Extensible Markup Language’)
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 and restore data as Application Preferences.
 save and restore data as Instance State.
 create, maintain and interact with Content Providers and tables.
o implement SQLite database helper classes to aid in table access,
database initialization and minimal management.
o 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.
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 Tests
Labs:
Mid-term Exam:
Final Exam:
15%
40%
20%
25%
Instructional
Materials
‘Java™ How to Program’, Deitel, Sixth Edition, 2004, Prentice Hall
‘Professional Android 4 Application Development’, Meier, 2012, Wiley
Android Training Materials
1. Basic training
http://developer.android.com/training/index.html
2. Labs
https://sites.google.com/site/androidappcoursev3/
Course Calendar
Week
Discussion Topics
References
Lab & Project
1 (18/01)
Orientation
Basic Java Test
Chapter 1 (Meier) – Hello, Android
(AndroidIntroduction.ppt)
2 (25/01)
Graphics User Interface
Chapter 11 (Deitel) – GUI Components
(ch11.ppt, ch11e.ppt, AndroidGUI.ppt)
Lab 1 – Hello World
(Android Setup)
3 (15/02)
GUI in Android
Chapter 4 (Meier) – Building User Interface
(PA4AD_Ch04_Layouts)
Lab 2 – Joke List
(GUI, Advanced Setup)
4 (22/02)
Multi-threading
Chapter 23 (Deitel) – Multithreading
(ch23.ppt, ch23e.ppt)
Lab 2 (cont)
(Views, Events)
5 (01/03)
Multi-threading in Android activities
Android training: Managing Activity lifecycle
(AndroidActivityMultiThreading.ppt,
ActivityLifecycle.zip)
Lab 3 – Joke List 2.0
(Layout XML, Menu)
6 (08/03)
File processing
Chapter 14 (Deitel) – Files and Streams
(ch14.ppt, ch14e.ppt)
Lab 3 (cont)
(Toasts)
7 (15/03)
Data processing
Chapter 25 (Deitel) – Accessing database with
JDBC
(ch25.ppt, ch25e.ppt)
Lab 4 – Joke List 3.0
(Preferences)
8 (22/03)
Mid-term Exam
Network
Chapter 24 (Deitel) – Networking
(ch24.ppt, ch24e.ppt)
9 (29/03)
Network in Android
Chapter 6 (Meier) – Using Internet Resource
Lab 5 – Joke List 4.0
(Downloading and parsing Internet Resources)
(ch6a.ppt, Chapter6_Earthquake)
(Http Connection)
10 (05/04)
File processing in Android
Chapter 7 (Meier)– Files, Saving State
(ch7a.ppt, PA4AD_Ch07_Preferences,
Chapter_7_Earthquake_Part_1)
Lab 5 (cont)
11 (12/04)
Data processing in Android
Chapter 8 (Meier) – Databases
(ch8a.ppt, Chapter_8_Earthquake_Part_1)
Lab 4 (cont)
(Instance State)
12 (19/04)
Background Working in Android
Chapter 9 (Meier) – Working in the Background
(ch9a.ppt, PA4AD_Ch09_MyService,
Chapter_9_Earthquake_Part_1)
Lab 4 (cont)
(SQLite)
13 (26/04)
Advanced User Experience in Android
Chapter 10 (Meier) – Expanding the User
Experience
(ch10a.ppt, Chapter_10_Earthquake_Part_1)
14 (03/05)
Final exam review
15 (10/05)
Final exam
16 (17/05)
Advanced User Experience in Android
Chapter 10 (Meier) – Expanding the User
Experience
(ch10a.ppt, Chapter_10_Earthquake_Part_2)