0% found this document useful (0 votes)
96 views8 pages

Oosd Course Outline

This document outlines the course information and syllabus for IT 508 Object-oriented Software Development. The course covers fundamental concepts of object-oriented modeling using UML, the Java programming language, classes and inheritance in Java, and design principles like abstraction, generics, and design patterns. The course objectives are to understand software engineering design principles, discuss software design with UML, explain software architecture and detailed design principles, and apply design patterns. The course involves lectures, demonstrations, exercises, simulations, projects and exams for evaluation.

Uploaded by

kimidors143
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views8 pages

Oosd Course Outline

This document outlines the course information and syllabus for IT 508 Object-oriented Software Development. The course covers fundamental concepts of object-oriented modeling using UML, the Java programming language, classes and inheritance in Java, and design principles like abstraction, generics, and design patterns. The course objectives are to understand software engineering design principles, discuss software design with UML, explain software architecture and detailed design principles, and apply design patterns. The course involves lectures, demonstrations, exercises, simulations, projects and exams for evaluation.

Uploaded by

kimidors143
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Republic of the Philippines

BATANGAS STATE COLLEGE


Gov. Pablo Borbon Campus II
Alangilan, batangas City

COLLEGE OF INFORMATICS AND COMPUTING SCIENCES


GRADUATE PROGRAMS

COURSE INFORMATION AND SYLLABUS


IT 508 Object-oriented Software Development

University Vision
A globally recognized institution of higher learning that develops competent and morally
upright citizens who are active participants in nation building and responsive to the
challenges of the 21st century.

University Mission
Batangas State University is committed to the holistic development of productive
citizens by providing a conducive learning environment for the generation,
dissemination and utilization of knowledge through innovative education,
multidisciplinary research collaborations, and community partnerships that would
nurture the spirit of nationhood and help fuel national economy for sustainable
development.

University Core Values

The University passionately strives to achieve its vision and carry out its mission
by adhering to the following core values.

 Faith
 Patriotism
 Human Dignity
 Integrity
 Mutual Respect
 Excellence

Course Title: Object oriented Software


Course: I.T 508
Development
Pre-co-req: None Credit Units: 3
Professor: Email:
Room No.: Schedule Sunday

PHILOSOPHY

Object-oriented software development matured significantly during the past several


years. The convergence of object-oriented modeling techniques and notations, the
development of object-oriented frameworks and design patterns, and the evolution
of object-oriented programming languages have been essential in the progression of
this technology. 
COURSE DESCRIPTION

Fundamentals of object-oriented modeling—associations, links and states. Survey of


object oriented development methods. In-depth study of a current object-oriented
method. Object oriented software requirements analysis and modeling. In-depth study
of object-oriented design patterns.

COURSE OBJECTIVES

Upon successful completion of the course the student will be able to:

• Be able to understand basic concepts of software engineering design


• Be able to discuss software design with UML
• Be able to explain principles of software architecture design
• Be able to explain principles of detailed software design
• Be able to understand and use design patterns

COURSE FORMAT

Lecture, discussion, demo, exercises, simulation, hands-on, project and


case study.

METHODS OF EVALUATION

Attendance 10%
Program Simulation and Class Participation 25%
Program Exercises 25%
Final Examination 40%

REQUIREMENTS:
1. Regular Attendance
2. Major Examination (Midterm, Finals)
3. Programming exercises
4. Other basis of course grades (project, case study, thesis, etc.)

Grading System
The final grade will be used on the following scale:

1.0 Excellent
1.25 Very good
1.50 Good
1.75 Meritorious
2.0 Passing
Inc. Incomplete
Academic Dishonesty
The CICS Graduate Programs values academic honesty and integrity. Each student has
a responsibility to understand, accept, and comply with the university’s standard of
academic conduct as set forth by the university code and student manual, as well as
policies established by the schools and colleges. Cheating, collusion, misconduct,
fabrication and plagiarism are considered serious offenses. Violations will not be
tolerated and my result in penalties up to and including expulsion from the University.

WEB AND BOOK REFERENCES:

Object-Oriented Software Development Using Java


- Principles, Patterns, and Frameworks
Xiaoping Jia, Ph.D

Hardcover - 696 pages 2 edition (October, 2002)  


Addison-Wesley Pub Co; ISBN: 0201737337

COURSE OUTLINE:

   1.1 The Challenges of Software Development


   1.2 An Engineering Perspective
         1.2.1 Software Development Activities
         1.2.2 Software Development Processes
         1.2.3 Desirable Qualities of Software Systems
         1.2.4 Is Software Development an Engineering
Process?
1    1.3 Object-Orientation
         1.3.1 Modeling the Real-World
         1.3.2 Evolution of Programming Models
         1.3.3 A Brief History
   1.4 Iterative Development Processes
         1.4.1 Object-Oriented Development Activities
         1.4.2 Rational Unified Process (RUP)
         1.4.3 Extreme Programming (XP)
2 Object-Oriented Modeling Using UML 
   2.1 Principles and Concepts
         2.1.1 Objects and Classes
         2.1.2 Principles
   2.2 Modeling Relationships and Structures
         2.2.1 Inheritance
         2.2.2 Association
         2.2.3 Aggregation and Composition
2
         2.2.4 Dependency
   2.3 Modeling Dynamic Behavior
         2.3.1 Sequence Diagram
         2.3.2 State Diagram
   2.4 Modeling Requirements with Use Cases
         2.4.1 Terms and Concepts
         2.4.2 Use Case Diagrams
   2.5 Case Study: An E-Bookstore
         2.5.1 Conceptualization
         2.5.2 Use Cases
         2.5.3 Object Models
3 Introduction to Java 
   3.1 An Overview of the Java 2 Platform
   3.2 The Java Run-Time Architecture
         3.2.1 Program Execution Models
3
         3.2.2 Java Virtual Machine
   3.3 Getting Started with Java
         3.3.1 A Simple Java Application
         3.3.2 A Java Applet
4 Elements of Java 
   4.1 Lexical Elements
         4.1.1 Character Set
         4.1.2 Identifiers
         4.1.3 Primitive Types and Literals
         4.1.4 Operators and Expressions
   4.2 Variables and Types
         4.2.1 Variable Declarations
         4.2.2 Type Compatibility and Conversion
4          4.2.3 Reference Types
         4.2.4 Arrays
   4.3 Statements
         4.3.1 Expression Statements
         4.3.2 Statement Blocks
         4.3.3 Local Variable Declarations
         4.3.4 The return Statement
         4.3.5 Selection Statements
         4.3.6 Loop Statements
         4.3.7 The break and continue Statements
   4.4 Class Declarations
         4.4.1 Syntax of Class Declarations
         4.4.2 Creating and Initializing Objects
         4.4.3 Accessing Fields and Methods
         4.4.4 Method Invocation and Parameter Passing
         4.4.5 Class (Static) Fields and Methods
         4.4.6 Object Reference this
         4.4.7 Interfaces and Abstract Classes
         4.4.8 Strings
         4.4.9 Wrapper Classes
5
   4.5 Packages
         4.5.1 Using Packages
         4.5.2 Partitioning the Name Space
         4.5.3 Packages and the Directory Structure
         4.5.4 Organization of the Java Class Library
   4.6 Exceptions
         4.6.1 Sources of Exceptions
         4.6.2 Hierarchy of Exceptions
         4.6.3 Throwing Exceptions
         4.6.4 Catching and Handling Exceptions
   4.7 A Simple Animation Applet
5 Classes and Inheritance 
   5.1 Overloading Methods and Constructors
   5.2 Extending Classes
         5.2.1 Constructors of Extended Classes
         5.2.2 Subtypes and Polymorphism
         5.2.3 Overriding Methods
   5.3 Extending and Implementing Interfaces
         5.3.1 Subtypes Revisited
5          5.3.2 Single Versus Multiple Inheritance
         5.3.3 Name Collisions among Interfaces
         5.3.4 Marker Interfaces
   5.4 Hiding Fields and Class Methods
   5.5 Applications�Animation Applets
         5.5.1 Parameters of Applets
         5.5.2 An Idiom for Animation Applets
         5.5.3 Double-Buffered Animation
         5.5.4 Reading Files in Applets
6 From Building Blocks to Projects 
   6.1 Design and Implementation of Classes
         6.1.1 Public and Helper Classes
         6.1.2 Class Members
         6.1.3 Design Guidelines
         6.1.4 Documenting the Source Code
   6.2 Contracts and Invariants
         6.2.1 Contracts of Methods
         6.2.2 Invaraints of Classes
         6.2.3 Assertions
         6.2.4 Design by Contract
   6.3 The Canonical Form of Classes
5
         6.3.1 No-Argument Constructor
         6.3.2 Object Equality
         6.3.3 Hash Code of Objects
         6.3.4 Cloning Objects
         6.3.5 String Representation of Objects
         6.3.6 Serialization
   6.4 Unit Testing
         6.4.1 Simple Unit Testing
         6.4.2 JUnit � A Unit Testing Tool
         6.4.3 Testing Coverage Criteria
   6.5 Project Build
         6.5.1 Ant � A Build Tool
7 Design by Abstraction 
   7.1 Design Patterns
         7.1.1 Design Pattern: Singleton
   7.2 Designing Generic Components
7
         7.2.1 Refactoring
         7.2.2 Design Pattern: Template Method
         7.2.3 Generalizing
         7.2.4 Design Pattern: Strategy
   7.3 Abstract Coupling
         7.3.1 Enumerating Elements
         7.3.2 Design Pattern: Iterator
   7.4 Design Case Study�Animation of Sorting Algorithms
         7.4.1 The Initial Implementation
         7.4.2 Separating Algorithms
         7.4.3 Design Pattern: Factory
         7.4.4 Separating Display Strategies
8 Object-Oriented Application Frameworks 
   8.1 Application Frameworks
         8.1.1 Characteristics
         8.1.2 Design Requirements
         8.1.3 Specific Frameworks Considered
   8.2 The Collections Framework
         8.2.1 Abstract Collections
         8.2.2 Interfaces of Collections
         8.2.3 Implementations of Collections
         8.2.4 Iterators of Collections
         8.2.5 Ordering and Sorting
8    8.3 The Graphical User Interface Framework � AWT and
Swing
         8.3.1 The GUI Components
         8.3.2 Design Pattern: Composite
         8.3.3 Layout Managers
         8.3.4 Handling Events
         8.3.5 Frames and Dialogs
   8.4 The Input/Output Framework
         8.4.1 Byte Streams
         8.4.2 Design Pattern: Decorator
         8.4.3 Character Streams
         8.4.4 Random Access Files
9 Design Case Study: A Drawing Pad 
   9.1 Planning
   9.2 Iteration 1: A Simple Scribble Pad
         9.2.1 The Scribbling Canvas and Its Listener
         9.2.2 The Application
   9.3 Iteration 2: Menus, Options, and Files
         9.3.1 Strokes
9          9.3.2 The Scribble Canvas
         9.3.3 The Canvas Listener
         9.3.4 The Application
         9.3.5 Choosing Colors
   9.4 Iteration 3: Refactoring
         9.4.1 The Shapes
         9.4.2 The Tools
         9.4.3 Extending Components
   9.5 Iteration 4: Adding Shapes and Tools
         9.5.1 The Shapes
10          9.5.2 The Toolkit
         9.5.3 Design Pattern: State
         9.5.4 A Concrete Tool � TwoEndsTool
         9.5.5 Extending Components
         9.5.6 Design Pattern: Factory Method
   9.6 Iteration 5: More Drawing Tools
         9.6.1 Filled Shapes
         9.6.2 Drawing Filled Shapes
         9.6.3 The Application
   9.7 Iteration 6: The Text Tool
         9.7.1 The Text Shape
         9.7.2 The Keyboard Input Tool
         9.7.3 The Font Option Menu
10 More Design Patterns 
   10.1 Type-Safe Enumeration Type
         10.1.1 A Simple Maze Game
         10.1.2 Enumeration Types
         10.1.3 Unordered Type-Safe Enumeration Idiom
         10.1.4 Ordered Type-Safe Enumeration Idiom
   10.2 Creational Design Patterns
         10.2.1 A Simple Design of the Maze Game
         10.2.2 Design Pattern: Abstract Factory
11
         10.2.3 Design Pattern: Factory Method
         10.2.4 Design Pattern: Prototype
         10.2.5 Design Pattern: Builder
   10.3 Behavioral Patterns
         10.3.1 Design Pattern: Command
         10.3.2 Supporting Undo
   10.4 Structural Patterns
         10.4.1 Design Pattern: Adapter
         10.4.2 Design Pattern: Composite
11 Concurrent Programming 
   11.1 Threads
         11.1.1 Creation of Threads
         11.1.2 Controlling Threads
   11.2 Thread Safety and Liveness
         11.2.1 Synchronization
12          11.2.2 Cooperation Among Threads
         11.2.3 Liveness Failures
   11.3 Design Case Study�Tic-Tac-Toe Game
         11.3.1 The Game Board
         11.3.2 The Game
         11.3.3 The Players
         11.3.4 Idiom: Taking Turns
12 Distributed Computing 
   12.1 Socket-Based Communication
         12.1.1 Server and Client Sockets
         12.1.2 Servers and Clients Using Sockets
13          12.1.3 Design Case Study�Stock Quotes I
   12.2 Remote Method Invocation
         12.2.1 The Architecture
         12.2.2 Using RMI
         12.2.3 Design Case Study�Stock Quotes II
   12.3 Database Connectivity
   12.4 Case Study / Programming

reference: http://se.cs.depaul.edu/Java/index.html

You might also like