0% found this document useful (0 votes)
45 views

OOP Course Outline

This document provides information about the Object Oriented Programming course offered in the Fall 2021 semester at Riphah International University. The course is worth 4 credit hours and covers topics related to object oriented programming principles and concepts. It will be taught using Java as the illustration language. Assessment will include assignments, quizzes, projects, midterm and final exams. The course aims to help students understand OOP concepts, identify objects and relationships, implement programs using OOP constructs, and build small-scale solutions using libraries. It will be taught through lectures, labs, and class activities.
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)
45 views

OOP Course Outline

This document provides information about the Object Oriented Programming course offered in the Fall 2021 semester at Riphah International University. The course is worth 4 credit hours and covers topics related to object oriented programming principles and concepts. It will be taught using Java as the illustration language. Assessment will include assignments, quizzes, projects, midterm and final exams. The course aims to help students understand OOP concepts, identify objects and relationships, implement programs using OOP constructs, and build small-scale solutions using libraries. It will be taught through lectures, labs, and class activities.
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/ 9

Faculty of Computing – Fall Riphah International University

2021

Course Description
Course Code CS2104
Course Title Object Oriented Programming
Credit Hours 04 (3 + 1)
Prerequisites Programming Fundamentals CS1024
Offering Semester 2nd
Assessment Instruments Marks
with Weights (homework,
Assignments 15
quizzes, midterms, final,
programming assignments, Quizzes 15
lab work, etc.) Gr. LAB Tasks 10
Project 20
Midterm Exam 20
Final Term – (Written
+ Practical) 20
Total 100
Course Course Instructor:
Coordinator/Instructor Anam Aleem
Lab Instructor:
Amna Bibi
URL (if any) https://moellim.riphah.edu.pk/
Current Catalog
Description
Textbooks For C++:
 Object Oriented Programming in C+
+by Robert Lafore (4th edition)
 C++ How to ProgrambyDeitel and Deitel
(Alternate book)
For Java:
 The Complete Reference: Java J2SE 5
Edition by Herbert Schildt
(Recommended book)
 Beginning Java 2 by Ivor Horton
(Alternate book)
 Java in a Nutt shell by David
Flagan,O’Reilly (4th Edition)
For OOP:
 Designing Object Oriented Software
by Rebecca Wirfs-Brock, Brian
Wilkerson, Lauren Wiener
Faculty of Computing – Fall Riphah International University
2021

(Some of these books will be provided in


electronic form by the Instructor)
Reference Material Lecture Slides, Lab Manuals
Course Goals/Objectives Goal: This course introduces Object Oriented
Programming (OOP) with Java as an
illustration language.
Objective of this course is to ensure that
students understand object-oriented
programming / design concepts and are able to
design/write object Oriented computer
programs.
Learning Outcomes: Students should be able to
CLO1 : Explain fundamental OO
paradigm principles (Understand)
CLO2: Identify objects and relationships
from problem description (Understand)
CLO3: Implement, test, and debug a program
using appropriate principles and programming
constructs to achieve problem-solving
CLO4: Build small-scale OO solution through
usage of appropriate existing libraries (Create)
CLO5: Use appropriate programming
environment to code and debug OO applications
(Apply)
Topics Covered in the Please see details on next page
Course, with Number
of Lectures on Each
Topic
Laboratory Please see details on labs work-sheet
Projects/Experiments
Done in the Course
Assignments Done in Please see details on sheets attached
the Course
Class Time Spent on Social
(in credit hours) Problem Solution and
Theory
Analysis Design Ethical
Issues
0.5 0.9 1.5 0.1
Oral and -
Written
Communications

Code Bloom’s Taxonomy Course Teaching Course


Assessment
# And Course Learning Outcomes Strategies %Weight
Methods
Faculty of Computing – Fall Riphah International University
2021

1.0 Remember

2.0 Understand

Explain fundamental OO Lectures, Labs Quiz, Class 25 %


2.1
paradigm principles Discussion

Identify objects and relationships Lectures, Class Project 15%


2.2
from problem description Activities
(Understand)
3.0 Apply

Use appropriate programming environment


3.1 Lectures and Labs, Project, Lab Tasks 15%
to code and debug OO applications

Implement, test, and debug a program


Lectures, Labs, Class Assignment, Lab
3.2 using appropriate principles and 25 %
Activities Tasks
programming constructs to achieve
problem-solving
4.0 Analyze

5.0 Evaluate

6.0 Create

Written Exams,
Build small-scale OO solution through Lectures, Labs, Class
6.1 Assignments, 20%
usage of appropriate existing libraries Activities
Project
Faculty of Computing – Fall Riphah International University
2021

Weekly Lecture Plan


Week Lecture Topic CLO #
1. 1, 2 and 3 1. Course Overview, Overview of Structured
Programming using C++
2. Arrays/structure/Functions revision
3. Functions
4. Structure and Member Functions

LAB 01:
 Structures, Data and Functions.
 Member functions
 Calling functions in main
 Structure arrays
2. 1, 2 and 3 1. Introduction to OOP 2.1
2. Basic OOP Principles 2.2
3. Identifying Objects and Methods
4. Access Modifiers (Public, protected, private,
default)
5. Constructors/ Destructors
6. Importance of constructor/destructor
7. Data members, Member functions, Accessor
Functions
8. This Keyword
9. Encapsulation1

LAB 02:
 Simple Class and object creation in C++
 Data members, Member functions
 Access Modifiers (Public, protected, private,
default)
 Constructors/ Destructors
3. 1, 2 and 3 1. Introduction to Java 3.1
2. Development Environment
3. Advantages of java
3.1. Portability
3.2. Memory Management (Garbage Collector)
3.2.1. No pointers in java
4. Java classes and basic programming constructs
3.1. Data Types, Iteration and Selection in java
3.2. Java Arrays
3.2.1. Enhanced For loops
3.3.Object Instantiation and Method calling in
Main

LAB 03:
 Basic Java program
o Basic Class and object Creation
 Java Language constructs
o Java Arrays
Faculty of Computing – Fall Riphah International University
2021

o Data types
o Conditional statements
o Loops(While, Do-While, For,
Enhanced for loop)
4. 1, 2 and 3 1. Simplistic Introduction to IO Streams in Java 3.2
1.1. java.util package 6.1
1.1.1. Basic I/O through Scanner
2. String Class and String methods

LAB 04:
 Simple Console IO in Java
 String processing
5. 1, 2 and 3 1. Relationships in OOP 2.2
1.1. Associations
1.1.1. Compositions Vs. Aggregation
1.1.2. UML representations of Composition
1.1.3. Instance Visibility
1.1.4. Composition Practice Problems

LAB 05:
 Associations
o Object Interactions
o Compositions
6. 1, 2 and 3 1. Relationhips in OOP (Continue) 3.2
1.1. Introduction to Collection API 6.1
1.2. java.util.ArrayList collection
1.3. Aggregation through ArrayList
1.4. Practice Problems
Lab 06
1. Aggregation of Objects
2. Manipulation of collections
7. 1, 2 and 3 1. Inheritance 2.1
1.1. Single level, Multilevel inheritance 2.2
1.2. Great grandparent java.lang.Object
1.2.1. Significance of Object class
1.3. Multiple inheritance, Diamond Problem
1.4. Access Modifiers behavior in Inheritance
1.5. UML representation of Inheritance
2. This and Super Keywords

LAB 07:
3. Inheritance
3.1. Single level inheritance
3.2. Multi-level inheritance

Project Proposals Announcement


8. 1, 2 and 3 1. Inheritance continues 2.1
1.1. Concept Review and Practice Problems 2.2
Faculty of Computing – Fall Riphah International University
2021

1.2. The final keyword

LAB 08:
 Working in packages
 Complete application involving multilevel
inheritance
 This, Super and Final Keyword in practice
9. 1, 2 and 3 Project Proposals Discussion
Course Revision
MID Term
Paper Checking + Mid Term Solution Discussion
10. 1, 2 and 3 1. Polymorphism3 2.1
1.1. Compile-time (Static) Binding, Overloading 3.2
1.2. Runtime (Dynamic) Binding, Overriding 6.1
1.3. toString and equals Method overriding

Lab 09:
 Method Overriding
 Static vs. Runtime binding example
 Polymorphism in action
Project Proposals Submissions and Discussion
11. 1, 2 and 3 1. Abstraction4 2.1
1.1. Abstract methods 3.1
1.2. Abstract classes
1.3. Pure Abstract classes
1.4. Interfaces
1.4.1. Uses of Interfaces
1.4.1.1. Multiple inheritance
1.4.1.2. Constant interfaces
1.4.1.3. Loose coupling
2. Practice Problems with Abstraction

Lab 10:
 Abstraction
 Using Interfaces
12. 1, 2 and 3 1. Introduction to Graphical User Interface (GUI) 3.2
1.1. Java Graphical User Interface 6.1
1.2. AWT vs Swing
1.3. Container, Frame, Panel and Dialog
1.4. GUI Components: i.e., Label, Button,
TextFeild, RadioButton, TextArea,
DropDown Menu
1.5. Event Handling
1.5.1. EventListerners and Adaptors
1.6. Hand-coding GUI and interaction

Lab 11:
Faculty of Computing – Fall Riphah International University
2021

 Hand-coding GUI and interaction


13. 1, 2 and 3 1. GUI design using Drag and Drop feature of 3.1
IDE (Netbeans), An Example 3.2
2. The Separation of Concerns Principle 6.1
2.1. User Interface and Business Logic layers
3. File IO
3.1. Character Streams
3.1.1. FileReader, FileWriter
3.2. Byte Streams
3.2.1. FileInputStream,
FileOutputStream
3.3. Character vs Byte Streams
3.4. Gentle introduction to Exception
handling

Lab 12:
1. GUI Design using Drag and Drop
a. Working with lists and combo boxes
2. File IO (with separation of concerns)

14. 1, 2 and 3 1. File IO with GUI and Exception handling 3.2


1.1.File Handling in Java with CRUD 6.1
operations
1.2. Using JTable Component
2. Working with Java API Libraries
2.1. Math
2.2. Regular Expressions

Project Progress Discussion

LAB 14:
 File IO with GUI and Exception handling
o CRUD Operations to file
o Using JTable Component for CRUD
operations
15. 1, 2 and 3 1. File I/O Revisited 3.1
1.1 Object Serialization 3.2
2.1 ObjectInputStream, 6.1
ObjectOutputStream
2. Exception Programming
2.1 Exception Handling
2.2 Exception Programming
2.3 Finally
2.4 Multiple exceptions
LAB 13
1. File I/O
1.1. File Dialog
2. Complete working application with file handling
(separate layers for GUI and business logic)
16. 1, 2 and 3 Project Demonstrations + Viva
Faculty of Computing – Fall Riphah International University
2021

Final Practical Exam

Time Line for Assessment


Week Assessment
2, 4, 6, 10, 12, 14 Quiz
1, 3, 5, 9, 11, 13 Assignment
8 Midterm
16 Practical Exam
16 Project presentation

Map course LOs with the program LOs. (Place course LO #s in the left column and program LO #s across
the top.)

BSCS
Course
Program Learning Outcomes
LOs #

PLO1 PLO2 PLO3 PLO4 PLO5 PLO6 PLO7 PLO8 PLO9 PLO10 PLO11

2.1 ✔

2.2 ✔ ✔

3.1 ✔ ✔

3.2 ✔

6.1 ✔ ✔ ✔

Map course LOs with the program LOs. (Place course LO #s in the left column and program LO #s across
the top.)

BSSE
Course
Program Learning Outcomes
LOs #

PLO1 PLO2 PLO3 PLO4 PLO5 PLO6 PLO7 PLO8 PLO9 PLO10 PLO11

2.1 ✔

2.2 ✔ ✔

3.1 ✔ ✔

3.2 ✔
Faculty of Computing – Fall Riphah International University
2021

6.1 ✔ ✔ ✔

You might also like