advprog - ay201516t1 - syllabus
DESCRIPTION
asermyTRANSCRIPT
COURSE SYLLABUS
ADVPROG / Advanced Programming in Java
Prerequisite : DASTRAPPrerequisite to :Type of Course : Basic CourseFaculty : Ryan Dimaunahan ([email protected])Consultation Hours : STC: Wednesdays (by appointment)
MANILA: Tuesdays and Thursdays (by appointment)Term/Time/Room : Term 1 AY 2015 – 2016
Course Description : This is an advanced programming course emphasizing on the use of object-oriented design and implementation of systems. This course focuses on teaching object-oriented and basic design patterns that aims to make code simpler, scalable, maintainable and reusable.
Objectives/Values :To introduce students to object-oriented design.
At the end of the term, the student should be able to:Knowledge:
● design applications using object-oriented approach● identify appropriate OO-design for a problem● implement the OO-design in Java ● promote appropriate, reusable, maintainable designs in software systems
Values:● promote and exercise intellectual honesty● develop camaraderie and work well within a group● manifest diligence in work and in studies to achieve goals
Skill:● have critical thinking in analyzing problems and creating or providing solutions● have a systematic methodology in designing systems● perform well, deliver goals and manage activities in relation to time.
Topics : Course Topics Week Activity
Orientation 1
Java Programming Review● main() Method● Variables and Constants, Assignment Statements,
Input/Output, basic data types, String● Conditional Statements, Iterative Statements● Understanding and Using API● Methods Creation and Calling● Programming Constructs (conditional, iterative)
1-3 Exercises: Review on Logic Formulation and Code Modularization through Methods.
Exercises: Implementing a Java program based on Flowcharts and/or Pseudocode.
Diagnostic ExamSeptember 11, 2015 (Fri, 1000-1200)
3
Object-Based Design and Programming● Classes and Instances● Composition and Aggregation● Array List
4-7 Exercises: Identifying the necessary classes, their attributes and methods, and the relationships between classes to solve a problem. (Class Diagram)
Exercises: Implementing a Java program based on a Class Diagram.
Machine Project 1October 7/8, 2015 (within the first 10 minutes of class)
7
Midterm AssessmentOctober 9, 2015 (Fri, 1000-1200)
7
Object-Oriented Design and Programming● Class Relationships (inheritance, association, dependency)● Inheritance and Polymorphism● Abstract Class
8-12 Exercises: Design classes and their relationships, with the goal of reuse.
Exercises: Implementing a Java program based on a Class Diagram.
Design Patterns● Introduction● Examples:
o Factory Patterno Adapter Patterno Builder Pattern
13 Exercises: Exposure to Design Patterns and its applications.
Exercises: Modification of existing programs to conform to Design Patterns.
Machine Project Presentation and DemoNovember 18/19, 2015 (within the first 10 minutes of class)
November 20, 2015 (TBD)
13
Final Assessment 13
Teaching Methods/Strategies: lecture, hands-on activities, recitation, individual and group work
Requirements : reading assignment, exercises, programming project, oral and written exams
Assessment / Evaluation :
Diagnostic ExamClass Exercises and ActivitiesMachine Project 1Machine Project 2Midterm AssessmentFinal AssessmentTotal
10%15%15%20%20%20%100%
Passing Grade: 60%
Text References:● Deitel, H., & Deitel, P. (2012). Java: How to Program, 9th Edition. Upper Saddle River, New Jersey, USA:
Prentice Hall.● Farell, J. (2011). An object-oriented approach to programming logic and design, third edition. Boston,
Massachusets, USA: Course Technology. Addison-Wesley Longman Publishing Co., Inc.● Simon Bennet, R. F., Steve McRobb. (2010). Object-Oriented Systems Analysis And Design using UML, fourth
edition. Berkshire, UK: McGraw-Hill Education.● Shalloway, A., Trott J. (2002). Design Patterns Explained: A New Perspective on Object-Oriented Design.
Addison-Wesley.● Chapter 1. Software Development and Object-Oriented Programming Paradigms.
http://www.buyya.com/java/Chapter1.pdf
Web References:● Oracle’s Java Tutorial - http://docs.oracle.com/javase/tutorial/● Official Java API Documentation: http://docs.oracle.com/javase/6/docs/api/
Web links for tools to be used:
● Java Development Kit (JDK) - http://www.oracle.com/technetwork/java/javase/downloads/index.html● Dia Diagram Editor - https://live.gnome.org/Dia● Text Editor/IDE
o Eclipse – http://www.eclipse.org o Netbeans – http://netbeans.org/ o Notepad++ - http://notepad-plus.sourceforge.net/uk/site.htm
Class Policies: When using the intellectual property of others (Such as the use of images, source code, tools, and other software), please be reminded to properly cite your sources.
Policies specific to the teacher’s classes shall be specified by the respective teacher.