Advanced Object Oriented Programming

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Advanced Object Oriented Programming Course Code: 4340701

GUJARAT TECHNOLOGICAL UNIVERSITY (GTU)

Competency-focused Outcome-based Green Curriculum-2021 (COGC-2021)


Semester-IV

Course Title: Advanced Object Oriented Programming


(Course Code: 4340701)

Diploma programme in which this course is offered Semester in which offered


Computer Engineering 4th Semester

1. RATIONALE

This course is designed to teach object-oriented programming concepts, techniques, and


applications using the Java programming language. Object-oriented programming emphasis on the
fundamentals of the structured design with classes, including development, testing,
implementation and documentation also includes object-oriented programming techniques,
classes and objects. Java is a simple, portable, distributive, robust, secure, dynamic, architecture
neutral, object oriented programming language. Java programming language is designed to enable
the development of a small, reliable, portable, distributed, real-time operating platform, high-
performance applications for the widest range of computing platforms possible as well as cross-
platform interaction. By making applications available across heterogeneous environments,
businesses can provide more services, boost end-user productivity, communication and
collaboration to enterprise and consumer applications. The Java programming language originated
as part of a research project to develop advanced software for a wide variety of network devices
and embedded systems. The Java programming language is used as the teaching vehicle for this
course.

The aim of this course is that student should learn platform independent object oriented
programming and java as base language for advanced technology like three tier architecture
applications, cloud computing and web development.

2. COMPETENCY

The aim of this course is to help the students to attain the following industry identified competency
through various teaching-learning experiences:
Develop java application using object-oriented approach.

3. COURSE OUTCOMES (COs)


The practical exercises, the underpinning knowledge and the relevant soft skills associated with
this competency are to be developed in the student to display the following COs:

The practical experiences and relevant soft skills associated with this course are to be taught and
implemented, so that the student demonstrates the following industry-oriented COs associated
with the above-mentioned competency:

GTU - COGC-2021 Curriculum


Page 1 of 13
Advanced Object Oriented Programming Course Code: 4340701

Course Outcomes:
a) Write simple java programs for a given problem statement.
b) Use object oriented programming concepts to solve real world problems.
c) Develop an object-oriented program using inheritance and package concepts for a given
problem statement.
d) Develop an object oriented program using multithreading and exception handling for a
given problem statement.
e) Develop an object-oriented program by using the files and collection framework.

4. TEACHING AND EXAMINATION SCHEME

Teaching Scheme Total Credits Examination Scheme


(In Hours) (CI+T/2+P/2) Theory Marks Practical Marks Total
CI T P C CA ESE CA ESE Marks
3 0 4 5 30 70 25 25 150

Out of 30 marks under the theory CA, 10 marks are for assessment of the micro-project to facilitate
integration of COs and the remaining 20 marks is the average of 2 tests to be taken during the
semester for the assessing the attainment of the cognitive domain UOs required for the
attainment of the COs.
Legends: CI-Class Room Instructions; T – Tutorial/Teacher Guided Theory Practice; P -
Practical; C – Credit, CA - Continuous Assessment; ESE - End Semester Examination.

5. SUGGESTED PRACTICAL EXERCISES


The following practical outcomes (PrOs) that are the sub-components of the COs. Some of the PrOs
marked ‘*’ are compulsory, as they are crucial for that particular CO. These PrOs need to be
attained at least at the ‘Precision Level’ of Dave’s Taxonomy related to ‘Psychomotor Domain’.

Approx.
Sr. Unit
Practical Outcomes (PrOs) Hrs.
No No.
Req
* Install JDK, write a simple “Hello World” or similar java program,
1. compilation, debugging, executing using java compiler and
I 2
interpreter.

Write a program in Java to find maximum of three numbers using


2. conditional operator. I 1

Write a program in Java to reverse the digits of a number using


3. while loop I 1

4. Write a program in Java to add two 3*3 matrices.


I 2

GTU - COGC-2021 Curriculum


Page 2 of 13
Advanced Object Oriented Programming Course Code: 4340701

5. Write a program in Java to generate first n prime numbers.


I 2
Write a program in Java which has a class Student having two
6. instance variables enrollmentNo and name. Create 3 objects of
II 1
Student class in main method and display student’s name.

*Write a program in Java which has a class Rectangle having two


7. instance variables height and weight. Initialize the class using
II 1
constructor.

8. Write a program in Java demonstrate the use of “this” keyword.


II 2
Write a program in Java to demonstrate the use of “static”
9. keyword. II 2

10. Write a program in Java to demonstrate the use of "final" keyword.


II 2
*Write a program in Java which has a class Shape having 2
overloaded methods area(float radius) and area(float length, float
11. width). Display the area of circle and rectangle using overloaded II 2
methods.

Write a program in Java to demonstrate the constructor


12. overloading. II 2

Write a java program to demonstrate use of “String” class methods


13. : chatAt(), contains(), format(), length(), split() II 1

14. Write a program in Java to demonstrate single inheritance


III 1

15. Write a program in Java to demonstrate multilevel inheritance


III 2

16. Write a program in Java to demonstrate hierarchical inheritance.


III 2

17. Write a program in Java to demonstrate method overriding.


III 2
*Write a program in Java which has a class Car having two instance
18. variables topSpeed and name. Override toString() method in Car
III 2
class. Create 5 instances of Car class and print the instances.

Write a program in Java to implement multiple inheritance using


19. interfaces. III 2

*Write a program in Java which has an abstract class Shape having


20. III 4
three subclasses: Triangle, Rectangle, and Circle. Define method

GTU - COGC-2021 Curriculum


Page 3 of 13
Advanced Object Oriented Programming Course Code: 4340701

area() in the abstract class Shape and override area() method to


calculate the area.

21. Write a program in Java to demonstrate use of final class.


III 2

22. Write a program in Java to demonstrate use of package.


III 2
Write a program in Java to develop user defined exception for
23. 'Divide by Zero' error. IV 2

*Write a program in Java to develop Banking Application in which


user deposits the amount Rs 25000 and then start withdrawing of
24. Rs 20000, Rs 4000 and it throws exception "Not Sufficient Fund" IV 2
when user withdraws Rs. 2000 thereafter.

*Write a program that executes two threads. One thread displays


“Thread1” every 1000 milliseconds, and the other displays
25. “Thread2” every 2000 milliseconds. Create the threads by IV 2
extending the Thread class

Write a program that executes two threads. One thread will print
26. the even numbers and another thread will print odd numbers from
IV 2
1 to 200.

*Write a program in Java to perform read and write operations on


27. a Text file. V 2

Write a program in Java to demonstrate use of List.


1) Create ArrayList and add weekdays (in string form)
28. V 2
2) Create LinkedList and add months (in string form)
Display both List.
Write a program in Java to create a new HashSet, add colors(in
29. string form) and iterate through all elements using for-each loop to V 2
display the collection.
*Write a Java program to create a new HashMap, add 5 students’
30. data (enrolment no and name). retrieve and display the student’s V 2
name from HashMap using enrolment no.

Note
i.More Practical Exercises can be designed and offered by the respective course teacher to develop
the industry relevant skills/outcomes to match the COs. The above table is only a suggestive list.
ii.The following are some sample ‘Process’ and ‘Product’ related skills (more may be added/deleted
depending on the course) that occur in the above listed Practical Exercises of this course required
which are embedded in the COs and ultimately the competency..

GTU - COGC-2021 Curriculum


Page 4 of 13
Advanced Object Oriented Programming Course Code: 4340701

To learn Object-Oriented programming concepts and techniques using the Java programming
language. To learn to write, test, and debug introductory level Object-Oriented programs using
Java. In addition, the student will be introduced to the following concepts, which are important
workforce activities:

S. No. Sample Performance Indicators for the PrOs Weightage in %


1 Correctness of the program/application 30

2 Readability and documentation of the 10


program/application

3 Design/Develop/Implement Program/application – Write 20


code, integrate subsystems

4 Debugging ability – Perform unit testing, Test and 20


validate program/application

5 Execution of the program/application and answer to the 20


sample questions.

Total 100

6. MAJOR EQUIPMENT/ INSTRUMENTS AND SOFTWARE REQUIRED


These major equipment/instruments and Software required to develop PrOs are given below with
broad specifications to facilitate procurement of them by the administrators/management of the
institutes. This will ensure conduction of practical in all institutions across the state in proper way
so that the desired skills are developed in students.

S. PrO. No.
Equipment Name with Broad Specifications
No.
1 Computer with latest configuration with Windows/Linux/Unix All
Operating System.

2 JDK (Java Development Kit) Version 8 or above All


3 Any editor - Notepad++, Visual Studio Code, Eclipse IDE, All
NetBeans IDE

7. AFFECTIVE DOMAIN OUTCOMES


The following sample Affective Domain Outcomes (ADOs) are embedded in many of the above-
mentioned COs and PrOs. More could be added to fulfil the development of this competency.
a) Motivation and Attitude towards learning
b) Learning Methodology and Communication styles
c) Use of technology
d) Work as a leader/a team member.
e) Follow ethical practices.

GTU - COGC-2021 Curriculum


Page 5 of 13
Advanced Object Oriented Programming Course Code: 4340701

The ADOs are best developed through the laboratory/field-based exercises. Moreover, the level of
achievement of the ADOs according to Krathwohl’s ‘Affective Domain Taxonomy’ should gradually
increase as planned below:
i. ‘Valuing Level’ in 1st year
ii. ‘Organization Level’ in 2nd year.
iii. ‘Characterization Level’ in 3rd year.

8. UNDERPINNING THEORY
The major Underpinning Theory is formulated as given below and only higher level UOs of Revised
Bloom’s taxonomy are mentioned for development of the COs and competency in the students by
the teachers. (Higher level UOs automatically includes lower level UOs in them). If required, more
such higher level UOs could be included by the course teacher to focus on attainment of COs and
competency.

Unit Unit Outcomes (UOs) Topics and Sub-topics

Unit –1: 1a. Describe java features 1. Introduction to Java and Brief history,
and applications and java features, java Applications
Introductio
environment setup of Java 2. Java components: Java Virtual
n to Java
programming language. Machine (JVM), Java Runtime Environment
Programmi
1b. Install Java (JRE), JDK (Java Development Kit).
ng
Components Importance of byte code and Garbage
Language
1c. Write simple program
Collection
using java programming
language 3. Java environment setup; Structure of
1d. Describe data types, java program; Compilation and execution of
identifiers, constants and java program, , Comment Syntax
variables 4. Primitive Data Types : byte, short, int,
1e. Write programs using long, float, double, char, Boolean
arrays 5. Identifiers, Declarations of constants
1f. List types of operators
& variables, Type Conversion and Type
1g. Write simple java
programs using decision Casting, Scope of variables
and control structures. 6. Arrays of Primitive Data Types, Types
of Arrays : one-dimensional and two-
dimensional array
7. Different Operators: Arithmetic,
Bitwise, Rational, Logical, Assignment,
Conditional, Ternary, Increment and
Decrement
8. Decision & Control Statements:
Selection Statement (if, if...else, switch),
Loops (while, do-while, for), Jump

GTU - COGC-2021 Curriculum


Page 6 of 13
Advanced Object Oriented Programming Course Code: 4340701

Statements : break, continue, return

Unit– 2: 2a.Differentiate between 1. Procedure-Oriented vs. Object-


POP and OOP Oriented Programming concept
Object Oriented
2b. List object oriented 2. Basics of OOP: Class, Object,
Programming
programming concepts Encapsulation, Polymorphism Abstraction,
Concepts
2c. Develop simple java Inheritance
program using class. 3. Defining classes, fields and methods,
2d. Use this and final
creating objects
keyword
2e. Write object oriented 4. Accessing rules : public, private,
program using constructor protected, default
2f. Write java program 5. this keyword, static keyword, final
using String class keyword
6. Constructors: Default constructors,
Parameterized constructors, Copy
constructors, Passing object as a parameter
7. method overloading, constructor
overloading
8. Wrapper Classes, String Class and its
methods: chatAt(), contains(), format(),
length(), split()
9. User Input: Scanner class and
Command Line Arguments

3a. List types of inheritance


Unit– 3: 1. Basics of Inheritance, Types of
3b. Write program to inheritance: single, multiple, multilevel,
Inheritance, implement single, multilevel, hierarchical and hybrid inheritance,
Packages &
hierarchical inheritance 2. method overriding, Object class and
Interfaces
overriding its methods : equals(), toString(),
3c. Write programs to
finalize(), hashCode()
implement method
3. Defining interface, implementing
overriding
interface, multiple inheritance using
3d. Write programs to interface
implement overriding using 4. Abstract class and final class
Object class 5. Creating package, importing
package, access rules for packages
3e. Write programs to
implement multiple
inheritance

GTU - COGC-2021 Curriculum


Page 7 of 13
Advanced Object Oriented Programming Course Code: 4340701

3f. Create a user-defined


package and use that
package

4a. Describe errors and types


Unit–4: of exceptions 1. Types of errors, exceptions,
try...catch statement, multiple catch blocks,
Exception
4b. List types of errors throw and throws keywords, finally clause,
Handling &
Multithreading uses of exceptions, user defined exceptions
4c. Write user-defined
2. Concept of Multithreading, Creating
exceptions
thread, extending Thread class,
4d. Define thread, creating implementing Runnable interface, life cycle
threads, multithreading, of a thread, Thread priority, Thread
thread priority & exception handing in threads
synchronization

5a. Describe basics of


Unit–5: streams, stream classes, 1. Stream classes, class hierarchy, useful
creation, reading and writing I/O classes : FileInputStream,
File Handling
files in context to file FileOutputStream
and Collections
handling 2. Creation of text file, reading and writing
Framework
text files
5b. Describe Collections 3. Collections Framework overview,
framework Collection classes- ArrayList, LinkedList,
HashSet. The For-Each loop
5c. Write programs using
ArrayList and LinkedList 4. Map class : HashMap

5d. Write programs to Map


classes

Note: The UOs need to be formulated at the ‘Application Level’ and above of Revised Bloom’s Taxonomy’
to accelerate the attainment of the COs and the competency.

9. SUGGESTED SPECIFICATION TABLE FOR QUESTION PAPER DESIGN

Unit Unit Title Teaching Distribution of Theory Marks


No. Hours R U A Total
Level Level Level Marks
I Introduction to Java Programming 08 4 4 6 14
Language
II Object Oriented Programming 11 3 6 9 18

GTU - COGC-2021 Curriculum


Page 8 of 13
Advanced Object Oriented Programming Course Code: 4340701

Concepts
III Inheritance, Packages and Interfaces 11 3 6 9 18

IV Exception Handling and 06 2 3 5 10


Multithreading
V File Handling and Collections 06 2 3 5 10
Framework

Total 42 14 22 34 70
Legends: R=Remember, U=Understand, A=Apply and above (Revised Bloom’s taxonomy)

Note: This specification table provides general guidelines to assist student for their learning and
to teachers to teach and question paper designers/setters to formulate test items/questions
assess the attainment of the UOs. The actual distribution of marks at different taxonomy levels (of
R, U and A) in the question paper may vary from above table.

10. SUGGESTED STUDENT ACTIVITIES


Other than the classroom and laboratory learning, following are the suggested student-related co-
curricular activities which can be undertaken to accelerate the attainment of the various outcomes
in this course: Students should conduct following activities in group and prepare small reports (of
1 to 5 pages for each activity). For micro project report should be as per suggested format, for
other activities students and teachers together can decide the format of the report. Students
should also collect/record physical evidences such as photographs/videos of the activities for their
(student’s) portfolio which will be useful for their placement interviews:
a) Undertake micro-projects in teams.
b) List different versions of java and their new features
c) Prepare charts to explain use/process of the identified topic.
d) https://java-iitd.vlabs.ac.in/ this website provides virtual lab and gives simulation of java
programs.
e) Students are encouraged to register themselves in various MOOCs such as: Swayam, edX,
Coursera, Udemy etc. to further enhance their learning.
f) https://www.codechef.com this website gives competitive programming problems, students
are expected to solve examples and crosscheck with output.
g) Encourage students to form a coding club at institute level and can help the slow learners

11. SUGGESTED SPECIAL INSTRUCTIONAL STRATEGIES


These are sample strategies, which the teacher can use to accelerate the attainment of the various
outcomes in this course:
a) Massive open online courses (MOOCs) may be used to teach various topics/sub topics.
b) Guide student(s) in undertaking micro-projects.
c) Managing Learning Environment
d) Diagnosing Essential Missed Learning concepts that will help for students.
e) Guide Students to do Personalized learning so that students can understand the course material at
his or her pace.
f) Encourage students to do Group learning by sharing so that teaching can easily be enhanced.

GTU - COGC-2021 Curriculum


Page 9 of 13
Advanced Object Oriented Programming Course Code: 4340701

g) ‘CI” in section No. 4 means different types of teaching methods that are to be employed
by teachers to develop the outcomes.
h) About 20% of the topics/sub-topics which are relatively simpler or descriptive in nature is
to be given to the students for self-learning, but to be assessed using different assessment
methods.
i) With respect to section No.10, teachers need to ensure to create opportunities and
provisions for co-curricular activities.
j) Guide students on how to address issues on environment and sustainability using the
knowledge of this course

12. SUGGESTED MICRO-PROJECTS


Only one micro-project is planned to be undertaken by a student that needs to be assigned to
him/her in the beginning of the semester. In the first four semesters, the micro-project are group-
based (group of 3 to 5). However, in the fifth and sixth semesters, the number of students in the
group should not exceed three.
The micro-project could be industry application based, internet-based, workshop-based,
laboratory-based or field-based. Each micro-project should encompass two or more COs which are
in fact, an integration of PrOs, UOs and ADOs. Each student will have to maintain dated work diary
consisting of individual contribution in the project work and give a seminar presentation of it
before submission. The total work load on each student due to the micro-project should be about
16 (sixteen) student engagement hours (i.e., about one hour per week) during the course. The
students ought to submit micro-project by the end of the semester (so that they develop the
industry-oriented COs).
A suggestive list of micro-projects is given here. This should relate highly with competency
of the course and the COs. Similar micro-projects could be added by the concerned course teacher:
1. Student Record Keeping System
2. Inventory Management System
3. Airline reservation system
4. Electricity billing system
5. Healthcare management system
6. Library management system
7. Bank management system
8. Medical management system
9. Quiz management system
10. Survey System
11. Stock management system
12. Tic Tac Toe Game
13. Chess Game
14. Battleship Console Game

13. SUGGESTED LEARNING RESOURCES

Sr. Author Publication with place, year and


Title of Book
No. ISBN

GTU - COGC-2021 Curriculum


Page 10 of 13
Advanced Object Oriented Programming Course Code: 4340701

1 Java: The Complete Herbert Schildt Tata McGraw Hill


Reference, Twelfth
Edition

2 Programming with Java E Balagurusamy Tata McGraw Hill


| 6th Edition

3 Sachin Malhotra & Programming in Oxford


Saurabh Choudhary JAVA, Second
Edition

4 Head First Java: A Kathy Sierra, Bert Shroff/O'Reilly


Brain-Friendly Guide, Bates, Trisha Gee
Third Edition

14. SUGGESTED LEARNING WEBSITES


a) https://docs.oracle.com/javase/tutorial/ (Documentation)
b) https://www.w3schools.com/java/default.asp (Blog)
c) https://www.javatpoint.com/java-tutorial (Blog)
d) https://www.geeksforgeeks.org/java/ (Blog)
e) https://cse.iitkgp.ac.in/~dsamanta/java/ch3.htm#Introduction (Blog)
f) https://www.youtube.com/playlist?list=PLbRMhDVUMngcx5xHChJ-f7ofxZI4JzuQR (Video
Series)
g) https://onlinecourses.nptel.ac.in/noc23_cs46/preview (Certification)
h) https://in.coursera.org/specializations/java-programming (Certification)
i) https://www.edx.org/course/software-development-fundamentals (Certification)
j) https://www.w3schools.com/java/tryjava.asp?filename=demo_compiler (Online Editor)

15. PO-COMPETENCY-CO MAPPING

Semester II Basics of Operating System (Course Code:)


POs and PSOs
PO 1 PO PO 3 PO 4 PO 5 PO 6 PO 7 PSO 1 PSO 2 PSO
Basic & 2 Desig Engineerin Engineering Projec Life- 3
Disciplin Pro n/ g Tools, practices for t long (If
Competency e ble devel Experimen society, Mana learni need
& Course Outcomes specific m opme tation sustainability geme ng ed)
knowled Ana nt of &Testing & nt
ge lysis soluti environment
ons
Competency
Develop java application using
object-oriented approach.
Course Outcomes
CO a) Write simple java
2 - - - - - 2
programs for a given problem
statement.

GTU - COGC-2021 Curriculum


Page 11 of 13
Advanced Object Oriented Programming Course Code: 4340701

CO b) Use object oriented


programming concepts to solve 2 3 3 2 - 2 2
real world problems.
CO c) Develop an object-
oriented program using
inheritance and package 2 3 3 2 - 2 2
concepts for a given problem
statement.
CO d) Develop an object
oriented program using
multithreading and exception 2 3 3 2 - 2 2
handling for a given problem
statement.
CO e) Develop an object-
oriented program by using the 3 3 3 2 - 2 2
files and collection framework.
Legend: ‘3’ for high, ‘2’ for medium, ‘1’ for low or ‘-’ for the relevant correlation of each competency, CO, with PO/ PSO

GTU - COGC-2021 Curriculum


Page 12 of 13
Advanced Object Oriented Programming Course Code: 4340701

16. COURSE CURRICULUM DEVELOPMENT COMMITTEE

GTU Resource Persons

S. Name and Institute Contact No. Email


No. Designation
Shri P. P. Kotak
1 S&S Gandhi , Surat 9825469617 [email protected]
Principal
Government
Smt. M. P. Mehta
2 Polytechnic, 9879578273 [email protected]
HOD
Himmatnagar
Smt. M. V. Government Polytechnic
3 9428049861 [email protected]
Prajapati Gandhinagar
Shri V. N. Government Polytechnic
4 8780744772 [email protected]
Chauhan Gandhinagar

GTU - COGC-2021 Curriculum


Page 13 of 13

You might also like