COSC 210 – New
Syllabus of Records
Object Oriented and GUI
Programming
Syllabus of Record
I. Catalogue Description
COSC 210 Object Oriented and GUI
Programming 3 credits
3 lecture hours 0 lab hours
(3c‑0l‑3sh)
Prerequisite: COSC110
An in‑depth
introduction to the Object Oriented Programming (OOP) paradigm. The focus will be on
designing, implementing, and using objects. We will cover function and operator
overloading, inheritance and polymorphism. This course will also include an
introduction to Graphical User Interface (GUI) design and programming.
II. Course Objectives
Upon completing the course,
the student is expected to:
·
know the fundamental concepts of
the OOP paradigm.
·
be able to Implement object
definitions.
·
be able to incorporate objects
and arrays of objects in application programming.
·
be able to use overloading,
and inheritance when designing, implementing, and using objects.
·
know the fundamental concepts of
GUI design.
·
Be able to design Object Oriented applications.
·
be able to develop and test
object‑oriented GUI programs.
III. Course Outline
A.
Introduction to the Object Oriented Programming Paradigm 2
hours
1. Overview of the
fundamental concepts of OOP
2. Object model terminology
3. Introduction to the
language and programming environment
B.
Defining Objects 4
hours
1. Encapsulation
2. Constructors and
destructors
3. Member variables and
functions
4. Accessor
and modifier functions
5. Object declaration and
initialization
C. Programming Basics 6
hours
1. Object-Oriented Language
basics
2. Data representation and
standard types
3. Literals and literal
types
4. Input and output (I/O)
5. Operators and expressions
6. Control flow constructs
7. Functions and return
types
8. Static and dynamic arrays
9. Memory allocation
10. Debugging techniques
11. Public, protected, and
private declarations
D.
Overloading 3
hours
1. Function overloading
2. Overloading resolution
3. Operator overloading
E.
Using Objects 4
hours
1. Scoping
2. Static and dynamic
objects
3. Arrays of objects
F.
Object Design 3
hours
1. Goals of Object Oriented
Software
2. Event driven programming
3. Basic GUI components
G.
Sorting and Searching 5
hours
1. Sorts and sorting
techniques (exchange, insertion, selection)
2. Searching
3. Recursion and recursive
techniques
4. Strings and string
manipulation
H. Inheritance 5 hours
1. Single and multiple inheritance
2. Public vs. private
inheritance
3. Polymorphism
4. Abstract classes
5. Interfaces
1. Exception handling
functions
2. Expected and unexpected
exceptions
3. Assertions and threads
4. Using a debugger
J.
Graphical User Interface Design 2
hours
1. Goals of GUI software
K.
Implementing GUIs using Object Oriented Programming 5
hours
1. Concepts and terminology
2. Dialogue Interface
3. Single Document Interface
4. Multiple Document
Interface
IV. Evaluation Methods
Evaluation: Exams: 3
(50-60%) (including final)
Projects: 5‑6 (30-40%)
Quizzes, Homework, and Lab Exercises:
(10-20%)
Grading Scale: The standard
grading scale will be used.
90-100% :
A; 80-89% : B; 70-79% : C; 60-69% : D; below 60% : F.
Attendance policy: The attendance policy will conform to the
University wide attendance criteria.
V. Textbook(s)
Wu, C. Thomas, An
Introduction to Object-Oriented Programming with Java, Third Edition, , McGraw
Hill Publishers, Boston, Massachssetts, 2004.
Deitel, H.M.
and Deitel, P.J., Java:
How to Program, Sixth Edition, Prentice-Hall,
VI. Special Resource
Requirements
None.
VII. Bibliography
1. Barker, Jacquie, Beginning
Java Objects: From Concepts to Code, 2nd Ed., Apress,
2. Forster, David, The Java Primer, Addison-Wesley Publishers,
3. Horstmann,
Cay S., Computing Concepts with Java, John Wiley & Sons, Inc.,
4 Marinilli, Mauro, GUI Development
in Java, John Wiley & Sons, Inc.,
5. Morelli,
Ralph and Walde, R., Java Essentials for Object
Oriented Problem Solving, Prentice Hall PTR,
6. Schneider, F., and
Powell, Thomas A., JavaScript: The Completer Reference, McGraw Hill
Publishers,
7. Wiley, Russell, Developing
Java Software, 3rd. Ed., John Wiley & Sons, Inc.,