Ajp Micro
Ajp Micro
1
This is to certify that Mr. / Ms. ………………………………………………………
Roll No.….…., of ………... Semester of Diploma in………………….. Engineering ,
of Institute
(Code: ) has completed the Micro-Project work satisfactorily in course
Advance Java Programming 22517 for the academic year 2024 to 2025 as
prescribed in the curriculum.
2
This is to certify that following students,
Place: Miraj
Date:…………
3
First and the foremost I,
express my deep sense of
gratitude, sincere thanks
and deep
sense of application to
Project Guide Mr. K. P.
Jadhav, Department of
Computer Technology,
Sanjivani K.B.P.
Polytechnic, Kopargaon.
Your availability at any
time throughout the year,
valuable guidance, opinion,
view, comment, critics,
4
encouragement, and
support tremendously
boosted this project work.
Lots of thanks to Head of
Computer Technology
Department, Mr. G. N.
Jorvekar for
providing me the best
support I ever had. I like to
express my sincere
gratitude to Mr. A.R.
Mirikar, Principal,
Sanjivani K.B.P.
Polytechnic, Kopargaon
for providing great
platform to
5
complete the project within
the scheduled time. I am
also Thankful to all the
faculty members,
Computer Technology
Department, Sanjivani
K.B.P. Polytechnic,
Kopargaon for giving
comments for
improvement of work,
encouragement and help
during completion of the
project.
Last but not the least; We
should say thanks from our
6
bottom of heart to our
family and
friends for their never
ending love, help, and
support in so many ways
through all this time.
Thank you so much.
Swing is a Java Foundation Classes [JFC] library and an extension of the Abstract Window
Toolkit [AWT]. Swing offers much-improved functionality over AWT, new components, expanded
components features, and excellent event handling with drag-and-drop support. Swing is a Set Of API
( API- Set Of Classes and Interfaces) .Swing is Provided to Design Graphical User Interfaces Swing is
an Extension library to the AWT (Abstract Window Toolkit) Includes New and improved Components
that have been enhancing the looks and Functionality of GUIs’ Swing can be used to build(Develop)
The Standalone swing GUI Apps Also as Servlets And Applets It Employs model/view design
architecture Swing is more portable and more flexible than AWT, The Swing is built on top of the
AWT Swing is Entirely written in Java. Java Swing Components are Platform-independent And The
Swing Components are lightweight Swing Supports a Pluggable look and feels And Swing provides
more powerful components such as tables, lists, Scroll panes, Colour chooser, tabbed pane, etc. Further
Swing Follows MVC.
2. Advanced Java Topics: Evaluate understanding of advanced topics like Java Database
Connectivity (JDBC), servlets, JavaBeans, JSP (Java Server Pages), and web services.
3. Practical Application: Measure the ability to apply theoretical concepts to solve practical
problems, including designing and developing small-scale applications or implementing
algorithms using Java.
7
4. Programming Logic and Syntax: Assess correctness in coding syntax, logic, and efficiency
in problem-solving.
5. Debugging and Optimization: Test skills in debugging code and improving the performance
of Java applications.
The test helps instructors gauge students' readiness for real-world Java development tasks and
their grasp of both fundamental and advanced concepts.
1. Mastery of Java Fundamentals: Demonstrate a thorough understanding of core Java concepts, such as
object-oriented programming (OOP), data structures, and exception handling.
2. Proficiency in Advanced Java Technologies: Show competence in advanced Java topics, including
servlets, JSP (Java Server Pages), JavaBeans, and web development using Java.
3. Database Integration Skills: Successfully implement Java Database Connectivity (JDBC) for
connecting, querying, and managing databases within Java applications
4. Web Application Development: Apply knowledge of servlets and JSP to design and develop dynamic
web applications that follow industry standards.
5. Problem-Solving and Coding Skills: Exhibit the ability to analyse complex problems and implement
efficient solutions using Java, including writing clean and maintainable code.
6. Debugging and Optimization Abilities: Effectively identify and resolve issues in Java programs and
optimize code for better performance.
7. Hands-on Application: Gain practical experience by applying theoretical concepts to real-world Java
development tasks, preparing students for professional roles.
The literature on online class tests in AJP reflects a growing trend in digital education, with
mixed results in terms of learning outcomes and experiences.
While online assessments provide flexibility, scalability, and immediate feedback, they also
pose challenges like maintaining academic integrity and ensuring that tests truly reflect students'
coding skills and understanding.
8
As technology continues to evolve, future studies will likely explore more innovative solutions
to address these challenges in programming education.
The proposed methodology for conducting an online class test in Advanced Java Programming
(AJP) involves a structured approach to assess both theoretical knowledge and practical coding
skills. The test will be divided into two main sections:
1. Theoretical Section (40%): This part will contain multiple-choice questions (MCQs) and short-
answer questions designed to assess students' understanding of Java concepts such as object-oriented
programming, servlets, and JDBC. Theoretical questions will be hosted on an LMS (like Moodle or
Blackboard), with MCQs graded automatically and short answers graded manually.
2. Practical Section (60%): Students will complete coding tasks on platforms like Hacker Rank or
Code Chef to evaluate their problem-solving skills. The tasks will include implementing Java
functions, working with JDBC, or developing web-based applications using servlets. Solutions will be
automatically evaluated based on correctness, efficiency, and code quality.
To ensure fairness and academic integrity, the test will use features like time limits, randomized
questions, and plagiarism detection tools. The overall goal is to provide a balanced evaluation of
students’ proficiency in both the theoretical and practical aspects of Java programming..
1 Laptop/Computer 1
2 Internet
1
2
9
The rationale for conducting an online class test in Advanced Java Programming (AJP) is driven by
several educational and practical needs:
1. Assessment of Learning Outcomes: The test allows instructors to evaluate students' grasp of core
and advanced Java programming concepts, such as object-oriented programming, multithreading,
JDBC, servlets, and JSP. It ensures students can apply theoretical knowledge to solve real-world
programming problems.
2. Skill Development: A practical coding test helps in assessing students' ability to write efficient and
maintainable code. This reflects their readiness for professional roles that require hands-on Java
programming skills, such as software development and web application development.
3. Flexibility and Accessibility: Online tests offer flexibility for students to take exams remotely,
which is particularly useful in a diverse learning environment where students may not always be able
to attend in-person classes.
4. Real-Time Feedback: Online platforms enable automated grading and provide immediate
feedback, allowing students to quickly learn from their mistakes and improve their understanding of
Java programming.
5. Continuous Assessment: Online tests can be part of continuous assessment strategies, allowing for
regular evaluations of student progress throughout the course rather than relying solely on final
exams. This promotes consistent learning and reduces last-minute pressure.
The online class test in AJP combines theoretical assessment with practical coding challenges,
preparing students for both academic success and real-world Java programming tasks.
ALGORITHM
Step 1: Start
Step 2: Select the right answers of the questions
Step 3: Click on the next button
Step 4: Complete all the questions
Step 5: Check the results by clicking on RESULT button
Step 6: Message Dialog appears which shows the number of correct answers.
Step 7: Enter OK
Step 8: Stop
10
1. Effectiveness of Online Testing in Programming Courses
- Immediate Feedback: Online tests provide instant feedback, helping students quickly correct mistakes
and understand programming concepts.
- Flexibility: Online assessments allow students to take tests remotely and manage their time effectively,
which is especially helpful for distance learners.
2. Challenges of Online Testing in Programming
- Academic Integrity: Maintaining fairness and preventing cheating are significant concerns. Research
suggests using proctoring tools, plagiarism detection software like **MOSS*, and randomized questions
to address these challenges.
3. Impact on Learning Outcomes
- Improved Understanding: Online coding tasks that simulate real-world problems provide a deeper
understanding of advanced Java concepts like JDBC, servlets, and multithreading.
- Formative Assessments: Continuous online testing encourages regular review and revision, leading to
better long-term retention of material.
4. Tools and Platforms for Java Testing
- Learning Management Systems (LMS) like Moodle and Blackboard, which support theoretical tests
(e.g., MCQs, short-answer questions).
- Coding Platforms such as Hacker Rank and Leet Code, which offer environments for practical coding
tests, allowing students to write, run, and submit Java code with automated test case evaluations.
Code/Program
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width,
initial-
11
scale=1.0">
<meta http-equiv="X-UA-
Compatible"
content="ie=edge">
<link rel="stylesheet"
href="style.css">
<title>Word Length
Calcuator</title>
</head>
<body>
<h1>Type a word in the
box</h1>
<input type="text" id="str">
<div id="output"></div>
<button id="btn"><h2>Click to
calculate word
12
length</h2></button>
<script src="app.js"></script>
</body>
</html>
body{
background-color:#f7240c;
text-align: center;
}
input{
margin: 100px auto 100px;
/* margin-left: 220px; */
width: 350px;
height: 40px;
display: block;
text-align: center;
}
13
#output{
PROGRAM CODE
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import
14
javax.swing.BorderFactory;
import
javax.swing.border.Border;
class OnlineExam extends
JFrame implements
ActionListener
{
JLabel l;
JRadioButton jb[]=new
JRadioButton[5];
JButton b1,b2;
ButtonGroup bg;
int
count=0,current=0,x=1,y=
1,now
=0;
int m[]=new int[10];
15
JFrame f;
OnlineExam(String s)
{
Font f1 = new
Font("TimesRoman",Font.B
OLD
,15);
Border border =
BorderFactory.createLineB
order(
Color.black);
f = new
JFrame("Online
class test");
l=new JLabel();
l.setFont(f1);
f.add(l);
16
bg=new
ButtonGroup();
for(int i=0;i<5;i++)
{
jb[i]=new
JRadioButton();
PROGRAM CODE
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import
javax.swing.BorderFactory;
import
javax.swing.border.Border;
class OnlineExam extends
JFrame implements
17
ActionListener
{
JLabel l;
JRadioButton jb[]=new
JRadioButton[5];
JButton b1,b2;
ButtonGroup bg;
int
count=0,current=0,x=1,y=
1,now
=0;
int m[]=new int[10];
JFrame f;
OnlineExam(String s)
{
Font f1 = new
18
Font("TimesRoman",Font.B
OLD
,15);
Border border =
BorderFactory.createLineB
order(
Color.black);
f = new
JFrame("Online
class test");
l=new JLabel();
l.setFont(f1);
f.add(l);
bg=new
ButtonGroup();
for(int i=0;i<5;i++)
{
19
jb[i]=new
JRadioButton();
PROGRAM CODE
import java.awt.;
import java.awt.event.;
import javax.swing.*;
import javax.swing.BorderFactory;
import javax.swing.border.Border;
class OnlineExam extends JFrame implements ActionListener {
JLabel l;
JRadioButton jb[]=new JRadioButton[5];
JButton b1,b2;
ButtonGroup bg;
int count=0,current=0,x=1,y=1,now=0;
int m[]=new int[10];
JFrame f;
OnlineExam(String s){
Font f1 = new Font("TimesRoman",Font.BOLD,15);
Border border = BorderFactory.createLineBorder(Color.black);
f = new JFrame("Online class test");
l=new JLabel();
l.setFont(f1);
f.add(l);
bg=new ButtonGroup();
for(int i=0;i<5;i++) {
jb[i]=new JRadioButton();
.add(jb[i]);
bg.add(jb[i]);
}
b1=new JButton("Next");
20
b2=new JButton("Bookmark");
b1.setBackground(Color.green);
b1.setBorder(border);
b1.setForeground(Color.black);
b2.setBackground(Color.blue);
b2.setBorder(border);
b2.setForeground(Color.white);
b1.addActionListener(this);
b2.addActionListener(this);
f.add(b1);
f.add(b2);
set();
l.setBounds(30,40,700,20);
jb[0].setBounds(50,80,150,20);
jb[1].setBounds(50,110,150,20);
jb[2].setBounds(50,140,150,20);
jb[3].setBounds(50,170,150,20);
b1.setBounds(100,240,150,30);
b2.setBounds(270,240,150,30);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
f.setLayout(null);
f.setLocation(550,450);
f.setVisible(true);
f.getRootPane().setBorder(BorderFactory.createMatteBorder(7, 7, 7, 7, Color.red));
f.setSize(700,400);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b1){
if(check())
count=count+1;
current++;
set();
21
if(current==9){
b1.setEnabled(false);
b2.setText("Result");
}
}
if(e.getActionCommand().equals("Bookmark")){
JButton bk=new JButton("Bookmark"+x);
bk.setBounds(480,20+30*x,100,30);
add(bk);
bk.addActionListener(this);
m[x]=current;
x++;
current++;
set();
if(current==9)
b2.setText("Result");
setVisible(false);
setVisible(true);
}
for(int i=0,y=1;i<x;i++,y++){
if(e.getActionCommand().equals("Bookmark"+y))
{
if(check())
count=count+1;
now=current;
current=m[y];
set();
((JButton)e.getSource()).setEnabled(false);
current=now;
}
}
if(e.getActionCommand().equals("Result")){
22
if(check())
count=count+1;
current++;
JOptionPane.showMessageDialog(this,"correct ans="+count);
System.exit(0);
}
}
void set(){
jb[4].setSelected(true);
if(current==0){
l.setText("Que1: Which class provides many methods for graphics programming?");
jb[0].setText("java.awt");
jb[1].setText("java.Graphics");
jb[2].setText("java.awt.graphics");
jb[3].setText("None of the above");
}
if(current==1){
l.setText("Que2: By Which methods you can set or change the text in a label?");
jb[0].setText("setText()");
jb[1].setText("getText()");
jb[2].setText("Both A & B");
jb[3].setText("None of the above");
}
if(current==2){
l.setText("Que3: Public class MenuBar extends_?");
jb[0].setText("MenuComponent");
jb[1].setText("MenuContainer");
jb[2].setText("ComponentMenu");
jb[3].setText("MenuBar");
}
if(current==3){
l.setText("Que4:The getContentPane() method is of which class?");
23
jb[0].setText("JApplet");
jb[1].setText("JFrame");
jb[2].setText("JButton");
jb[3].setText("None of these");
}
if(current==4){
l.setText("Que5: MVC architecture is _______?");
jb[0].setText("Modeling-visual-controller");
jb[1].setText("Model-view-controll");
jb[2].setText("Many-View-controller");
jb[3].setText("Model-viewable-controller");
}
if(current==5){
l.setText("Que6:Select full form of DNS_?");
jb[0].setText("Data Network system");
jb[1].setText("Domain Name System");
jb[2].setText("Domain Name Server");
jb[3].setText("Domain Naming Service");
}
if(current==6){
l.setText("Que7: Which event is genrated when the position of scrollbar is changed? ");
jb[0].setText("AdjustmentEvent");
jb[1].setText("MouseEvent");
jb[2].setText("keyEvent");
jb[3].setText("ItemEVent");
}
if(current==7){
l.setText("Que8: UDP Stands For_?");
jb[0].setText("User Data Port");
jb[1].setText("User data provider");
jb[2].setText("User data protocol");
jb[3].setText("User Datagram Protocol ");
24
}
if(current==8){
l.setText("Que9: Port Number of FTP is_?");
jb[0].setText("21");jb[1].setText("80");jb[2].setText("25");jb[3].setText("23");
}
if(current==9){
l.setText("Que10: SQL Stands For_?");
jb[0].setText("Structured Qurey Language");
jb[1].setText("Sequentail Qurey Language");
jb[2].setText("Structured Question Language");
jb[3].setText("sequentail Qurey Language");
}
l.setBounds(30,40,450,20);
for(int i=0,j=0;i<=90;i+=30,j++)
jb[j].setBounds(50,80+i,200,20);
}
boolean check(){
if(current==0)
return(jb[0].isSelected());
if(current==1)
return(jb[0].isSelected());
if(current==2)
return(jb[3].isSelected());
if(current==3)
return(jb[1].isSelected());
if(current==4)
return(jb[1].isSelected());
if(current==5)
return(jb[2].isSelected());
if(current==6)
return(jb[0].isSelected());
if(current==7)
25
return(jb[3].isSelected());
if(current==8)
return(jb[0].isSelected());
if(current==9)
return(jb[0].isSelected());
return false;
}
public static void main(String s[]){
new OnlineExam("Online Exams");
}
}
Mention the actual resources used)
1 Laptop/Computer 1
2 Internet
26
It was a great experience to design and implement the Swing using Advanced Java programming and
also to work on its documentation. This project helped me in getting the better understanding of Swings
and AWT Components of Advanced Java Programming. After doing this project, I am in position to
27
explain concepts of Advanced Java Programming and apply them to the modelling of real-world
systems by utilizing its offered facilities. I am now able to handle events of AWT and swing
components and also develop programs using networking concepts.
1. Better Practical Assessments: Incorporate real-world scenarios and improve tools to evaluate code
quality, efficiency, and readability.
2. Enhanced Academic Integrity: Use AI-driven proctoring and advanced plagiarism detection systems.
3. Personalized Learning: Implement adaptive testing and provide targeted feedback to address
individual student needs.
4. Collaborative Testing: Introduce pair programming or group tasks, and integrate version control for
better real-world skill application.
5. Improved User Experience: Make platforms more user-friendly and accessible, including mobile
support.
28
…………………………………………………………
……………………………………
……………………………………………………………
…
…………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………
…………..
……………………………………………………………………………………………………………………………………
……………
……………………………………………………………………………………………………………………………………
…………….
29
Sample Size Sufficient and Sufficient and Enough data
small, data appropriate appropriate collected by
neither sample, sample, sufficient and
organized nor enough data enough data appropriate
presented well generated but generated sample size.
not organized which is Proper
and not organized and inferences
presented presented well drawn by
well. No or but poor organising and
poor inferences presenting
inferences drawn data through
drawn tables, charts
and graphs.
30
Signature:…………………………………………..
Date:……………………………………
31
32