IS2104 CourseHandout
IS2104 CourseHandout
Introduction: This course is offered by the Department of IoT and Intelligent Systems. As object-
oriented techniques have revolutionized the software development process and are used tremendously in
the IT industry to develop software products of various kinds. The course is designed to give students an
in-depth understanding of the basic concepts of object-oriented programming such as encapsulation,
inheritance, and polymorphism using Java programming language as an aid in tool. The course curriculum
and structure has been divided into various modules which cover the programming aspects related to an
object-oriented domain such as polymorphisms, inheritance, exception handling, multithreading etc. The
course will be taught with the help of several teaching aides such as through PowerPoint presentations and
via live debugging and execution demonstrations of several programming problems using the Eclipse tool.
The main objective of the course is to teach students about the basics of classes and objects using Java
programming language, to enable the students to properly use the basic object-oriented pillars such as
encapsulation, inheritance, and polymorphism. It will enable the students to understand the basics of OOP
concepts with the help of Java programming language and its various collection frameworks.
A. Course Outcomes: At the end of the course, students will be able to:
[IS 2104.1] Identify the OOP concepts, working of JVM, JDK, JRE, Unicode System, variables and data
types in Java.
[IS 2104.2] Apply the concepts of classes, constructors and objects using Java programming constructs.
[IS 2104.3] Write interactive programs using the concepts of Polymorphism, input/output basics, arrays
and strings.
[IS 2104.4] Implement the concepts of inheritance and abstraction forms using Java code constructs like
Classes, Interfaces and Packages.
[IS 2104.5] Create the solutions of the problems in real-life programming domains using the concepts of
exception handling and multithreading.
B. PROGRAM OUTCOMES AND PROGRAM SPECIFIC OUTCOMES
PO2. Problem analysis: The sophisticated curriculum would enable a graduate to identify,
formulate, review research literature, and analyse complex engineering problems reaching
substantiated conclusions using basic principles of mathematics, computing techniques and
communication engineering principles.
PO3. Design/development of solutions: Upon analysing, the B Tech CCE graduate should
be able to devise solutions for complex engineering problems and design system
components or processes that meet the specified requirements with appropriate
consideration for law, safety, cultural & societal obligations with environmental
considerations.
PO4. Conduct investigations of complex problems: To imbibe the inquisitive practices to
have thrust for innovation and excellence that leads to use research-based knowledge and
research methods including design of experiments, analysis and interpretation of data, and
synthesis of the information to provide valid conclusions.
PO5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modelling to complex
engineering activities with an understanding of the limitations.
PO6. The engineer and society: The engineers are called society builders and
transformers. B. Tech CCE graduate should be able to apply reasoning informed by the
contextual knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to the professional engineering practice.
PO7. Environment and sustainability: The zero effect and zero defect is not just a slogan,
it is to be practised in each action. Thus a B Tech CCE should understand the impact of the
professional engineering solutions in societal and environmental contexts, and demonstrate
the knowledge of, and need for sustainable development.
PO8. Ethics: Protection of IPR, staying away from plagiarism are important. Student
should be able to apply ethical principles and commit to professional ethics, responsibilities
and norms of the engineering practice.
PO9. Individual and teamwork: United we grow, divided we fall is a culture at MUJ.
Thus an outgoing student should be able to function effectively as an individual, and as a
member or leader in diverse teams, and in multidisciplinary settings.
PO12. Life-long learning: Recognize the need for, and have the preparation and ability to
engage in independent and life-long learning in the broadest context of technological
change.
PSO2: Innovative Solution: Analyze and configure various IoT based innovative and
smart applications using recent hardware and software tools.
PSO3: Efficient professional practice: Design industrial IoT based solutions for
improving operational efficiency at home and industry automation systems.
C. Assessment Plan:
Table C1
D. SYLLABUS
Object-Oriented Programming Paradigm Introduction: Objects, Classes, Encapsulation, Polymorphism,
Inheritance; Java Basics: Compilation and Execution of a Java program, Java Compiler and Interpreter,
Data Types in Java; Class Definition and Object Creation: Instance-Fields/Attributes, Methods, Access
Modifiers, Constructors, Object vs Class Variables; Role of static and final keywords in Java, Type
Conversion and Promotion; Polymorphic Forms: Method Overloading, Objects as Parameters and return
types; Input-Output : Reading Input and Output in Java; Object Class in Java : String form of an Object via
toString() method, Object equality method; Arrays and Strings in Java: 1-D Arrays, 2-D and Multi-
dimensional arrays, Variable Size array, Strings in Java via String, StringBuilder and StringTokenizer
classes; Inheritance in Java: Extending classes, abstract classes, final classes, Method Overriding, Runtime
Polymorphism, Inner Classes – static and non-static nested Classes, Local Classes; Inheritance via
Interfaces: class vs interface, defining interfaces, implementing multiple inheritance; Exception Handling:
Exceptions, Defining and Creating Exceptions, Use of Exceptions in Real Life Problems; Package in Java:
Defining Packages, importing packages; Garbage Collector: Role, definition, explicit call; Multithreading:
Thread class, Runnable interface, thread life cycle, synchronization, thread priority.
E. REFERENCE BOOKS
1. Java: The Complete Reference (9th Edition), By Herbert Schildt, McGraw Hill Education.
2. Balagurusamy E, Object Oriented Programming with Java, Tata McGraw Hill, 2011.
3. Arnold K, & Gosling J, The Java Programming Language, 2002.
4. Horstmann CS, “Big Java”, Wiley’s Interactive Edition, 2015.
F. Lecture Plan:
Identify and implement the concepts of constructors, class Lecture CO 2 Mid Term,
Constructors, Object vs Class Variables; Role of static and and objects. Quiz & End
11-17 final keywords in Java, Type Conversion and Promotion Term
Experiment the access control using package and interfaces. Lecture CO 4 Mid Term,
42-43 Package in Java: Defining Packages, importing packages Quiz & End
Term