CSE310 Syllabus

CSE310: PROGRAMMING IN JAVA

L:3 T:0 P:2 Credits:4

Course Outcomes:

  • CO1 :: explain basic constructs of Java programming and apply them to solve the real-world problems
  • CO2 :: illustrate the Object-oriented programming principles to write efficient and reusable codes.
  • CO3 :: demonstrate the concept of inheritance to reuse and extend the features of existing class with access control
  • CO4 :: create the uses of abstract classes, interfaces and Lambda expressions
  • CO5 :: manage errors and perform I/O operations using exception handling and file streams.
  • CO6 :: utilize collections, generics, and JDBC for advanced Java applications.

Unit I

  • Introduction to Java : History and Features of Java, Java program structure, Writing simple Java class and main() method, Command-line arguments, Understanding JDK, JRE and JVM
  • Data In the Cart : Using primitive data types, Type conversion, Keywords, Identifiers, Variables, Access modifiers, static keyword, Wrapper class
  • Operators : Working with Bit-wise, arithmetic, logical, and relational operators, Unary, assignment and Ternary operator, Operator precedence
  • Conditional Statements : Using if/else constructs and switch-case statements

Unit II

  • Loops : Working with for loop, while loop, do-while loop and for-each loop
  • Arrays and Enums : Fundamentals about Arrays, Multi-dimensional arrays, Array Access and Iterations, Using varargs, Enumerations
  • OOP Concepts : Basics of class and objects, Writing constructors and methods, Overloading methods and constructors, this keyword, initializer blocks
  • String Class : Constructors and methods of String and String Builder class

Unit III

  • Inheritance and Polymorphism : Inheritance, Method overriding, super keyword, Object class and overriding toString() and equals() method, Using super and final keywords, Instanced operator
  • Abstract Class and Interface : Abstract method and abstract class, Interfaces, static and default methods.

Unit IV

  • Nested Class and Lambda Expressions : Nested Class, Understanding the importance of static and non-static nested classes, Local and Anonymous class, Functional Interface, Lambda expressions
  • Utility Classes : Working with Dates
  • Exceptions and Assertions : Exception overview, Exception class hierarchy and exception types, Propagation of exceptions, Using try, catch and finally for exception handling, Usage of throw and throws, handling multiple exceptions using multi-catch, Autoclose resources with try-with resources statement, Creating custom exceptions, Testing invariants by using assertions

Unit V

  • I/O Fundamentals : Describing the basics of input and output in Java, Read and write data from various sources, Using streams to read and write files, Writing and read objects using serialization
  • Generics : Creating a custom generic class, Using the type inference diamond to create an object, Using bounded types and Wild Cards.

Unit VI

  • Collections : Creating a collection by using generics, Implementing an ArrayList, Implementing TreeSet using Comparable and Comparator interfaces, Implementing a HashMap, Implementing a Deque.
  • Java Database Programming : Introduction to JDBC, JDBC Drivers, CRUD operation Using JDBC, Connecting to non-conventional Databases.

List of Practicals / Experiments:

  • Exception Handling • Program to demonstrate the use of all the keywords used for exception handling and need of assertion
  • Multithreading • Program to implement multithreading using Lambda Expressions.
  • Creating a Java Main Class • Program to implement a java class.
  • Managing Multiple Items • Program to demonstrate the use of list of items.
  • Describing Objects and Classes • Program to demonstrate the instantiation of class and accessing the attributes using object of class.
  • Manipulating and Formatting the Data in Your Program • Program to demonstrate the uses of String and StringBuilder
  • Using Inheritance • Program to demonstrate the inheritance and its importance using Swing Components.
  • Overriding Methods, Polymorphism, and Static Classes • Program to implement polymorphism and using proper access control.
  • Abstract and Nested Classes • Program to demonstrate the use of abstract class and nested class.
  • Java IO • Program to implement read and write operation using console and File.

Text Books:

  1. PROGRAMMING WITH JAVA by E. BALAGURUSAMY, MCGRAW HILL EDUCATION

References:

  1. JAVA THE COMPLETE REFERENCE by HERBERT SCHILDT, MCGRAW HILL EDUCATION
  2. INTRODUCTION TO JAVA PROGRAMMING by Y. DANIEL LIANG, PEARSON

Post a Comment