IIS2121-CourseHandout-2024
IIS2121-CourseHandout-2024
IIS2121-CourseHandout-2024
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 and exception handling etc. The course will be taught by slides,
live demo and practice sessions in the class. After the conceptual part, the classroom demonstration of
application building will be there which will include multithreading, AWT programming, JDBC connectivity,
collection framework and server side programming.
A. Course Outcomes: At the end of the course, students will be able to:
[IIS2121.1] Identify the OOP concepts, working of JVM, JDK, JRE, Unicode System, variables and data
types in Java.
[IIS2121.2] Apply the concepts of classes, constructors and objects using Java programming constructs.
[IIS2121.3] Write interactive programs using the concepts of Polymorphism, input/output basics, arrays
and strings.
[IIS2121.4] Implement the concepts of inheritance and abstraction forms using Java code constructs like
Classes, Interfaces and Packages and exception handling.
[IIS2121.5] Create the solutions of real-life problems using the concepts of multithreading, AWT and
collection framework.
B. PROGRAM OUTCOMES AND PROGRAM SPECIFIC OUTCOMES
PO1. Engineering knowledge: Apply the knowledge of mathematics, computer science, and
communication engineering fundamentals to the solution of complex engineering problems.
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.
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.
PO10. Communication: Communicate effectively for all engineering processes & activities
with the peer engineering team, community and with society at large. Clarity of thoughts,
being able to comprehend and formulate effective reports and design documentation, make
effective presentations, and give and receive clear instructions.
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.
[PSO.3] Apply the contextual knowledge in the field of Computing and Communication to
assess social, health, safety, and security issues relevant to the professional engineering
practice.
C. Assessment Plan:
D. SYLLABUS
Introduction: history and evolution of OOP, Introduction to OOPS and classes: class and object
fundamentals, introduction to methods/functions, introduction to JDK, JRF and JVM, variables and
data types, Unicode system, naming conventions, object initialization constructors and garbage
collection, this keyword, overloading, objects as parameters, argument passing, returning objects,
recursion, access control, classes within classes, string class; I/O basics: reading console input,
writing console output, files; Inheritance: basics, multilevel hierarchy, overriding, abstract classes;
Packages and Interfaces; exception handling; Multithreaded programming; String handling; Event
handling; GUI and Introduction to AWT: classes, component, container, panel, window, frame,
canvas, working with frame; The collection framework: array list and vector, sets, map; Database
programming using JDBC; Java Server Technologies: servlet.
E. REFERENCE BOOKS
1. H. Schildt, Java: The Complete Reference, (10e), McGraw Hill, 2017.
2. C. Horstmann, Core Java Volume-1 Fundamentals, (11e), Prentice Hall of India, 2020.
3. 3. S. Holzner, Java 8 programming Black Book, (1e), Dream Tech, 2015.
4. 4. P. Deitel, H. Deitel, Java How to Program, (11e), Pearson Education, 2018.
5. 5. E. Balagurusamy, Programming with Java: A Primer, (5e), McGraw Hill, 2017
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
9-12 final keywords in Java, Type Conversion and Promotion Term
Inheritance in Java: Extending classes, abstract classes, final Examine and describe the concept of Inheritance of OOP Lecture CO 3 & Quiz & End
22-25 classes, Method Overriding, Runtime Polymorphism, Inner Paradigm CO 4 Term
Classes – static and non-static nested Classes, Local Classes
Inheritance via Interfaces: class vs interface, defining Experiment the access control using classes and interfaces Lecture CO 4 Quiz & End
26-28 Term
interfaces, implementing multiple inheritance
Experiment the access control using package and interfaces. Lecture CO 4 Class activity,
31-32 Package in Java: Defining Packages, importing packages Quiz & End
Term
Multithreading: Thread class, Runnable interface, thread life Implement and describe the concept of multithreading Lecture CO 5 Class activity,
33-34 Quiz & End
cycle, synchronization, thread priority.
Term
Package: AWT - classes, component, container, panel, Implementation of GUI application and event handling Lecture CO5 Class activity,
35-36 concepts Quiz & End
window, frame, canvas, working with frame
Term
Usage of collection framework components and to use in Lecture CO5 Class activity,
37-40 Collection framework: array list and vector, sets, map. an application building Quiz & End
Term
Able to connect the database with the Java application Lecture CO5 Class activity,
41-42 Database programming using JDBC Quiz & End
Term
Learn to use server side programming in Java Lecture CO5 Class activity,
43-44 Java Server Technologies: Servlet. Quiz & End
Term
G. Course Articulation Matrix: (Mapping of COs with POs & PSOs)