Syllabus Object Oriented Programming using JAVA - (MC01094041) Total Credits L+T+(PR/2) Assessment Pattern and Marks Total Marks C Theory Tutorial / Practical ESE (E) PA / CA (M) PA / CA (I) ESE (V) 4 70 30 20 30 150 Unit No. Content 1. Introduction to Java Java Fundamentals : The Origins of Java, Java’s Lineage : C and C++, How Java Impacted the Internet, Java’s Magic : The Bytecode, Moving Beyond Applets, The Java Buzzwords, Object - Oriented Programming (Encapsulation, Polymorphism, Inheritance),Obtaining the Java Development Kit, A First Simple Program, Handling Syntax Errors A Second Simple Program, Another Data Type, Two Control Statements (The if Statement and The for Loop), Create Blocks of Code, Semicolons and Positioning, Indentation Practices, The Java Keywords, Identifiers in Java, The Java Class Libraries Try This 1-1: Converting Gallons to Liters, Try This 1-2: Improving the Gallons-to-Liters Converter Introducing Data Types and Operators : Why Data Types Are Important, Java’s Primitive Types(Integers, Floating-Point Types, Characters), The Boolean Type, Literals (Hexadecimal, Octal, and Binary Literals, Character Escape Sequences, String Literals), A Closer Look at Variables( Initializing a Variable, Dynamic Initialization), The Scope and Lifetime of Variables, Operators, Arithmetic Operators (Increment and Decrement), Relational and Logical Operators, Short Circuit Logical Operators, The Assignment Operator, Shorthand Assignments, Type Conversion in Assignments, Casting Incompatible Types, Operator Precedence, Expressions (Type Conversion in Expressions, Spacing and Parentheses) Try This 2-1: How Far Away Is the Lightning? Try This 2-2: Display a Truth Table for the Logical Operators Program Control Statements : Input Characters from the Keyboard, The if Statement, Nested ifs, The if-else-if Ladder, The switch Statement, Nested switch Statements, The for Loop, Some Variations on the for Loop, Missing Pieces (The Infinite Loop), Loops with No Body, Declaring Loop Control Variables Inside the for Loop, The Enhanced for Loop, The while Loop, The do-while Loop, Use break to Exit a Loop, Use break as a Form of goto, Use continue, Nested Loops, Try This 3-1: Start Building a Java Help System, Try This 3-2: Improve the Java Help System, Try This 3-3: Finish the Java Help System, (Chapter - 1) 2. Class Fundamentals Introducing Classes, Objects, and Methods : Class Fundamentals (The General Form of a Class, Defining a Class), How Objects Are Created, Reference Variables and Assignment, Methods (Adding a Method to the Vehicle Class), Returning from a Method, Returning a Value, Using Parameters (Adding a Parameterized Method to Vehicle), Constructors, Parameterized Constructors, Adding a Constructor to the Vehicle Class, The new Operator Revisited, Garbage Collection, The this Keyword, Try This 4-1: Creating a Help Class A Closer Look at Methods and Classes : Controlling Access to Class Members (Java’s Access Modifiers), Pass Objects toMethods (How Arguments Are Passed), Returning Objects, Method Overloading, Overloading Constructors, Recursion, Understanding static (Static Blocks), Introducing Nested and Inner Classes, Varargs : Variable-Length Arguments (Varargs Basics, Overloading Varargs Methods, Varargs and Ambiguity) Try This 6-1 : Improving the Queue Class, Try This 6-2 : Overloading the Queue Constructor, Try This 6-3 : The Quicksort (Chapter - 2) 3. Inheritance Basics Inheritance : Inheritance Basics, Member Access and Inheritance, Constructors and Inheritance, Using super to Call Superclass Constructors, Using super to Access Superclass Members, Creating a Multilevel Hierarchy, When Are Constructors Executed?, Superclass References and Subclass Objects, Method Overriding, Overridden Methods Support Polymorphism,Why Overridden Methods? (Applying Method Overriding to TwoDShape), Using Abstract Classes, Using final, (final Prevents Overriding, final Prevents Inheritance, Using final with Data Members), The Object Class Try This 7-1 : Extending the Vehicle Class Packages : Packages (Defining a Package, Finding Packages and CLASSPATH, A Short Package Example), Packages and Member Access (A Package Access Example), Understanding Protected Members, Importing Packages, Java’s Class Library Is Contained in Packages Interfaces : Interfaces, Implementing Interfaces, Using Interface References, Variables in Interfaces, Interfaces Can Be Extended, Default Interface Methods (Default Method Fundamentals, A More Practical Example of a Default Method, Multiple Inheritance Issues), Use static Methods in an Interface, Private Interface Methods, Final Thoughts on Packages and Interfaces, Try This 8-1 : Creating a Queue Interface Exception Handling : The Exception Hierarchy, Exception Handling Fundamentals (Using try and catch, A Simple Exception Example), The Consequences of an Uncaught Exception (Exceptions Enable You to Handle Errors Gracefully), Using Multiple catch Statements, Catching Subclass Exceptions, Try Blocks Can Be Nested, Throwing an Exception (Rethrowing an Exception), A Closer Look at Throwable, Using finally, Using throws, Three Additional Exception Features, Java’s Built-in Exceptions, Creating Exception Subclasses Try This 9-1 : Adding Exceptions to the Queue Class (Chapter - 3) 4. Autoboxing, java.lang package Autoboxing, Type Wrappers, Autoboxing Fundamentals, Autoboxing and Methods, Autoboxing/Unboxing Occurs in Expressions Java.lang package (String, String Buffer, Comparable interface) The collection Framework : Introduction, Collection framework ( Collection interface, list interface, set interface, sorted set interface), The collection class, Array list and Link list classes ( maintaining the capacity and the link list class ), iterating elements of collection ( the list iterator interface), hash set and tree set classes. (Chapter - 4) 5. Multi-Threading, Generic, I/O Multithreaded Programming Multithreading Fundamentals, The Thread Class and Runnable Interface, Creating a Thread, (One Improvement and Two Simple Variations), Creating Multiple Threads, Determining When a Thread Ends, Thread Priorities, Synchronization, Using Synchronized Methods, The synchronized Statement Try This 11-1 : Extending Thread, Try This 11-2 : Using the Main Thread, Generic : Generics Fundamentals, A Simple Generics Example, A Generic Class with Two Type Parameters, The General Form of a Generic Class), Using I/O : Java’s I/O Is Built upon Streams, Byte Streams and Character Streams, The Byte Stream Classes, The Character Stream Classes, The Predefined Streams, Using the Byte Streams (Reading Console Input, Writing Console Output), Reading and Writing Files Using Byte Streams (Inputting from a File, Writing to a File), Automatically Closing a File, Reading and Writing Binary Data. (Chapter - 5)