Heartland Community College TECH Course Syllabus for Students Fall 2016 Course Prefix and Number: CSCI 153 Course Title: Android Development Credit Hours: 4 Contact Hours: 5 (3 lecture, 2 lab) Meeting Time and Place: 17:00-18:50 M (WDC 3004) Catalog Description: Prerequisite: CSCI 130 with a grade of C or better or equivalent with Java, or CSCI 224 with a grade of C or better. This course introduces the Android mobile operating system. The topics covered include: mobile application guidelines in general, the Android SDK, and advanced Java concepts unique to the Android operating system. Programming assignments will provide practical experience in developing applications for Android. Textbook: Annuzzi, J. Jr., Darcey, L., Conder, S. (2016) Introduction to Android Application Development Instructor Information: Name Nicolaas tenbroek Phone 309.268.8858 E-mail address Nicolaas.tenBroek@heartland.edu Web site http://www.technology.heartland.edu/faculty/johnnyt/ Office WDC 1206 Office Hours Monday: 15:30 16:30 Tuesday: 11:00-12:00 and 15:30-16:30 Wednesday: 11:00-12:00 Thursday: 11:00-12:00 RELATIONSHIP TO ACADEMIC DEVELOPMENT PROGRAMS AND TRANSFERABILITY: CSCI 153 was designed to meet the specific needs of an Associate of Applied Science degree. Please see an academic advisor for an explanation concerning transfer options. Learning Outcomes:
Course Outcomes 1. Apply classical problem solving strategies to solve various kinds of mobile device programming problems General Education Outcomes Range of Assessment Methods 2. Apply the object-oriented principles of encapsulation, composition, abstraction, polymorphism, and inheritance to analyse problems and design solutions 3. Employ Java and the Android SDK to write applications for the Android platform 4. Explain the resource limits of mobile environments and how to ensure applications can use those resources effectively PS3 Class Participation & Final 5. Explain appropriate User Interface guidelines for mobile devices CO1 6. Deploy applications to a mobile device Class Participation & Final COURSE/LAB OUTLINE: 1. The Android SDK 2. The Java components of Android 3. Guidelines for writing mobile applications 4. Graphics 5. Audio 6. Video 7. Handling Data 8. Internet connectivity 9. Using sensors Methods of Instruction:
The online and in-class materials, discussions, and labs will give the student the opportunity to ask questions and receive feedback on the skills and concepts presented. Since this is a hybrid course, it is imperative that the student login into Blackboard numerous times during the week (the number of times will depend on the student's learning style). In a hybrid course, discipline is a key component as the student is required to spend time on the core content outside of class (in addition to time spent outside of class on homework). Course Policies: Method of Evaluation (Tests/Exams, Grading System): Student grades are based on successful completion of assignments, quizzes, labs and exams. The final exam is comprehensive. Labs 0 points (see note below) Assignments 50% Final 50% Total 100% Note regarding labs, assignments, quizzes, and exams: Labs: There will be many labs assigned over the course of the semester (usually at least one per day). Every concept and assignment is tied to one or more labs. While there are no points directly tied to the labs, it is imperative that all labs be completed. The labs allow the students an opportunity to learn the concepts in a safe setting where interaction with other students and the instructor is encouraged. Any question regarding an assignment will not be answered by the instructor until it is clear that the student has completed the corresponding labs and spent ample time working through the assignment prior to asking the question. Assignments: Assignments are individual work and are due on the date determined in class. Assignments will only be accepted late if there is an acceptable reason. Late assignments will only be accepted up to one week after the due date, and if accepted they will be assessed a 20% penalty. Assignments will not be accepted over one week late for any reason. As mentioned in the note regarding labs, any question regarding an assignment will not be answered by the instructor until it is clear that the student has completed the corresponding labs and spent ample time working through the assignment prior to asking the question. FINAL PROJECT AND SPECIFICATIONS: Each student will be required to turn in a final project, along with a write-up of the specifications for the project. An initial presentation discussing the project will be given by the student a number of weeks prior to the project due date. The following provides more detail: Specifications: This will be a technical document detailing the specifications for the project (specific requirements will be provided by the instructor). The specifications will be due at or near the end of the semester, with the specific due date being provided by the instructor. Unlike the other graded activities in this class, the specifications will not be accepted late for any reason. Final project: The final project will be an original application written by the student (specific requirements will be provided by the instructor). The final project will be due at
or near the end of the semester, with the specific due date being provided by the instructor. Unlike the other graded activities in this class, the final project will not be accepted late for any reason. Grading Scale: 90 100% A 80 90% B 70 80% C 60 70% D Below 60% F Withdrawal Policy: Students are expected to attend all classes and meaningfully participate each day. Furthermore, since this is a hybrid course students are expected to login to Blackboard a number of times each week (as often as is necessary) in order to obtain any information posted online and complete the corresponding activities. Any student who does not make reasonable attempts to successfully complete all course activities (exams, labs, quizzes, etc.), may be withdrawn from the course at midterm. However, if any of the following situations apply, the student will be automatically dropped/withdrawn by the end of week 8 (and in some cases earlier): the student did not attend and login to Blackboard during the first week of class. the student was absent for any 2 consecutive weeks without appropriate notice. the student did not login into Blackboard for any 2 consecutive weeks without appropriate notice. the student has more than 3 unexcused absences. the student has not completed 60% of the class activities (exams, labs, quizzes, etc.). Required writing and reading: There are no research or writing assignments in this course. However, documentation is an important part of computer programming. Therefore, students will be expected to turn in complete, well-written documentation with each of their programs. All programs are to include descriptive comments within the source code. In addition, certain other documentation methods taught during the course of the semester will be required. Other policies: It is the student's responsibility to be aware of the policies common to all HCC courses. See http://technology.heartland.edu/courses/student Info Packet.pdf to view that documentation. Syllabus disclaimer:
This syllabus is subject to change. Any changes will be announced in class. Semester schedule Week Date Topic 1 2-3 Chapter 1: Platform Overview Appendix A: Tips and Tricks: Android Studio Java Review: Generics and Collections Chapter 2: Setting Up For Development Chapter 3: Creating Your First Application More Java and XML: Inner Classes Nested Classes XML 4 5 6 Chapter 4: Understanding Application Components Chapter 5: Defining the Manifest Chapter 6: Managing Application Resources Chapter 7: Exploring Building Blocks Chapter 8: Positioning With Layouts Chapter 9: Partitioning With Fragments 7 Chapter 10: Architecting With Patterns 8 Chapter 11: Appealing With Style Chapter 12: Embracing Material Design 9 Chapter 13: Designing Compatible Applications 10 Chapter 14: Using Android Preferences 11 Chapter 15: Accessing Files and Directories 12-13 Chapter 16: Saving with SQLite 14-16 Presentation 05 December Be Nice to Johnny Week