0% found this document useful (0 votes)
5 views4 pages

Ooad Using C++ & Java Syllabus

The document outlines the syllabus for the B.Sc. Honours in Computer Science, specifically focusing on the course 'OOAD Using C++ & Java' for Semester III. It includes course objectives, a detailed syllabus covering theoretical and practical components, and a list of recommended textbooks and reference materials. The course aims to teach programming concepts, object-oriented analysis and design, and application development using C++ and Java.

Uploaded by

bitankayal10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views4 pages

Ooad Using C++ & Java Syllabus

The document outlines the syllabus for the B.Sc. Honours in Computer Science, specifically focusing on the course 'OOAD Using C++ & Java' for Semester III. It includes course objectives, a detailed syllabus covering theoretical and practical components, and a list of recommended textbooks and reference materials. The course aims to teach programming concepts, object-oriented analysis and design, and application development using C++ and Java.

Uploaded by

bitankayal10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Syllabus for B.Sc.

Honours in Computer Science

Reference Books
1. C.L. Liu, D.P. Mahopatra, Elements of Discrete mathematics, 2nd Edition, Tata McGraw
Hill, 1985,
2. Kenneth Rosen, Discrete Mathematics and Its Applications, 6th Edition, McGraw Hill 2006
3. T.H. Coremen, C.E. Leiserson, R. L. Rivest, Introduction to algorithms, 3rd edition Prentice
Hall on India, 2009
4. M. O. Albertson and J. P. Hutchinson, Discrete Mathematics with Algorithms, John wiley
Publication, 1988
5. J. L. Hein, Discrete Structures, Logic, and Computability, 3 rd Edition, Jones and Bartlett
Publishers, 2009
6. D.J. Hunter, Essentials of Discrete Mathematics, Jones and Bartlett Publishers, 2008

SEMESTER- III

Name of the course: OOAD USING C++ & JAVA

Course code: UGCMSMAC05

Total Class Hours: 120 Credit: 4+2 (Theory & Lab)

Course Objectives:

1. Learn the basic concepts of programming using C++ and JAVA.

2. To learn the fundamental concepts of Object-Oriented Analysis and Design (OOAD)

3. Learn to develop OOAD based applications using C++ and JAVA.

SYLLABUS

A Theory (60 Hours) 4 Credits

1. Introduction to C++ and JAVA (5L)

C++ and Java architecture and features, understanding the semantic and syntax differences
between C++ and Java, compiling and executing a C++ and a Java program, variables,
constants, keywords data types, operators (arithmetic, logical and bitwise) and expressions,
doing basic program output, decision making constructs (conditional statements and loops)
and nesting, C++ and Java methods (defining, scope, passing and returning arguments, type
conversion and type and checking

Page 15 | 64
Syllabus for B.Sc. Honours in Computer Science

2. Arrays, Strings and I/O (8L)

Creating & using arrays (one dimension and multi-dimensional), referencing arrays
dynamically, strings: the string class, creating & using string objects, manipulating strings,
string immutability & equality, passing strings to & from methods, string buffer classes.
simple I/O using system.out and the scanner class, byte and character streams,
reading/writing from console and files.

3. The Object-Oriented Design Process (8L)

Identifying classes and methods, relationships between classes, uml class, sequence, and
state diagrams.

4. Class and Interface Design Paradigm (12L)

Designing a custom class, polymorphism, designing and implementing the interface of a


class, the importance of encapsulation, defining & using classes, controlling access to class
members, class constructors, method overloading, class variables & methods, objects as
parameters, final classes, object class, garbage collection, analysing the quality of an
interface.

5. Inheritance and Abstract Classes (12L)

The concept of inheritance (all types of inheritance, method overriding, dynamic method
dispatch) abstract classes, extending interfaces, protected interfaces, packages, the template
method pattern, wrapper classes, autoboxing /unboxing, enumerations, iterators.

6. Exception Handling and Multithreading (15L)

Exception types, uncaught exceptions, throw, built-in exceptions, creating your own
exceptions; thread basics, the thread class and runnable interface, creating single and
multiple threads, thread prioritization, synchronization and communication,
suspending/resuming threads.

B Practical 2 Credits

Implement these programs using both C++ and Java


1. To find the sum of any number of integers entered as command line arguments
2. To find the factorial of a given number
3. To learn use of single dimensional array by defining the array dynamically.
Page 16 | 64
Syllabus for B.Sc. Honours in Computer Science

4. To learn use of length in case of a two dimensional array


5. To convert a decimal to binary number
6. To check if a number is prime or not, by taking the number as input from the keyboard
7. To find the sum of any number of integers interactively, i.e., entering every number from
the keyboard, whereas the total number of integers is given as a command line argument
8. Write a program that show working of different functions of String and StringBuffer clas-
ses like setCharAt(), setLength(), append(), insert(), concat() and equals().
9. Write a program to create a ―distance class with methods where distance is computed in
terms of feet and inches, how to create objects of a class and to see the use of this pointer
10. Modify the ―distance class by creating constructor for assigning values (feet and inches)
to the distance object. Create another object and assign second object as reference variable
to another object reference variable. Further create a third object which is a clone of the
first object.
11. Write a program to show that during function overloading, if no matching argument is
found, then java will apply automatic type conversions (from lower to higher data type)
12. Write a program to show the difference between public and private access specifiers. The
program should also show that primitive data types are passed by value and objects are
passed by reference and to learn use of final keyword
13. Write a program to show the use of static functions and to pass variable length arguments in
a function.
14. Write a program to demonstrate the concept of boxing and unboxing.
15. Create a multi-file program where in one file a string message is taken as input from the us-
er and the function to display the message on the screen is given in another file (make use
of Scanner package in this program).
16. Write a program to create a multilevel package and also creates a reusable class to generate
Fibonacci series, where the function to generate fibonacii series is given in a different file
belonging to the same package.
17. Write a program that creates illustrates different levels of protection in classes/subclasses
belonging to same package or different packages
18. Write a program ―DivideByZero that takes two numbers a and b as input, computes a/b,
and invokes Arithmetic Exception to generate a message when the denominator is zero.
19. Write a program to show the use of nested try statements that emphasizes the sequence of
checking for catch handler statements.
20. Write a program to create your own exception types to handle situation specific to your ap-
Page 17 | 64
Syllabus for B.Sc. Honours in Computer Science

plication (Hint: Define a subclass of Exception which itself is a subclass of Throwable).


21. Write a program to demonstrate priorities among multiple threads.
22. Write a program to demonstrate multithread communication by implementing synchroniza-
tion among threads (Hint: you can implement a simple producer and consumer problem).

CO Cognitive PO PSO
Course Outcomes Addressed Addressed
No. Level
Discuss, memorize and understand the different R(1), PO2 PSO1
CO1 concept of C++ and Java programming constructs U(2)
and classes for code reuse.
Identify real life problems and convert it to Ap(3) PO6 PSO5
CO2 computational problems. PSO6
Analyse the concepts of object oriented programming Ap(3), PO3 PSO2
CO3 such as loops, functions, class, inheritance, packages, An(4) PSO3
multi-threading and abstract class to develop
programs for problem solving.
Understand and analyse the object oriented design U(2), PO3 PSO3
CO4 techniques for real life application development. An(4)
Evaluate, design, compile, run and debug programs E(5), PO4 PSO4
CO5 for real life software product development. C(6) PO5

Recommended Books:

Text Books:
1. E. Balagurusamy, Object-Oriented Programming with C++
2. Object-Oriented Programming in C++, Fourth Edition by Robert Lafore
3. Paul Deitel, Harvey Deitel, "Java: How to Program", 10th Edition, Prentice Hall, 2011.
4. Java: The Complete Reference" by Herbert Schildt
5. Cay Horstmann, Object-Oriented Design and Patterns, Wiley India edition, New Delhi, In-
dia

Reference Books:
1. The C++ Programming Language by Bjarne Stroustrup
2. Bjarne Stroustrup, Programming -- Principles and Practice using C++", 2nd Edition, Addi-
son-Wesley 2014.
3. Stanley B. Lippman, JoseeLajoie, Barbara E. Moo, "C++ Primer", Published by Addison-
Wesley, 5th Edition, 2012
4. Java Concurrency in Practice" by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer,
David Holmes, and Doug Lea
5. Grady Booch, Michael W. Engel, Kelli A. Houston, Robert A. Maksimchuk, Bobbi J.
Young, Jim Conallen, “Object-Oriented Analysis and Design with Applications”, 3rd Edi-
tion, Pearson Education, 2009

SEMESTER- III

Page 18 | 64

You might also like