- Department of Computer Science
- Vision, Mission, & Values
- Degrees & Programs
- Courses
- First Year Transfer Students
- Current Students
- Prospective Students
- Faculty & Staff
- Professors Emeritus
- Industrial Advisory Board
- Financial Assistance
- Employment Opportunities
- Donate
- Graduate Capstone
- Careers for Majors
- Resources
- Contact Us
- Help for Students
CS 3340 Introduction to Object Oriented Programming and Design (4) 2005
Catalog Description
Programming in an object-oriented language, using object-oriented techniques and concepts. Classes, information hiding, inheritance, and polymorphism. Memory management. Parameterized classes. Exception handling. Object-oriented design of programs. Prerequisites: CS 3240, and knowledge of C or C++.
Topics include:
- Overview of object-oriented software development, including history and goals, phases of development, principles (abstraction, modularity, hierarchy, etc.)
- Structure and Organization of an Object-Oriented Program. Classes and Objects.
- Organization of data in Objects, classes and methods. Instance variables, class variables, local variables and constants.
- Organization of the name space. Packages.
- Access controls and encapsulation.
- Methods in classes: class methods and instance methods, method overloading.
- Initialization, static initializers, constructors, constructor chaining.
- Memory management, allocation and deallocation of objects. Deallocation alternatives, garbage collection versus explicit deallocation.
- Error handling and exceptions.
- Relationships among objects and classes, "is-a" "has-a" and "uses" relationships. Inheritance, method overriding, and polymorphism. Multiple inheritance versus interfaces. Aggregation.
- Introduction to Object Oriented Design, decomposition of applications into classes and objects.
- Event-driven applications. Programming with GUI Objects.
Texts
- Lyon, Java for Programmers, Pearson
- Horstman & Cornell, Core Java 2, Vol 1, Prentice Hall
- Wang, Java and Object Oriented Progamming, Thompson Learning
- Pender, UML Weekend Crash Course, Wiley