CSE 122 OOP Lab OBE Based Course Outline for Spring 2023
CSE 122 OOP Lab OBE Based Course Outline for Spring 2023
(BUBT)
Faculty of Engineering& Applied Sciences (FEAS)
Department of Computer Science and Engineering (CSE)
LAB COURSE OUTLINE
1 Program B.Sc. Engg. in CSE
2 Course Code CSE 122
3 Course Title Object Oriented Programming Language Lab
4 Course Type Core Course
5 Academic Session Spring 2023
6 Credit Hour 1.50
7 Intake 50
8 Section 3, 4
9 Campus Permanent Campus
10 Course Teacher
Name: Md. Ashiqur Rahman Designation: Assistant Professor
Specialization: Machine Learning, Data Mining, Bioinformatics, Wireless Networking
Room No. 314/B1 Email: [email protected] Cell No: 01621410068
11 Class Schedule Section - 03
Class Day Class Hours
Wednesday 08:30 AM – 11:30 AM
Section - 04
Class Day Class Hours
Thursday 08.30 AM – 11:30 AM
12 Course Objectives This sessional (lab) course is based on the theory course CSE-121 Object-Oriented Programming
Language. This course provides practical implementation aspects of object-oriented
Programming principles and techniques using C++. The course is designed to perform
Object-oriented programming to develop problem solutions using features of C++.
13 Text Book Teach Yourself C++, 2nd edition by Herbert Schildt.
14
Reference Book The Complete Reference C++, 2nd edition by Herbert Schildt.
15 Course Outcomes
(COs)
Upon completing this course students will be able to:
CO1: Identify and implement classes and objects from the given problem description using C++.
CO2: Implement friend function, function overloading, operator overloading, and inheritance etc.
to solve different problems using C++.
CO3: Design and implement solutions of real life problems by using key features of OOP
(Encapsulation, Inheritance, Polymorphism, Abstraction etc.) in C++.
2
Mapping of COs
toPOs
CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 √
CO2 √
CO3 √
Bloom’s
CO No. PO No. Delivery Methods / Activities Assessment Tools
Domain / Level
Lectures, Lab Task, Assignment. Lab Performance
CO1 PO5 Cognitive / Understanding
Lectures, Lab Task, Assignment. Lab Performance
CO2 PO2 Cognitive / Applying
Lectures, Lab Task, Assignment. Lab Performance
CO3 PO3 Cognitive / Applying
16 Teaching Maximum topics will be covered from the textbook. For the rest of the topics, reference books will be followed.
Strategy Some class notes will be uploaded on the web. White board will be used for most of the time. Multimedia
projector and a PC will be used for the convenience of the students to understand codes practically. Students
must participate in classroom discussions for case studies, problems solving and project developments.
17 Assessment
and Marks Class Attendance : 10%
Distribution:
Lab Report : 10%
Lab Performance : 30%
Lab Test : 40%
Viva : 10%
18 Weekly Schedule
Week Lab Topics CO
Week1 Lab1 Creating class, Using different access specifiers of class members, methods to
manipulate private members and creating objects of class. Defining constructor
(parameterized and non-parameterized) of a class to initialize data members of an
object and destructor to free memory.
Week2 Lab2 Passing and Returning objects to and from function respectively. Object pointer, CO1
inconsistency in implicit call to destructor by copy of an object that shares the same
memory location.
Lab Performance Evaluation.
Week3 Lab3 Overload constructor to initialize objects in different ways. Creating and Using copy CO1
constructor.
Lab Performance Evaluation.
Week4 Lab4 Friend functions to access private members of a class.
3
Week5 Lab5 Implementation of function overloading for different data types. CO2
Lab Performance Evaluation.
Week6 Lab6 Default argument in function definitions and prototypes.
Week7 Mid-Term Week
Week8 Lab7 Operator overloading – binary operators (arithmetic operators, relational, logical)
Week9 Lab8 Unary operator. Assignment operator overloading. Friend operator function. Lab CO2
Performance Evaluation.
Week10 Lab9 Introduction to inheritance, access specifiers for deriving a base class, protected
members. Multiple inheritance i.e. deriving multiple base classes. Order of constructor
and destructor call in inheritance hierarchy.
Week11 Lab10 Parameter passing from derived class to base class for simple and multiple CO3
inheritances. Virtual base class implementation.
Lab Performance Evaluation.
Week12 Lab11 Pointer to derived classes to access inherited members. Introducing virtual function
for run-time polymorphism.
Week13 Lab12 Using generic functions and generic classes e.g. templates. CO3
Exception handling e.g. dividing by zero in a fraction.
Lab Performance Evaluation.
Week14 Lab13 One problem analysis and OOP based solution.
Week 15 Final Term Week
Returning
objects to and
from function
respectively.
Object pointer,
inconsistency in
implicit call to
destructor by
copy of an
object that
shares the same
memory
location.
L3 Overload CO1 ,, ,, ,, ,, 5
constructor to
initialize objects
in different
ways. Creating
and Using copy
constructor.
L5 Implementation CO2 ,, ,, ,, ,, 5
of function
overloading for
5
different data
types.
L8 Unary operator. CO2 ,, ,, ,, ,, 5
Assignment
operator
overloading.
Friend operator
function.
L10 Parameter CO3 ,, ,, ,, ,, 5
passing from
derived class to
base class for
simple and
multiple
inheritances.
Virtual base
class
implementation.
L12 Using generic CO3 ,, ,, ,, ,, 5
functions and
generic classes
e.g. templates.
Exception
handling e.g.
dividing by zero
in a fraction.
21 Grading Policy The following chart will be followed for grading. This has been customized from the guideline provided by the
School of Engineering and Computer Science.
A+ A A- B+ B B- C+ C D F
22 Additional Lab Reports There will be tasks of preparing lab reports for each of the labs. Average marks of the lab reports will be
Course Policies counted. No late homework will be accepted.
Any kind of copy/manipulation in a lab report will carry a zero mark.
Two or more copied lab reports will carry zero mark in all assignments. Zero tolerance will be shown in
this regard. Solutions to assignment problems will be provided through the web and on hand.
Lab Performance There will be at least six lab performance evaluations. These will be taken as per the weekly schedule.
During evaluation, following instructions will be strictly maintained:
1. Every student is expected to be regular in Lab classes.
6
messages or
activities like
interpreting,
exemplifying,
classifying,
summarizing,
inferring,
comparing, or
explaining.
C3 Applying Carrying out or Apply,change,choose,compute,dramatize,implement,interview,prepare, produce, role play,
using a procedure select, show, transfer, use
through
executing, or
implementing.
Applying relates
to or refers to
situations where
learned material
is used through
products like
models,
presentations,
interviews or
simulations.
C4 Analyzing Breaking materials Analyze,characterize,classify,compare,contrast,debate,deconstruct,deduce,differentiate,
or concepts into discriminate, distinguish, examine, organize, outline, relate, research, separate, structure
parts,
determining how
the parts relate
to one another or
how they
interrelate, or
how the parts
relate to an
overall structure
or purpose.
Mental actions
included in this
function are
differentiating,
organizing, and
attributing, as
well as being able
to distinguish
between the
components or
parts. When one
is analyzing,
he/she can
illustrate this
mental function
by creating
spreadsheets,
surveys, charts,
or diagrams, or
graphic
representations.
8
C5 Evaluating Making judgments Appraise, argue, assess, choose, conclude, critique, decide, evaluate, judge, justify, predict,
based on criteria prioritize,
and standards prove, rank, rate, select, Monitor
through checking
and critiquing.
Critiques,
recommendations,
and reports are
some of the
products that can
be created to
demonstrate the
processes of
evaluation.
C6 Creating Putting elements Construct, design, develop, generate, hypothesize ,invent, plan, produce, compose, create,
together to form make, perform, plan, produce
a coherent or
functional whole;
reorganizing
elements into a
new pattern or
structure through
generating,
planning, or
producing.
Creating
requires users
to put parts
together in a new
way, or
synthesize parts
into something
new and different
creating a new
form or product.
This process is
the most difficult
mental function.
identifiable.
A4 Organizing Organizes values into priorities by contrasting different compares, relates, synthesizes
values, resolving conflicts between them, and creating
an unique value system. The emphasis is on comparing,
relating, and synthesizing values.
A5 Characterizing Has a value system that controls their behavior. The acts, discriminates, displays,
behavior is pervasive, consistent, predictable, and the influences, modifies, performs,
most important characteristic of the learner. qualifies, questions, revises, serves,
Instructional objectives are concerned with the solves, verifies
student's general patterns of adjustment (personal,
social, emotional).
P7 Origination Creating new movement patterns to fit a particular arranges, builds, combines,
situation or specific problem. Learning outcomes composes, constructs, creates,
emphasize creativity based upon highly developed skills. designs, initiate, makes, originates.
29 Graduate Attributes (Program Outcomes) for B.Sc. in Engineering Program based on Washington Accord
Program Outcomes (POs) are narrower statements that describe what students are expected to know and be able to do by the
Time of graduation. These relate to the knowledge skills and attitudes that students acquire while progressing through the program. The
students of the B.Sc. in CSE program are expected to achieve the following graduate attributes or program outcomes at the time of
graduation.
10
PO1–Engineering knowledge (Cognitive): Apply the knowledge of mathematics, science, engineering fundamentals and an engineering
specialization to the solution of complex engineering problems.
PO2–Problem analysis (Cognitive): Identify, formulate, research the literature and analyze complex engineering problems and reach
substantiated conclusions using first principles of mathematics, the natural sciences and the engineering sciences.
PO3–Design/development of solutions (Cognitive, Affective): Design solutions for complex engineering problems and design system
components or processes that meet the specified needs with appropriate consideration for public health and safety as well as cultural,
societal and environmental concerns.
PO4–Investigation (Cognitive, Psychomotor): Conduct investigations of complex problems, considering design of experiments, analysis
and interpretation of data and synthesis of information to provide valid conclusions.
PO5–Modern tool usage (Psychomotor, Cognitive): Create, select and apply appropriate techniques, resources and modern engineering
and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations.
PO6–The engineer and society (Affective): Apply reasoning informed by contextual knowledge to assess societal, health, safety, legal and
cultural issues and the consequent responsibilities relevant to professional engineering practice.
PO7–Environment and sustainability (Affective, Cognitive): Understand the impact of professional engineering solutions in societal and
environmental contexts and demonstrate the knowledge of, and need for sustainable development.
PO8–Ethics (Affective): Apply ethical principles and commit to professional ethics, responsibilities and the norms of the engineering
practice.
PO9–Individual work and teamwork (Psychomotor, Affective): Function effectively as an individual and as a member or leader of diverse
teams as well as in multidisciplinary settings.
PO10–Communication (Psychomotor, Affective): Communicate effectively about complex engineering activities with the engineering
community and with society at large. Be able to comprehend and write effective reports, design documentation, make effective
presentations and give and receive clear instructions.
PO11–Project management and finance (Cognitive, Psychomotor): Demonstrate knowledge and understanding of the engineering and
management principles and apply these to one’s own work as a member or a leader of a team to manage projects in multidisciplinary
environments.
PO12–Life-long learning (Affective, Psychomotor): Recognize the need for and have the preparation and ability to engage in independent,
life-long learning in the broadest context of technological change.