Domain Track : Software Technology

Teacher

Rakesh Kumar Ray

Category

Domain Courses

Course Attendees

Still no participant

Course Reviews

Still no reviews


Domain Track Title : Software Technology

Track Total Credits CUST2010 ( 0-9-11)

Courses Division( list all divisions):

 

1: Web Services Using JAVA (0-4-1) 75 hours

2: Advanced JAVA Programming (0-3-1) 60 Hours

3: Web Programming Using React 45 hours

4: Product Development (0-0-8) 120 hours

 

Pre-Requisite

  • Java Technologies
  • Advanced Web Programming
  • DBMS

Web Programming Using AngularJS was offered up to 2020

Domain Track Objectives:

  • Develop knowledge-based force to serve the IT industry with the latest technologies.
  • To explore methods of capturing, specifying, visualizing and analyzing software requirements.
  • To learn and explore Spring Framework, Android, React, GIT.

Domain Track Learning Outcomes:

  • To analyze, design, and develop SRS.
  • To design and develop web applications using Spring, React.
  • To design and develop Android Applications.

Domain Syllabus:

 

1. Advanced JAVA Programming (0-3-1)

 

Course Objectives

  • Learn advanced Java programming concepts: JDBC, Servelet, JSP
  • Develop advanced Java applications
  • Be able to apply advanced Java programming concepts to real-world problems

Course Outcomes

COs Course Outcomes Mapping COs with POs (High-3, Medium-2, Low-1)
CO1 Be able to write complex Java applications PO1 (3), PO12(3)
CO2 Be able to use advanced Java programming concepts to solve real-world problems PO2(3)
CO3 Be able to apply advanced Java programming concepts to develop innovative solutions PO2(3)

 

1.1 Understanding Web Architecture

1.2 Installation and configure java environment.

1.3 Understanding MVC Architecture

1.4 Create GIT repository for version control and teamwork

1.5 Create a web project and define a landing page.

1.6 Create controller using servlet in web project

1.7 Retrieve value from page in controller through the request parameter.

1.8 Establish Connection with database

1.9 Perform CRUD operation

1.10 Present data in JSP page using scriptlet, expression and action tag.

1.11 Declare method and variable in JSP page.

1.12 Transferring control from one resource to another using RequestDispatcher and ResponseRedirect

1.13 Set and get values in ServletContex and ServletConfig parameter.

1.14 Set and get values in application, session and request attribute.

1.15 Perform session tracking.

1.16 Upload file to the server.

1.17 Working with JSTL

 

2. Web Services Using JAVA (0-4-1)

 

Course Objectives

  • Understand the core concepts of the Spring Framework.
  • Be able to use the Spring Framework to build enterprise applications.
  • Be able to use Spring Boot to create stand-alone Spring applications.
  • Be able to use Spring MVC to create web applications.
  • Be able to use Spring Data to access databases.
  • Be able to use Spring Security to secure applications.

Course Outcomes

COs Course Outcomes Mapping COs with POs (High-3, Medium-2, Low-1)
CO1 able to demonstrate their knowledge of the Spring Framework by writing code that uses its features. PO1 (3)
CO2 able to use Spring Boot to create stand-alone Spring applications that are easy to deploy and manage PO2(3), PO3(3), PO5(2)
CO3 able to use Spring MVC to create web applications that are user-friendly and secure PO2(3), PO3(3), PO5(2)
CO4 able to use Spring Data to access databases in a consistent and efficient manner PO3(3), PO4(2), PO5(2)
CO5 able to use Spring Security to secure applications against unauthorized access PO3(3), PO4(2), PO5(2)

 

2.1 Setting Spring environment

2.2 Understanding Maven and define POM

2.3 Create project using Spring and Understanding Spring Architecture

2.4 Setting bean in IOC container and understand Dependency Injection

2.5 Working with Spring AOP

2.6 Access data using JdbcTemplate; CRUD operation

2.7 Create Spring Boot projects using Spring Initializr

2.8 Implement DevTools for rapid application development

2.9 Implement application logs using application.properties

2.10 Implement Global Exception handling mechanism

2.11 Implement Security using Spring Boot

2.12 Configure Email in application.properties

2.13 Implement Testing using Spring Boot Test

2.14 Implement application monitoring using Actuator

2.15 Create Spring MVC project and define controller

2.16 Implement form handling using SpringMVC

2.17 Implement RESTful Web Service using GET Method

2.18 Implement RESTful Web Service using POST, PUT, DELETE and validations

2.19 Implement End to End testing using Spring Boot Testing - @AutoConfigureMockMvc

2.20 Handle cyclic dependency during JSON creation in Web Service

2.21 Understanding ORM and Hibernate

2.22 Hibernate Configuration using XML and annotation

2.23 Implement DML using Spring Data JPA on a single database table

2.24 Implement Query Methods feature of Spring Data JPA

2.24 Implement O/R Mapping using Spring Data JPA

2.25 Implement Hibernate Query Language (HQL) and Native Query

2.26 Explain the need and benefit of Criteria Query

 

3. Web Programming Using React ( 0-2-1)

Course Objectives

  • learn how components, JSX, virtual DOM, and React's component lifecycle concepts work together to build web applications
  • learn how to pass data between components, manage state, and handle user interactions
  • understand how to build complete web applications using React and reinforce the concepts learned throughout the course

Course Outcomes

COs Course Outcomes Mapping COs with POs (High-3, Medium-2, Low-1)
CO1 able to use React to handle user input and state management PO1 (3)
CO2 able to use React to build complex web applications with multiple components PO2(3), PO3(3), PO5(2)
CO3 able to use React with other popular JavaScript libraries, such as Redux and React Router PO2(3), PO3(3)
CO4 Students will be confident in their ability to use React to solve real-world problems PO3(3), PO4(2)

3.1 Configure the environment(install node and react), What is React? React version history, Create React app and debug

Templating using JSX

3.2 Working with React.createElement, Expressions, Using logical operators, Specifying attributes, Specifying children,

It’s all about components

3.3 Significance of component architecture, Types of components - Functional, Class based, Pure, Component Composition

Working with state and props

3.4 What is state and its significance, Read state and set state, Passing data to component using props

3.5 Validating props using propTypes, Supplying default values to props using defaultProps

Rendering lists

3.6 Using React key prop, Using map function to iterate on arrays to generate elements, Event handling in React

3.7 Understanding React event system, Understanding Synthetic event, Passing arguments to event handlers

Understanding Component Lifecycle & Working with Forms

3.8 Controlled components, Uncontrolled components, Understand the significance to defaultValue prop, Using react ref prop to get access to DOM element

Routing with React Router

3.9 Setting up react router, Understand routing in single page applications, Working with BrowserRouter and HashRouter components, Configuring route with Route component, Using Switch component to define routing rules, Making routes dynamic using route params

3.10 Working with nested routes, Navigating to pages using Link and NavLink component, Redirect routes using RedirectComponent, Using Prompt component to get consent of user for navigation, Path less Route to handle failed matches

Just Redux

3.11 What is redux, Why redux, Redux principles, Install and setup redux, Creating actions, reducer and store

Immutable.js for immutable data structures

3.12 What is Immutable.js? Immutable collections, Lists, Maps, Sets

React Redux

Redux saga(Redux middleware)

3.13 What is React Redux, Why React Redux, Install and setup, Presentational vs Container components

3.14 Understand high order component, Understanding mapStateToProps and mapDispatchtToProps usage

3.15 Why redux middleware, Available redux middleware choices, What is redux saga, Install and setup redux saga

3.16 Working with Saga helpers, Sagas vs promises

4. Product Development (0-0-8)

Session Plan for the Entire Domain:

 

Advanced Java Programming (60 Hrs)

Session 1, 2, 3:    Understanding Web Architecture
Type of web architecture
J2EE Containers & Components
HTTP protocol

https://www.youtube.com/watch?v=RsQ1tFLwldY

Session 4:     Understanding MVC Architecture

https://www.youtube.com/watch?v=mtZdybMV4Bw

Session 5, 6, 7:     Installation and configure java environment.
Web servers and installation of Tomcat and Glassfish
Demonstration of project to student and initiation for project development work"

https://www.youtube.com/watch?v=wDS4QgehTSI&t=11s

Session 8:     Writing of use cases for project

Write use case of activities for project

Session 9, 10,11:     Create GIT repository for version control and teamwork
Install git and create a GitHub account
Cloning an existing Git repo
Committing a modified version of a file to the repo
Configuring a Git repo for remote collaboration
Common Git version control commands

https://www.youtube.com/watch?v=xuB1Id2Wxak

Session 12, 13, 14:     Create a web project and define a landing page.
Create a Dynamic Web Project and design landing page.
Understand web.xml and @webServlet annotation

https://www.youtube.com/watch?v=oQngEp1CdO0

Session 15, 16:     templet selection and design of page
Design pages using templet for project

Session 17, 18, 19:     Create controller using servlet in web project
Servlet life cycle
Create servlet and call from page
Display content using servlet

https://www.youtube.com/watch?v=JtQ3uaHvPkc

https://www.youtube.com/watch?v=WbyXPH5Obu4

Session 20, 21 Create Controller in project work and verify use case
Verification of use case developed by students and create controller class for project

Session 22, 23, 24:     Retrieve values from a page in the controller through request parameter
Understand HttpServletRequest
Design page with a form field
Retrieve values from the Request parameter

https://www.youtube.com/watch?v=VxDW54jrKQY

Session 25, 26:     Establish Connection with database
Connection type
Download the jar file and used in a project
Create data access layer class to connect with database

https://www.youtube.com/watch?v=YyaO1cZIRd8

Session 27, 28, 29, 30:     Perform CRUD operation
Write a method for retrieve data from a database
Write methods for insert, update, delete data from a database
Write methods using PreparedStatement and CallableStatement

https://www.youtube.com/watch?v=DzYyzmP4m5c
https://www.youtube.com/watch?v=gU3DLOsw0Eg
https://www.youtube.com/watch?v=jrTKujzil-w

Session 31, 32:     design data access layer for a project
Write classes for access data from the database

Session 33, 34, 35, 36:     Present data in JSP page using scriptlet, expression and action tag
JSP life cycle
Data process and present using scriptlet and expression tag
Understand Bean class
Use action tag

https://www.youtube.com/watch?v=lxqFz83EC0Q
https://www.youtube.com/watch?v=18I4i2e_clo
https://www.youtube.com/watch?v=XY7mTgCHlgA

Session 37:     Declare method and variable in JSP page
JSP declarative tag

Session 38, 39:     Transferring control from one resource to another using RequestDispatcher and ResponseRedirect
Difference between RequestDispatcher and ResponseRedirect

https://www.youtube.com/watch?v=m23ryx_Ro-0

Session 40, 41, 42:     Set and get values in ServletContext and ServletConfig parameter
Understand ServeltContext and Config
Add param value in web.xml or annotation
Retrieve paramValue in program

https://www.youtube.com/watch?v=tKzKtZdWz4g

Session 43, 44, 45:     Set and get values in an application, session and request attribute
Understand application, session, request scope
Add objects in different scope attribute
Retrieve values from scope attribute

https://www.youtube.com/watch?v=ss1CW19pbTo

Session 46, 47, 48, 49:     Perform session tracking
Understanding session
Session validation using HttpSession
Session validation using cookies
Session tracking using hidden field and request rewrite

https://www.youtube.com/playlist?list=PLmCsXDGbJHdjMQ9fe9Mwl1jZ2gysxpbQJ

Session 50:     Session management integration in project
Add session validation in project

Session 51, 52:     Upload file to a server
Add and access file to/from server

https://www.youtube.com/watch?v=4yb16lTxbM8

Session 53, 54:    Use intercepter as Filter
Filter creation and filter life cycle

https://www.youtube.com/watch?v=k-XqIa0RP3I

Session 55:     Project work inspection
Project review

Session 56, 57, 58: Working with JSTL
Use of JSTL in JSP page

https://www.youtube.com/watch?v=ZnPRkgi8wXE

 

Web Services Using JAVA (75Hrs)

Session 1, 2, 3:     Setting Spring environment
Spring Framework - Overview
Spring Framework - Architecture
Environment Setup

https://www.youtube.com/watch?v=dNw8a26oklg

Session 4:     Understanding Maven and define POM
Project setup using maven and add dependencies in POM file

https://www.youtube.com/watch?v=TpPEgCm65CE&list=PLS1QulWo1RIaaQ3mAU9Nj4rqfwbAv3wIZ&index=5&t=0s

Session 5, 6, 7: Setting bean in IOC container and understand Dependency Injection
IoC Containers
Bean Definition
Bean Scopes
Bean Life Cycle
Bean Post Processors

https://www.youtube.com/watch?v=pWmMVhg440k

Session 8, 9, 10:     Dependency Injection
Injecting Inner Beans
Injecting Collection
Beans Auto-Wiring

https://www.youtube.com/watch?v=USLwFGTZB4E

Session 11, 12:      Configure the dependency injection
Annotation Based Configuration
Java Based Configuration

https://www.youtube.com/watch?v=4fZJfqpnyWg

Session 13, 14:     Event in Spring
Event Handling in Spring
Custom Events in Spring

https://www.youtube.com/watch?v=ZUe1Xz7DAcY

Session 15:    Working with Spring AOP
Write program to implement Spring AOP

https://www.youtube.com/watch?v=QdyLsX0nG30&list=PLC97BDEFDCDD169D7&index=25&t=71s

Session 16, 17, 18:    Access data using JdbcTemplate; CRUD operation
Spring - JDBC
Fetch Records
Insert, update, delete records

https://www.youtube.com/watch?v=0LYqy0wvS20

Session 19, 20:    Transaction Management
Transaction management in spring

https://www.youtube.com/watch?v=CbMzBzw6w2Q

Session 21, 22:     Spring - MVC Framework
Understand Architecture
Define Controller

https://www.youtube.com/watch?v=gq84DReItek&list=PL3NrzZBjk6m-OSeL3DRMD_ISa0u-9c1l1&index=4

Session 23, 24:     Implement form handling using SpringMVC
Create a springMVC project to implement form handing

Session 25, 26:     Spring - Logging with Log4J
Implement log in spring project

https://www.youtube.com/watch?v=VwEduBsNRLs

Session 27:     Create Spring Boot projects using Spring Initializer
Create a spring boot project using Spring Initializer

https://www.youtube.com/watch?v=kkiVbwPbMz0

Session 28, 29:     Code Structure, Beans and Dependency Injection
Bean
Dependency injection

https://www.youtube.com/watch?v=K5bkniAjkZA

Session 30, 31: Spring Boot - Thymeleaf
Create a spring boot project using Thymeleaf

https://www.youtube.com/watch?v=kKhNMxMyAcw

Session 32, 33:     Building RESTful Web Services
build configuration
Rest Controller
Request Mapping
Request Body
Path Variable
Request Parameter

https://www.youtube.com/watch?v=A04J3kHnofE

Session 34, 35:     Building RESTful Web Services
Get API
Post API
Put API
Delete API

Session 36:     Spring Boot - Rest Template
Implement Test Template in Spring Rest project

https://www.youtube.com/watch?v=WPKv8NA-ZhE

Session 37:     Spring Boot - CORS Support
Implement CORS in project

https://www.youtube.com/watch?v=D4tnEwxWAAs

Session 38:      Spring Boot - Internationalization
Implement internationalization in project

https://www.youtube.com/watch?v=GFq7Kxm2GBk

Session 39, 40:     Spring Security
Introduction
Spring Project Modules
XML based Example
Spring Security Java Example

Session 41, 42:     Spring Security LDAP
Implement LDAP in project

https://www.youtube.com/watch?v=-wDUChgvYgU

Session 43, 44, 45:     OAuth2 with Spring Security
Implement OAuth2 in project

https://www.youtube.com/watch?v=Dbxzw0cpxBU&t=616s

Session 46, 47:      Spring Security with REST
Implement spring security in rest project

 

Session 48, 49:     Implement DevTools for rapid application development
Add DevTool in project

https://www.youtube.com/watch?v=_3uMgaAncmA

Session 50, 51: Implement application logs using the application.properties
Add log in project

https://www.youtube.com/watch?v=lGrcZsw-hKQ

Session 52, 53: Implement Global Exception handling mechanism
Add exception handing in project

https://www.youtube.com/watch?v=2o7LJLTIgdE

Session 54, 55:     Implement Security using Spring Boot
Add security in spring boot project

https://www.youtube.com/watch?v=PhG5p_yv0zs

Session 56, 57:     Configure Email in application.properties
Configure email

https://www.youtube.com/watch?v=JUMbefx67wk

Session 58, 59: Implement Testing using Spring Boot Test
Testing project code

https://www.youtube.com/watch?v=kXhYu939_5s

Session 60, 61: Implement application monitoring using Actuator
Application monitoring

https://www.youtube.com/watch?v=9_PjuZT4tYo

Session 62: Implement End to End testing using Spring Boot Testing - @AutoConfigureMockMvc
Testing code using Mock

https://www.youtube.com/watch?v=8S8o46avgAw

Session 63: Handle cyclic dependency during JSON creation in Web Service
Cyclic dependancy during JSON creation

Session 64: Understanding ORM and Hibernate
ORM
Hibernate

https://www.youtube.com/watch?v=dHQ-I7kr_SY

Session 65, 66: Hibernate Configuration using XML and annotation
Configure hibernate file using XML and annotation

https://www.youtube.com/watch?v=nZY7SLviZcU

Session 67, 68, 69: Implement DML using Spring Data JPA on a single database table
Implement JPA for DML operation

https://www.youtube.com/watch?v=B_AhB0Nhf7U

Session 70, 71: Implement Query Methods feature of Spring Data JPA
Implement JPA using query method

https://www.youtube.com/watch?v=IgAiqRV7yLQ

Session 72:  Implement O/R Mapping using Spring Data JPA
O/R mapping using JPA

 

Session 73, 74: Implement Hibernate Query Language (HQL) and Native Query
Implement HQL using JPA

https://www.youtube.com/watch?v=Em4M2tUn1bU

Session 75: Explain the need and benefit of Criteria Query
Implement Criteria Query

https://www.youtube.com/watch?v=4fVlAobgQGI

 

Web Programming Using React ( 0-2-1)

 

Session 1, 2, 3:     Create React app and configure the environment
What is React?
React version history
install node and react
Core Features

Video Link

Session 4, 5:    Templating using JSX
Working with React.createElement
Expressions, Using logical operators
Specifying attributes
Specifying children

Video Link

Session 6, 7, 8:    JavaScript
DOM
Loop
Object
Function

Video Link

 

Session 9, 10, 11, 12:    It’s all about components
Significance of component architecture
Types of components - Functional
Class based
Pure
Component Composition

Video Link

Session 13, 14, 15:    Working with state and props
What is state and its significance
Read state and set state
Passing data to component using props
Validating props using propTypes
Supplying default values to props using defaultProps

Video link

Session 16, 17:    Rendering lists
Using React key prop
Using map function to iterate on arrays to generate elements
Event handling in React

Video Link

Session 18, 19:    Rendering lists
Understanding React event system
Understanding Synthetic event
Passing arguments to event handlers

Video Link

Session 20, 21, 22:    Understanding Component Lifecycle & Working with Forms
Controlled components and Uncontrolled components
Understand the significance to defaultValue prop
Using react ref prop to get access to DOM element

Video Link

Session 23, 24, 25:    Routing with React Router
Setting up react router
Understand routing in single page applications
Working with BrowserRouter and HashRouter components
Configuring route with Route component
Using Switch component to define routing rules
Making routes dynamic using route params

Video Link

Session 26, 27, 28:    Nested  Routing with React Router
Working with nested routes
Navigating to pages using Link and NavLink component
Redirect routes using RedirectComponent
Using Prompt component to get consent of user for navigation
Path less Route to handle failed matches

Video Link

Session 29, 30:    Just Redux
What is redux and Why redux
Redux principles
Install and setup redux
Creating actions, reducer and store

Video Link

Session 31, 32:    Immutable.js for immutable data structures
What is Immutable.js?
Immutable collections, Lists, Maps, Sets

Video Link

Session 33:    Redux middleware
What is React Redux
Why React Redux
Install and setup
Presentational vs Container components

Video Link

Session 34:    Redux middleware
Understand high order component
Understanding mapStateToProps and mapDispatchtToProps usage

 

Session 35:    redux middleware
Why redux middleware,
Available redux middleware choices
What is redux saga
Install and setup redux saga

Video Link

Session 36:    redux middleware
Working with Saga helpers
Sagas vs promises

 

 

Product Development (0-0-8)

1: Requirement Gathering and Use Case preparation

2: Database Design and UI Design using Web and Android

3: Project Coding

4: Testing

5: Deployment and Bug Fixing

List of Projects/ papers/jobs/products to be done in domain:

 

  1. MINT
  2. ERP System
  3. Electronics Lab Notebook

 

Gate Process for Project

Gate 0: Requirement Grathering and Use Case preparation

Gate 1: Database Design and UI Design

Gate 2: Project Coding

Gate 3: Testing

Gate 4: Deployment and Bug Fixing

Our Main Teachers

Rakesh Kumar Ray

Assistant Professor in Department of Computer Science
VIEW PROFILE

Rakesh Kumar Ray, M. Tech. in Computer Science, BPUT Odisha. His research area includes the application of machine learning and image processing in the fields of smart agriculture. Programming Skill: C Programming C ++ Programming Java and J2EE C# Programming

Debendra Maharana

Asst.Prof.,Department of Computer Science & Engineering, Paralakhemundi,Odisha
VIEW PROFILE

Debendra Maharana is presently working as Asst. Prof. in the School of Engineering & Technology, Dept. of CSE,Centurion University of Technology & Management, Paralakhemundi,Odisha. He is currently pursuing Ph.D. in Computer Science & Engineering under Utkal University.He has qualified National Eligibility Test (UGC-NET) in 2013. His research interest includes Distributed Computing, Real-Time Systems,Data Analysis.

Aswini Kumar

Assistant Professor
VIEW PROFILE

M.Aswini kumar working as Assistant Professor, Dept of CSE, Centurion University of Technology and Management, Andhra Pradesh. Interested to work on Machine learning, Natural Language Processing. Programming Skill: C Programming Java Python Android Data Structure Object Oriented Programming using JAVA Python Web Development(HTML,CSS,PHP) Database Management Systems Compilers