T4 14011102-4 Object Oriented Programming

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Course Title: Object Oriented Programming

Course Code: 14011102-4


Program: BS in Computer Science
Department: Computer Science
College: College of Computer and Information Systems
Institution: Umm Al-Qura University
Table of Contents
A. Course Identification....................................................................................................3
6. Mode of Instruction (mark all that apply)...............................................................................3
B. Course Objectives and Learning Outcomes...............................................................3
1. Course Description.................................................................................................................3
2. Course Main Objective............................................................................................................3
3. Course Learning Outcomes.....................................................................................................3
C. Course Content.............................................................................................................4
D. Teaching and Assessment.............................................................................................4
1. Alignment of Course Learning Outcomes with Teaching Strategies and Assessment
Methods.......................................................................................................................................4
2. Assessment Tasks for Students................................................................................................4
E. Student Academic Counseling and Support...............................................................5
F. Learning Resources and Facilities...............................................................................5
1.Learning Resources..................................................................................................................5
2. Facilities Required...................................................................................................................5
G. Course Quality Evaluation..........................................................................................5
H. Specification Approval Data........................................................................................6

2
A. Course Identification

1. Credit hours:3
2. Course type
a. University College Department X Others
b. Required X Elective
3. Level/year at which this course is offered: level 4/ 2nd year
4. Pre-requisites for this course (if any):
14011101-4 Computer Programming

5. Co-requisites for this course (if any): None

6. Mode of Instruction (mark all that apply)


No Mode of Instruction Contact Hours Percentage
1 Traditional classroom week/)lec + 3 lab 3( 100%
2 Blended
3 E-learning
4 Distance learning
5 Other

7. Contact Hours (based on academic semester)


No Activity Contact Hours
1 Lecture 33
2 Laboratory/Studio 33
3 Tutorial
4 Others (specify):
Total 66

B. Course Objectives and Learning Outcomes


1. Course Description
This course introduces students to the object-oriented programming, the most widely used
programming paradigm, focusing on using classes and objects to design and build robust
console applications. Students will learn to design larger programs by structuring them into
multiple classes, with a variety of relationships between those classes, like association,
aggregation, composition, generalization, and realization. Students will use UML notations to
model classes and their relationships. The core concepts of object-oriented programming,
including inheritance, encapsulation, abstraction, and polymorphism will be studied in detail
with regular practical hands-on software development activities.

2. Course Main Objective


By completing this course, the students should be able to:

1. Students will be familiar with the key principles of object-oriented programming


2. Students will understand object-oriented concepts including - classes, objects, inheritance,

3
data abstraction, encapsulation, and polymorphism
3. Students will learn how to design applications using object-oriented concepts
4. Students will appreciate the benefits of code reuse by learning how to make use of off-the-
shelf Java libraries
3. Course Learning Outcomes
Aligned
CLOs
PLOs
1 Knowledge and Understanding
1.1 Understand object oriented concepts including – classes, objects, K1
inheritance, data abstraction, encapsulation, and polymorphism
1.2 Learn how to design larger programs using object oriented design K1
paradigm
1.3 Appreciate the benefits of code reuse by learning how to make use of K1
off-the-shelf Java libraries
2 Skills :
2.1 Ability to use and explain the object oriented concepts of instantiation, S1
encapsulation, inheritance, abstraction, and polymorphism.
2.2 Ability to understand and analyze moderately complex algorithms S1
2.3 Ability to design and construct moderately complex applications using S2
the advanced OO features such as interface, exception handling, and
generics.
2.4 Ability to use object-oriented design notations (UML class diagrams S2
and relationships) to model problem solutions.
2.5 Ability to use library classes, generic lists, and iterators in problem S2
solutions.

3 Values:
3.1 Work effectively as a member of a group V2

C. Course Content
Contact
No List of Topics
Hours
Introduction to programming paradigms
1 Object-oriented programming concepts 6
Object-oriented modeling and UML
Classes and objects: the building blocks
Declaring classes and creating objects, static and instance members of a
2 class, class constructors, scope of data members in a class, reference and 6
primitive data types, the use of this reference and the null value (garbage
collection)
3 Classes and objects: a deeper look 6
Encapsulation and data hiding, getter and setter methods, UML class
diagrams and relationships, enumerations, nested and inner classes,
immutable objects and classes, shallow and deep cloning, wrapper classes:
boxing and unboxing, passing object to and returning object from methods,

4
the method finalize
Generic lists: the ArrayList<T> and Vector<T> classes, list iteration, for-
4 6
each
Inheritance and code reusability, protected members, extends classes,
overriding vs. overloading, access superclass constructors and methods,
5 6
the Object class and its toString() and equals() methods, prevent class
extending & method overriding
Polymorphism and dynamic binding, upcasting and downcasting, casting
6 12
objects and the instanceof operator
7 Abstract classes and interfaces 12
Exception handling: basic exceptions, throwing and catching exceptions,
8 creating customized exceptions, rethrowing exceptions, performing 12
.cleanup with finally
9 Generic classes, interfaces, and methods 6
Total 66

D. Teaching and Assessment


1. Alignment of Course Learning Outcomes with Teaching Strategies and
Assessment Methods
Code Course Learning Outcomes Teaching Strategies Assessment Methods
1.0 Knowledge and Understanding
1.1 Understand object oriented concepts
Lectures, Group Quiz, lab evaluation,
including – classes, objects,
Discussion, labs, projects, assignment
inheritance, data abstraction,
assignments evaluation
encapsulation, and polymorphism
1.2 Learn how to design larger programs Lectures, Group Quiz, lab evaluation,
using object oriented design paradigm Discussion, labs, projects, assignment
assignments evaluation
1.3 Appreciate the benefits of code reuse Lectures, Group Quiz, lab evaluation,
by learning how to make use of off- Discussion, labs, projects, assignment
the-shelf Java libraries assignments evaluation
2.0 Skills
2.1 Ability to use and explain the object
Lectures, Group Quiz, lab evaluation,
oriented concepts of instantiation,
Discussion, labs, projects, assignment
encapsulation, inheritance,
assignments evaluation
abstraction, and polymorphism.
2.2 Ability to understand and analyze Lectures, Group Quiz, lab evaluation,
moderately complex algorithms Discussion, labs, projects, assignment
assignments evaluation
2.3 Ability to design and construct
moderately complex applications Lectures, Group Quiz, lab evaluation,
using the advanced OO features such Discussion, labs, projects, assignment
as interface, exception handling, and assignments evaluation
generics.
2.4 Ability to use object-oriented design
Lectures, Group Quiz, lab evaluation,
notations (UML class diagrams and
Discussion, labs, projects, assignment
relationships) to model problem
assignments evaluation
solutions.
2.5 Ability to use library classes, generic Lectures, Group Quiz, lab evaluation,

5
Code Course Learning Outcomes Teaching Strategies Assessment Methods
lists, and iterators in problem Discussion, labs, projects, assignment
solutions. assignments evaluation
2.6 Perform a task with minimum Lectures, Group Quiz, lab evaluation,
assistance Discussion, labs, projects, assignment
assignments evaluation
3.0 Values
Work effectively as a member of a Lectures, Group Project
3.1
group Discussion

2. Assessment Tasks for Students


Percentage of Total
# *Assessment task Week Due Assessment Score
1 Assignment 1 3 5
2 Assignment 2 5 5
3 Assignment 3 11 5
4 Lab exam 10 15
5 Group Project 10 15
6 Midterm 6 20
7 Final 11 35
Assessment task (i.e., written test, oral test, oral presentation, group project, essay, etc.)

E. Student Academic Counseling and Support


Arrangements for availability of faculty and teaching staff for individual student
consultations and academic advice :
Office hours between 2-4 hours per week

F. Learning Resources and Facilities

1.Learning Resources
Intro to Java Programming, Comprehensive Version, 10th Edition, Y.
Daniel Liang, Pearson, 2014, ISBN-13: 978-0133761313.
Required Textbooks
Java How To Program (Early Objects), 10th Edition, Dietel and
Dietel, Pearson, 2015, ISBN-13: 978-0133807806.
Absolute Java, 6th Edition, Walter Savitch, Pearson, 2016, ISBN-13:
Essential References 978-0134041674.
Materials Java Programming, 8th Edition, Joyce Farrell, 2016, ISBN-13:
9781285856919.

Electronic Materials Lecture slides. Review questions for each chapter.

Other Learning
The main textbook CD
Materials

6
2. Facilities Required
Item Resources
Accommodation Lecture room (max 40 students)
Classrooms, laboratories, demonstration ( Computer lab (max 20 students)
).rooms/labs, etc Internet connection
Overhead projector and smart board.
Technology Resources
AV, data show, Smart Board, software, (
Integrated Development Environment (e.g., NetBeans,
).etc Eclipse, JBuilder).
Java Development Kit (JDK)
Other Resources
Specify, e.g. if specific laboratory (
equipment is required, list requirements or
)attach a list

G. Course Quality Evaluation


Evaluation
Evaluators Evaluation Methods
Areas/Issues
Indirect: a student-feedback
Teaching and assessment Students form is distributed at the end
of the course.
Direct: analyze the grades of
Instructor and Quality students in each assessment
Achievement of CLOs
Assurance committee method to find out which
CLOs are below 60%.
Indirect: course materials
Instructor and curriculum
Course material are regularly reviewed in
committee
order to keep it updated.
Evaluation areas (e.g., Effectiveness of teaching and assessment, Extent of achievement of course learning
outcomes, Quality of learning resources, etc.)
Evaluators (Students, Faculty, Program Leaders, Peer Reviewer, Others (specify)
Assessment Methods (Direct, Indirect)

H. Specification Approval Data


Council / Committee
Reference No.
Date

You might also like