Software Development Using Java & Python - Rooman Technologies

Software Development using
Java & Python (JSD)

Become a Expert & Specialization in Junior Software Developer (JSD)
100% Placement Assistance | 1000+ Hiring Partners
273524 Learners Enrolled

About Software Development Using Java & Python

Java and Python are two of the most popular and top two programming languages of the world  used for software development today. While both have their strengths, they are both widely used in various industries, from web development to machine learning and artificial intelligence. Mastering both these programming languages will make way for an aspiring developer into IT easily.

Course Duration
Course Duration

330 hours

Course Duration
On Job Training

60 hours

Course Outline

Java Programming

  • Language Fundamentals
  • Object orientation
  • Main method
  • Data types
  • Object creation
  • Methods
  • Method overloading
  • Pattern programming
  • Arrays
  • Strings
  • Pillars of oops
  • Encapsulation
  • Static
  • Inheritance
  • Polymorphism
  • Association
  • Abstraction
  • Interfaces
  • Exception Handling
  • Multithreading
  • Garbage collection
  • Collection Framework
  • Maps
  • Input and output
  • Serialisation and De-serialization
  • JDBC
  • Servlets
  • JSP
  • JSTL
  • Expression Language
  • Maven
  • Hibernate
  • Spring
  • Know about computer
  • Different styles of programming
  • History of High level languages
  • Memory organisation
  • Object file vs Executable file
  • Compiler vs Interpreter
  • Architecture of java
  • Principles of oops
  • Classes and objects
  • Signature of main
  • Command line arguments
  • Primitive datatypes
  • Incrementation and decrementation
  • Wrapper classes
  • Boxing and unboxing
  • Type casting
  • Variables, idenitfiers, keywords
  • What is a method
  • Types of methods

Object Creation

  • Different ways of creating objects
  • Value type assignment vs reference type assignment
  • Local variables vs instance variables

Method Overloading

  • Compile-time polymorphism
  • Method overloading with type promotion
  • Overloading main method
  • Loops in java(for ,while, do-while)
  • Star patterns
  • Number patterns
  • Variable approach vs array approach
  • Types of arrays
  • Jagged arrays
  • Array of objects
  • Enhanced for-loop
  • Arrays inbuilt class
  • Programs on arrays
  • Var args
  • C strings vs java strings
  • Types of strings
  • Different ways to create strings
  • Different ways to compare strings
  • Different ways to concatenate strings
  • Rules of strings
  • +” operator vs concat method
  • String interning
  • Inbuilt methods of string class
  • Programs on strings
  • Mutable strings
  • Inbuilt methods of stringbuffer and stringbuilder
  • Conversion between different types of strings


  • Private modifier
  • Setters and getters
  • Shadowing problem
  • This keyword
  • Constructors
  • Constructor overloading
  • Constructor chaining
  • Methods vs constructor


  • Class loading
  • Components of a class
  • Static control flow
  • Instance control flow
  • Accessibilty rules
  • Application of static elements
  • Program to count the objects of the class
  • Static vs non-static
  • Singleton design pattern


  • Extends keyword
  • Rules of inheritance
  • Variable hiding and Super keyword
  • Constructor execution in inheritance
  • Types of methods in inheritance
  • Method overriding
  • Access modifiers
  • Packages and modules
  • Rules of method overriding
  • Sealed classes
  • Static with inheritance


  • Polymorphic version and non-polymorphic version
  • Tight coupling, loose coupling
  • Compile time polyorphism
  • Run-time polymorphism
  • Method hiding
  • Instanceof operator


  • Aggregation and composition
  • Programs on Aggregation and composition


  • Abstract classes
  • Abstract methods vs concrete methods
  • Final keyword
  • Pure abstraction
  • Impure abstraction
  • Introduction to interfaces
  • Rules of interfaces
  • Functional interface
  • Lambda expressions
  • Annotations
  • Method reference and constructor reference
  • Try-catch finally blocks
  • Different ways of handling an exception
  • Multiple catch blocks
  • Exception object propogation
  • Exception hierarchy
  • Checked and unchecked exceptions
  • Throw vs throws keyword
  • Error vs exception
  • Custom exceptions
  • Nested try catch
  • Try with resources
  • Final vs finally vs finalize
  • Exception handling with overridding
  • Thread class methods
  • Single-threaded approach vs multi-threaded approach
  • Different ways to achieve multithreading
  • Impact of invoking run() explicitly
  • Executing multiple tasks simultaneously using a single run() method
  • Exception handling in a multi-threaded environment
  • Time-trial: race condition
  • The not-so-evil thread: daemon threads
  • Benefits and limitations of multithreading
  • Join() and isalive()
  • thread safety: “synchronized” keyword- semaphore | monitor
  • Thread life cycle
  • Stand-off: dead locks
  • Cooperation: inter-thread communication
  • Thread vs process
  • Threadgroup
    Threadlocal variable
  • “Volatile” keyword
  • Arraylist class
  • Linkedlist class
  • Arraydeque class
  • Priorityqueue class
  • Treeset class
  • Hashset class
  • Linkedhashset class
  • Collections hierarchy
  • Accessing mechanisms
  • Legacy classes and interfaces
  • Fail fast vs fail safe
  • Sorting objects
  • Generics
  • Inbuilt methods of collections class


  • Map hierarchy
  • Hashmap class
  • Linkedhashmap class
  • Treemap class
  • Collection views
  • Files and I/O
  • BufferedWriter and BufferedReader
  • Inbuilt File class methods
  • Standard I/O Streams
  • PrintWriter
  • Serializable interface
  • Objectoutputstream and objectinputstream
  • Bufferedoutputstream and bufferedinputstream
  • Selective serialization
  • Serializable vs externalizable
  • Secure hash algorithm
  • Inception of jdbc:
  • Thin is the great middleman:
  • Employ java on data tanks:
  • Different ways of adding jars to eclipse
  • Generic programs on steps involved in jdbc
  • Crud operations in jdbc
  • Statement
  • Preparedstatement
  • Callablestatement
  • Resultset
  • Metadata
  • Connection pooling
  • Properties file in jdbc
  • Batch processing
  • Acid properties
  • Triggers
  • Resourcebundle
  • Transactions and savepoint
  • Stored procedures
  • Handling blob and clob

Python Programming

  • Compilation v/s Interpretation
  •  Script mode and Interactive mode
  • Command Line Arguments
  • · Basic Data types
    a. Numbers (int, float, complex)
    b. Strings
    c. Bool
  • Advance Data types (List, tuple, set, dictionary)
  • Type casting
    a. Implicit
    b. Explicit
  • Types of Functions
    a. User Defined Functions
    b. Built-in Functions
    c. Lambda Function
    i. Filter
    ii. Reduce
    iii. Map
    d. Recursive Function
  • Doc String
  • Types of Arguments
    a. Positional arguments
    b. Default arguments
    c. Keyword arguments
    d. Variable length arguments
    e. Variable length Keyword argument
  • Importing a Module using alias
  • Importing using from keyword
  • Input()
  •  __name__() and __main__()
  • Turtle Module
  • Math module


  • Creation of lists
  • Accessing list elements
  • List slicing
  • List replication
  • Appending two list
    a. append()
    b. extend()
    c. using ‘+’ operator
  • Removing an element from a list
    a. pop()
    b. del keyword
  • Reference Type Assignment
  • Copy Operation using memory map
    a. Shallow copy
    b. Deep copy
  • List Comprehension
    a. Using for loop
    b. Using list comprehension
    c. List comprehension using single if condition
    d. List comprehension with multiple if conditions
    e. List comprehension using else condition
  • Accessing list
    a. Using for loop
    b. Using range()
    c. Accessing elements present within nested list
  • Reversing a list
  • List Comparison
  • List Sorting
  • a. Ascending order
    b. Descending order


  • Creation of set
  • Set operations
    a. Union
    b. Intersection
    c. Difference
    d. Symmetric Difference
    e. Subset
    f. Super set
    g. Disjoint set
  • Set methods
    a. add()
    b. discard()
    c. remove()
  • Frozen set
  • Set Comprehension
    a. Using for loop
    b. Using set comprehension
    c. set comprehension using single if condition
    d. set comprehension with multiple if conditions
    e. set comprehension using else condition
  • All and Any function
  • Internal Implementation of List
  • List performance analysis
  • When to use a List.
  • Internal Implementation of tuple
  • Performance Analysis
  • Difference between list and tuple
  • Internal Implements of set
  • Performance analysis of set
  • Difference between list and set
  • Difference between tuple and set


  • Internal Implementation of Dictionary
  • Creation of Dictionary
  • Adding elements to a dictionary
  • Accessing elements from a dictionary
  • Accessing values from a dictionary using get()
  • Different ways of deleting elements from a dictionary
    a. pop()
    b. popitem()
    c. del keyword
    d. clear()
  • Different ways of accessing a dictionary
    e. keys()
    f. values()
    g. items()
  • Different ways of iterating over a dictionary
    a. keys()
    b. values()
    c. items()
  • Membership check in a dictionary
  • Merging of dictionaries
    a. Using update()
    b. Using **
  • Dictionary Comprehensions
    a. Using for loop
    b. Using dictionary
    c. Dictionary comprehension using single if conditioned.
  • d. Dictionary comprehension with multiple if conditions
    e. Dictionary comprehension using else condition
  • When to use a Dictionary
  • Zip()
    a. Zip() function on list of varying length
  • Difference between List, tuple, set and dictionary
  • Dequeue
  • Named Tuple
  • Ordered Dictionary
  • Default Dictionary
  • Chain map
  • Counter
  • Different ways of creating a string
  • Internal Implementation of String
  • String Formatting
    a. Default formatting
    b. Positional formatting
    c. Keyword formatting
    d. Binary formatting
    e. % Formatting Specifier
  • Built-in functions in String
    a. lower()
    b. upper()
    c. title()
    d. capitalize()
    e. swapcase()
    f. maketrans()
    g. translate()
    h. split()
    i. startswith()
    j. endswith()
  • Accessing individual character of a String
    a. Forward direction
    b. Reverse direction
  • String Comparison
    a. Using values
    b. Using Reference
    c. Ignoring case
    d. Difference between casefold() and lower()
  • String Concatenation
    a. Using ‘+’ Operator
    b. Using join()
    c. Using format()
    d. Using ‘f’ string literal
  • Quantifiers
  • Word Character
  • Character class
  • Grouping
  • Raw String
  • Re Module
    a. match()
    b. search()
    c. Difference between match() and search()
    d. findall()
    e. sub()
    f. split()
    g. start()
    h. end()
    i. group()
    j. compile()
  • Flags
  • User Defined Exception Handler
  • Disadvantage of having single Except block
  • Grouping multiple exceptions in a single except block
  • Printing the default message of exception by aliasing exception object
  • Optional else block
  • Propagation of exception object
  • Use of ‘raise’ keyword in exception handling
  • Handling the exception using try-except blocks
  • Re-throwing an exception
  • Valid and in-valid syntax of try-except block
  • Difference between exception handling in python and java
  • Customized Exception in python
  • Exception Hierarchy
  • Scope of variable in python
    a. Accessing global variable within the function
    b. Difference between globals() and locals() methods
    c. Nested function scope in python
  • Levels of Loggers
    a. INFO
    b. DEBUG
    c. ERROR
    d. WARNING
  • Formatters in loggers
  • Traceback error log file
  • Levels for respective file handling
    a. ERROR
    b. INFO
    c. DEBUG
  • Reading a file
  • Modes of file
  • Closing a file
  • Context Managers in python
  • Reading file contents line by line
  • Reading a single line in a file
  • Reading multiple lines in a file
  • Reading a character in a line
  • readline()
  • Cursor Position
    a. tell()  b. seek
  • Writing a file
  • File modes in python
  • Read
  • Write
  • Create
  • Erase
  • Position
  • Exclusive Creation
  • Exclusive Mode operation
  • File to File transfer
  • Object creation in python
  • Creation of instance variable in python
  • __new__()
  • __init__()
  • self keyword in python
  • static and non-static methods in python
  • Iterators
    a. Difference between containers and non-containers
    b. __iter__() and __next__()
    c. Iter tools module
    i. Islice
    ii. cycle
  • Examples
  • Generators
    a. Difference between normal function and iterator function
    b. Use of ‘yield’ keyword in python
    c. Control flow diagram of iterators and generators
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction

Soft Skills

Request more information?

If you have any questions, please don't hesitate to ask, fill the enquiry form or call 9019002622

Send Enquiry
Enquire Now
Form fields marked with a red asterisk * are required.

Supporting Enterprises Around the Globe

Our programs are designed to give you the skills you need to be successful in your career.
MNC Companies