PGRM-120 Object-Oriented Programming I with Lab

glintplainvilleSoftware and s/w Development

Nov 18, 2013 (3 years and 7 months ago)

115 views



PGRM
-
120 Object
-
Oriented Programming I with Lab



Course Description:

This course introduces object
-
oriented programming concepts including objects, classes,
encapsulation, polymorphism and inheritance. Using an object
-
oriented p
rogramming
language such as C# or Java, students design, code and document business
-
oriented
programs.


Prerequisites:

PGRM
-
110
Programming Logic and Design with Lab


Hours:



Contact:

6

Credit:


5


Course Objectives:

Upon successful completion of this co
urse students should understand and be able to do the
following:


1.

Given a collection of data, design, code and test a program that stores the data in a
dynamically allocated array of appropriate type.


2.

Given a set of requirements/specifications, design, co
de and test a program that
implements functions with parameter lists that are passed as supported by the chosen
programming language (e.g. passing by value and/or passing by reference).


3.

Given an object to be represented in software, design, code and test
a program that

a.

defines a class to model the characteristics and behaviors of the object,

b.

defines appropriate constructors and destructors for the class,

c.

creates an instance of the object, and

d.

calls the methods of the object to solve a problem.


4.

Given an ob
ject to be represented in software, design, code and test a program that
controls the accessibility of class members using the public, private, or protected access
modifiers.


5.

Given a set of specifications, design, code, and test a program that defines and

uses a set
of objects in which an instance of one object is a member of another object.


6.

Given a set of specifications, design, code and test a program that defines and uses a set
of objects in which one object is derived from another object.


7.

Given a

set of functions or operations, design, code and test a program that defines and
uses appropriate overloaded functions or operators


8.

Given a set of objects related through inheritance, design, code and test a program that
contains statically and dynamical
ly bound functions.


9.

Given a set of objects related through inheritance, design, code and test a program that
utilizes an abstract base class.


10.

Given a set of programming standards and styles, write and document a complete
program that conforms to the give
n standards and styles.


11.

Given a problem where the resulting solution would be a large program, design, code and
test a modular solution using separate header, implementation files, and namespaces to
manage complexity.


Topics Include:


1

Dynamic arrays

1.1

Crea
te a dynamic array

1.2

Deleting an object from an ArrayList

1.3

Saving the arraylist to file


2

Object Oriented Principles

2.1

Abstraction

2.2

Encapsulation

2.3

Public/Private Members

2.4

What is an Interface?

2.5

Object Membership

2.6

Static vs. Instance Members

2.7

Invocation

2.8

Polymorphism


3

S
tructures

3.1

Member Properties

3.2

Member Variables

3.3

Types of Structures

3.4

Member Methods

3.5

Value Returning Methods

3.6

Enumerations


4

Object Creation

4.1

New Objects

4.2

Object Instances

4.3

Constructors/ Destructors

4.4

Constructor/ Destructors Initialization

4.5

Private Instance Constru
ctors/ Destructors

4.6

Static Constructors/ Destructors

4.7

Instance Overloading Constructors and Destructors


5

Class Anatomy

5.1

Data Members

5.2

Instance Variables

5.3

Constant Members

5.4

Readonly Members

5.5

Data Members

5.6

Function Members

5.7

Static Methods


6

Event, Error and Exceptio
n Handling

6.1

Types of errors

6.2

Firing

6.3

Handling

6.4

Listening

6.5

Publishers

6.6

Subscribers

6.7

Event driven programs

6.8

Error Handling

6.9

Try Block

6.10

Catch Blocks

6.11

Finally blocks


7

Namespaces

7.1


The need for namespaces

7.2

The .NET defined namespaces

7.3

Namespace Headers

7.4

Defining Custom Namesp
aces

7.5

Creating Class Libraries, Namespaces and DLLs

7.6

Aliasing

7.7

Nesting


8

Object Inheritance

8.1

Constructors and Inheritance

8.2

Accessing member variables of base classes using Property Names

8.3

Abstract Methods

8.4

Access Modifiers

8.5

Derived Classes

8.6

Indexes

8.7

Overriding

8.8

Polymo
rphism


9

Collections

9.1

Dynamic Memory Management

9.2

Garbage Collection

9.3

Freeing Resources

9.4

Out of Reach Objects

9.5

Dispose Method

9.6

User
-
Defined Collection

9.6.1

Adding and Displaying items in a User
-
Defined Collection

9.6.2

Removing Items from a User
-
Defined Collection


10

Interfac
es

10.1

Interface Properties

10.2

Interface Inheritance

10.3

Abstarct Classess

10.4

Hierarchies

10.5

Interface functions

10.6

Virtual interfaces

10.7

Interface members



11

Serialization and Referencing

11.1

Understanding Object References

11.2

Constructors and Serialization

11.3

Saving and Retrieving Objec
ts from a file

11.4

Serialization and Binary Formatters


12

Writing a Windows Application

12.1

Designing the User
-
Interface

12.2

Command button control

12.3

Listbox control

12.4

textbox control

12.5

abel Control

12.6

Radio Button Check Box