Course Management System
Course Management System
Course Management System
CONTENT
1. INTRODUCTION-
RELATIONAL DATABASE
SQL
PL/SQL
ORACLE
FRONT END TOOLS (VISUAL 6.0)
3. RESOURSE METHODOLOGY-
4. SYSTEM ANALYSIS-
PROBLEM IDENTIFICATION
PROPOSED SYSTEM
FEASIBILITY STUDY
CONVERSION OF RELATIONS
EXISTING SYSTEM DESIGN
5. SYSTEM DESIGN-
NORMALISATION
DATA DICTIONARY
INPUT DESIGNS
CODING
TESTING
IMPLIMENTATION
MAINTENANCE
7. CONCLUSION-
CONCLUSION AND POSSIBLE FURTHER STUDIES
1
COURSE MANAGEMENT SYSTEM
INTRODUCTION
Admin Module :
Instructor Module :
Student Module :
He/She Can Also Check The grades provided by the Instructor for
His/Her Homework.
2
COURSE MANAGEMENT SYSTEM
1.2 CONCLUSION:-
Online course portal project is developed
in java platform. The main aim of this system is to implement an
online based mostly portal with education data which is able to
be helpful for faculty students. on-line education is one o f the
quick growing field on internet wherever users will directly solve
issues by visiting web site with none facilitate from academics.
This method had inflated scope of on-line education and on-line
courses. in conjunction with on-line courses this computer are
often updated with alternative data like job updates, on-line
communication details, coming events, government job, and tips
for teaching.
3
COURSE MANAGEMENT SYSTEM
4
COURSE MANAGEMENT SYSTEM
E.g.,
STUDENT DEPT
STUDENT# NAME DEPT# DEPT# DNAME
1 Xxx 10 10 Phy.
2 Yyy 10 20 Chem.
3 Zzz 20 30 CS
5
COURSE MANAGEMENT SYSTEM
2.2. SQL
The formal languages provide concise notation for representing
queries. However, commercial database systems require a query
language that is more users friendly. The most influential
commercially marketed query language is SQL. SQL is a non-
procedural language i.e., the user describes the desired information
without giving a specific procedure for obtaining that information.
SQL user a combination of relational-algebra and relational-calculus
constructs. Although we refer to SQL language as a “query
language,” it can do much more than just query a database. It
can define the structure of the data, modify data in the database,
and specify security constraints.
The SQL language has several parts:
Data-definition language (DDL). The SQL DDL provides
commands for defining relation schemas, deleting relations, and
modifying relation schemas.
Interactive data-manipulation language (DML). The SQL
DML includes a query language based on both relational-algebra and
the tuple relational calculus. It includes also commands to insert
tuples into, delete tuples from, and modify tuples in the database.
6
COURSE MANAGEMENT SYSTEM
7
COURSE MANAGEMENT SYSTEM
Example:
Select A1,A2,…,An
From T1,T2,…,Tm
Where P
Each Ai represents an attribute, and each Ti represents a
relation. P is a predicate.
2.3. PL/SQL
8
COURSE MANAGEMENT SYSTEM
EXAMPLE:
declare
xyz number (3);
begin
select 12*12 into xyz
from dual;
insert into temp values (xyz);
end;
Here xyz is an integer declared, dual is a dummy table, and temp is an
existing table.
2.4. ORACLE
Oracle is one of the RDBMS package.
2.4.1. BENEFITS OF USING ORACLE:-
1. Large data bases and space management control:-
Oracle supports the largest of
Databases.
2. Many concurrent database users:-
It supports a large no. of concurrent
Data base users executing a variety of data base
application.
3. Hide transaction process performance:-
Data base users do not suffer from
slow processing performance.
4. High availability:-
In some sites oracle works for 24
hours per day and in normal system operation such data
bases break up and partial computer system failure do not
interrupt data base use.
5. Controlled availability:-
Oracle ca n selectively control the
availability of data at the data base level and sub data level.
6. Industry accepted standards:-
It satisfy the require standard for the
data access languages, operating system user interface and
networking command protocols.
9
COURSE MANAGEMENT SYSTEM
7. Manageable Security:-
To protect against unauthorized
data base access and use Oracle provide fail and safe
security feature to limit and minitror data access.
8. Data base enforce Integrity:-
It enforce data integrity, it
supports client server environment.
9. Distributed Data Base System:-
Oracle combines the data physically
located on different computer to one logical data base that
can be accessed by all data base users. Distributed system
has the same degree of transparency and consistency as in
distributed system and receive the advantages of local data
base management .
10. Portability:-
Application developed for Oracle can be
proved to any operating system with little or no
modification.
11. Connectivity:-
Oracle allows different types of computers
and operating system to share information across networks.
10
COURSE MANAGEMENT SYSTEM
Table space:
A database is divided into logical storage units called
table space. A database may have one or more table spaces.
Each table space has one or more data files.
Table:
A table is the basic unit of data storage in an Oracle
database. The tables of the database hold all of the user
accessible data.
Views:
A view is a custom-tailored presentation of the data in
one or more tables. It can also thought as stored query.
Sequence:
A sequence simplifies the application program by
generating a serial list of unique numbers for a numeric column
in database.
11
COURSE MANAGEMENT SYSTEM
12
COURSE MANAGEMENT SYSTEM
Wastage Of Paper:
There is a lot of paper wastage because
the staff uses a lot of registers and books to store the data of
hundreds of students every year.
Data Duplicacy:
Before entering every record they have to make
sure that the same record doesn’t exist. They have to check the
same for every record while entering the data into every register.
Scattered Data:
When all the data about a particular
student is needed, the employee has to search for all the
scattered records which takes a long time to collect.
Data Security:
The data stored in the registers and books
is not secure as any unauthorized person can access the data at
anytime without the will and permission of the administration
staff.
Inefficient Reports:
The report required by the management
cannot be obtained immediately and it requires extensive effort
by the staff and officials to generate a simple report, which is
often error prone.
Roll Number: The system of roll numbering a student is also
not convenient as the roll numbers are getting repeated every
three years. This may lead to the confusion while retrieving the
data about a particular student unless he mentions his year of
joining. If we use this kind of roll numbering even after
computerization of this Course Management System then we
will face problems for the uniqueness of student as roll number
is the primary key for the identification of the student.
13
COURSE MANAGEMENT SYSTEM
14
COURSE MANAGEMENT SYSTEM
4.4.1.1 STUDETAIL:-
{ Roll no, Name, Date Of Birth,
Registration Number, Tc Number, Sex, Religion, Category,
Nationality, Marital Status, Mother Tongue, Father’s Name,
Father’s Occupation, Course Taken, Staying With, Date Of
Admission, Phone, Present Address, Permanent Address }.
4.4.1.2 ACADEMIC:-
{ Roll no, Class, Name Of Board/University Passed, Name Of
School/College Passed, Maximum Marks, Marks Secured,
Division, Status, Year Of Passing}.
4.4.1.3 SPECIAL:-
{Roll no, Nss, NCC, Sports, Cultural Activities}.
4.4.1.4 COURSE:-
{C_id, C_name}.
4.4.1.5 DUES:-
{Roll no, Year, Fine Clearance, Fees Clearance}.
4.4.1.6 ATTENDANCE:-
{Roll no, Year, Month, Number Of Working Days, Number Of
Days Present}.
4.4.1.7 EXAMINATION
{Roll no, Year, Month, Status (i.e. the Student appeared the
examination or not), Examination Name, C_id, Maxmarks,
Marksec}.
15
COURSE MANAGEMENT SYSTEM
4.4.2.6. PAY:-
It is a one-to-many relationship set that associates the entity set
STUDENT and the entity set DUES.
16
COURSE MANAGEMENT SYSTEM
17
COURSE MANAGEMENT SYSTEM
18
COURSE MANAGEMENT SYSTEM
the exam or not, the maximum mark of the exam and the mark
secured by the student.
5.1 NORMALIZATION
5.1.1 STUDETAIL:-
Before normalization the STUDETAIL table was as follows:-
5.1.1.1 STUDETAIL:-
ROLLNO
NAME
DOB
REGDNO
SEX
RELIGION
CATEGORY
NATION
MS
DOA
MTONGUE
TCNO
FNAME
FOCCUPATION
STAYING WITH
PRESENT ADDRESS
PERMANENT
ADDRESS
COURSE TAKEN
1NF:
19
COURSE MANAGEMENT SYSTEM
ROLLNO
NAME
DOB
REGDNO
SEX
RELIGION
CATEGORY
NATION
MS
DOA
MTONGUE
TCNO
FNAME
FOCCUPATION
STAYING WITH
PRESENT
ADDRESS
PERMANENT
ADDRESS
COMPULSORY 1
COMPULSORY 2
OPTIONAL 1
OPTIONAL 2
OPTIONAL 3
FOURTH OPTIONAL
COMPULSORY 1
COMPULSORY 2
COMPULSORY 3
COMPULSORY 4
MAJOR ELECTIVE
MINOR ELECTIVE
CORE COURSE 1
CORE COURSE 2
CORE COURSE 3
CORE COURSE 4
STATUS
2NF:
The relation STUDETAIL is already in 2NF as it is in 1NF
and all non-key attributes are dependent on key attribute
ROLLNO.
20
COURSE MANAGEMENT SYSTEM
3NF:
In this relation, when the record of a +2 student is
entered, then the Compulsory 1, Compulsory 2, Optional 1,
Optional 2, Optional 3 and Fourth Optional fields are filled up
and all other fields are remains empty. Similarly for +3 some
other fields are filled up and all other fields are remaining blank.
As a result, it is observed that most of the column names remain
blank for a specific record.
Hence, the relation STUDETAIL is splitted into the
following relations:-
(I) STUDENT
(II) STUDENT_HIGHER_SECONDARY
(III) STUDENT-DEGREE
Hence, the STUDETAIL
relation is separated into three different tables by which it will be
in 3NF and the relations are as follows:-
5.1.1.3(a) STUDENT-
ROLLNO
NAME
DOB
REGDNO
SEX
RELIGION
CATEGORY
NATION
MS
DOA
MTONGUE
TCNO
FNAME
FOCCUPATION
STAYING WITH
PRESENT ADDRESS
PERMANENT
ADDRESS
5.1.1.3(b) STUDENT-HIGHER-SECONDARY-
21
COURSE MANAGEMENT SYSTEM
ROLLNO
COMPULSORY 1
COMPULSORY 2
OPTIONAL 1
OPTIONAL 2
OPTIONAL 3
FOURTH
OPTIONAL
5.1.1.3(c) STUDENT-DEGREE:-
ROLLNO
STATUS
HONOURS
COMPULSORY 1
COMPULSORY 2
COMPULSORY 3
COMPULSORY 4
MAJOR ELECTIVE
MINOR ELECTIVE
CORE COURSE 1
CORE COURSE 2
CORE COURSE 3
5.1.2. COURSE:-
Before normalization the COURSE table
was as follows:-
5.1.2.1. COURSE:-
C-ID
C_NAM
E
1NF:
The relation COURSE is in 1NF as all its attributes are
atomic data items.
2NF:
22
COURSE MANAGEMENT SYSTEM
5.1.2.2 COURSE:-
C-ID
C_NAM
E
5.1.3 ATTENDANCE:-
Before normalization the table
was as follows:-
5.1.3.1 ATTENDACCE:-
ROLLNO
YEAR
MONTH
NO. OF WORKING
DAYS(NOWD)
1NF:
NO. OF DAYS PRESENT(NODP)
The
relation ATTENDANCE is in 1NF as all its attributes values
are atomic data items.
2NF:
The relation is already in 2NF. Because it is already in
1Nf and non-key attributes NO. OF DAYS PRESENT (NODP),
NO. OF WORKING DAYS (NOWD) and MONTH are fully
functional dependent on the key attributes ROLLNO and
YEAR.
3NF:
It is already in 3NF. Because it is already in 2NF and all
non-key attributes MONTH, NO. OF DAYS PRESENT (NODP)
are independent to each other. Hence, it is in 3NF.
23
COURSE MANAGEMENT SYSTEM
ROLLNO
YEAR
MONTH
NO. OF WORKING
DAYS(NOWD)
NO. OF DAYS PRESENT(NODP)
5.1.4 DUES:-
Before normalization the DUES relation is as
follows:-
5.1.4.1 DUES:-
ROLLN
O
YEAR
FEES
FINES
1NF:
The relation DUES is in 1NF. As all the attributes values
are atomic data items.
2NF:
The relation is already in 2NF. Because it is already in 1NF
and all non-key attributes fees and fines are fully functionally
dependent on ROLLNO.
3NF:
The relation is already in 3NF. Because it is already in 2NF
and all non-key attributes fees and fines are independent to each
other.
Hence, after
normalization the relation will be as follows:-
5.1.4.2 DUES:-
ROLLN
O
24
COURSE MANAGEMENT SYSTEM
YEAR
FEES
FINES
5.1.5.1 SPECIAL:-
ROLLNO
NCC
NSS
SPORTS
CULTURAL
1NF:
The relation is in 1NF. As all its attributes values are
atomic data items.
2NF:
It is already in 2NF. Because it is already in 1NF and all its
non-key attributes NCC, NSS, SPORTS, CULTURAL are fully
dependent on ROLLNO.
3NF:
It is already in 3NF. As it is in 2NF and all non-key
attributes NCC, NSS, SPORTS, CULTURAL are independent to
each other.
5.1.6.1 ACADEMIC:-
ROLLNO
CLASS
25
COURSE MANAGEMENT SYSTEM
NAME OF BOARD/UNIVERSITY
PASSED (NOBU)
NAME OF SCHOOL/COLLEGE
PASSED (NOSC)
ANNUAL/SUPPLIMENTARY (STATUS)
MAXIMUM MARKS (MAXMARKS)
MARKSECURED (MARKSEC)
DIVISION
YEAR OF PASSING (YOP)
1NF:
It is already in 1NF. As all attributes values are atomic
data items.
2NF:
It is already in 2NF. As it is in 1NF and all non-key
attributes are fully functionally dependent on key attribute
ROLLNO.
3NF:
It is already in 3NF. As it is in 2NF and all non-key
attributes are independent to each other.
Hence, after normalization the relation will as
follows:-
5.1.6.2 ACADEMIC:-
ROLLNO
CLASS
NAME OF BOARD/UNIVERSITY
PASSED (NOBU)
NAME OF SCHOOL/COLLEGE
PASSED (NOSC)
ANNUAL/SUPPLIMENTARY (STATUS)
MAXIMUM MARKS (MAXMARKS)
MARKSECURED (MARKSEC)
DIVISION
YEAR OF PASSING (YOP)
26
COURSE MANAGEMENT SYSTEM
5.1.7.1 EXAMINATION:-
ROLLNO
YEAR
MONTH
C_ID
EXAMINATION NAME (ENAME)
EXAMINATION STATUS (ESTATUS)
MAXIMUM MARKS (MAXMARKS)
MARK SECURED (MARKSEC)
1NF:
It is already in 1NF. As all attributes values are atomic
data items.
2NF:
It is in 1Nf. But the non-key attributes MONTH,
EXAMINATION NAME (ENAME), EXAMINATION STATUS
(ESTATUS) are fully functional dependent on key attributes
ROLLNO and YEAR. On the other hand the non-key attributes
MONTH, MAXIMUM MARKS (MAXMARKS), MARKSECURED
(MARKSEC) are fully dependent on all the key attributes
ROLLNO, YEAR, C_ID.C_ID, MAXMARKS, and MARKSEC are
multivalued data items. Hence, by making two relations the
relation can be made in 2NF.
So, after 2NF the relation will as follows:-
(I) EXAMINATION
DETAIL
(II) MARKS DETAIL
ROLLNO
YEAR
MONTH
EXAMINATION NAME (ENAME)
EXAMINATION STATUS
(ESTATUS)
27
COURSE MANAGEMENT SYSTEM
ROLLNO
YEAR
MONTH
C_ID
MAXIMUM MARKS (MAXMARKS)
MARK SECURED (MARKSEC)
3NF:
It is already in 3NF. As it is in 2NF and all non-key
attributes are independent to each other.
Hence, after normalization the relation will as
follows:-
ROLLNO
YEAR
MONTH
EXAMINATION NAME (ENAME)
EXAMINATION STATUS (ESTATUS)
ROLLNO
YEAR
MONTH
C_ID
MAXIMUM MARKS (MAXMARKS)
MARK SECURED (MARKSEC)
5.2.1. STUDETAIL:-
28
COURSE MANAGEMENT SYSTEM
29
COURSE MANAGEMENT SYSTEM
30
COURSE MANAGEMENT SYSTEM
he/she is staying
permanently while studying
in the college.
PERSTATE CHARACTE 20 It shows the permanent
R state name of the student
where he/she is staying
permanently while studying
in the college.
PERPIN NUMBER 6 It shows the permanent
city’s code or pin number of
the student where he/she
is staying permanently
while studying in the
college.
6.2 Testing
Every software developed must be tested for its efficiency
and consistency. There are two types of testing. Namely:
Unit testing and
Integrated testing
6.2.1 Unit testing
31
COURSE MANAGEMENT SYSTEM
6.3 IMPLIMENTATION
After all the coding is over and testing is over from end users and
officials the next step is system implementation. System
implementation contains:
System Manual
User Manual
6.3.1 System Manual:
This has all information about hardware and
software requirements, and how the system is to be installed.
Some of the salient features of the project are:
Requirements:
32
COURSE MANAGEMENT SYSTEM
Hardware Requirements:
The machine and accessories are used-
Machine – Pentium –III
Processor – 733 MHz
Main Storage – 69MB
Hard Disk – 20GB
Printer -- Laser
Software Requirements:
Installation:
To install the Course Management System project
go to the Package folder and open it. There will be a file called
setup.exe just double click it to run the installing program. The
project will be then automatically installed.
33
COURSE MANAGEMENT SYSTEM
Administrator Login:
Administrator can also log into the system as does the
user, with his username and password. He also then gets the
34
COURSE MANAGEMENT SYSTEM
Report Generation:
Here, first the user has to click in a
combo box on the type of report he wants and then click on the
report command button. Then there he gets a common dialog
box to make the user to select the kind of file for output where
the output can be stored.
Data Modification:
Here the user can modify the data if
suppose he thinks that he has entered any wrong data.
6.4 MAINTENANCE:
The main aspect of maintenance is providing
Database Backup and Recovery, Import and Export.
6.4.1 Database Backup and Recovery:
A DBMS must provide facility for recovering from
hardware or software failures. The backup and recovery
subsystem of the DBMS is responsible for recovery. For
Example, if the computer system fails in the middle of a
complex update program, the recovery subsystem is
responsible for making sure that the database is stored to
the state it was in before the program started executing.
Alternatively, the recovery subsystem could ensure that the
program is resumed from the point at which it was
interrupted so that its full effect is recorded in the database.
6.4.2 Import and Export:
In this application as we are using Oracle as the
back end for data storage, we use the import and export facilities
35
COURSE MANAGEMENT SYSTEM
In the traditional 2-tier architecture there existed only the server and
the client. In most cases the server was only a data base server that
can only offer data. Therefore majority of the business logic i.e.,
validations etc. had to be placed on the clients system. This makes
maintenance expensive. Such clients are called as ‘fat clients’. This
also means that every client has to be trained as to how to use the
application.
36
COURSE MANAGEMENT SYSTEM
37
COURSE MANAGEMENT SYSTEM
User interface
Application logic
XML
documents
38
COURSE MANAGEMENT SYSTEM
A JSP page is a text document that contains two types of text: Static
data, which can be expressed in any text-based format (such as
HTML, SVG, WML, and XML) and JSP elements, which construct
dynamic content.
The recommended file extension for the source file of a JSP page is
.jsp. The page can be composed of a top file that includes other files
that contain either a complete JSP page or a fragment of a JSP page.
The JSP elements in a JSP page can be expressed in two syntaxes—
standard and XML ---- through any given file can use only one
syntax. A JSP page in XML syntax is an XML document and can be
manipulated by tools and APIs for XML documents.
ASP is similar technology from MS. The advantages of JSP are twofold.
First, the dynamic part is written in JAVA, not VB or other MS-specific
language, so it is more powerful and easier to use. Second it is
portable to other OS and Non-MS Web servers. The main features of
JSP technology are as follows:
A language for developing JSP pages, which are text-based
documents that describe how to process a request and
construct a response.
An expression language for accessing server-side objects.
Mechanisms for defining extensions to the language.
39
COURSE MANAGEMENT SYSTEM
A JSP is simple text file consisting of HTML content along with JAVA
code called as JSP elements. When a client requests a JSP page of the
web server and it has not been run before, the page is first passed to
the JSP engine which compiles the page to a servlet, runs it and
returns the resulting contents to the client. Thereafter, the Web
server’s servlet engine will run the compiled page. The first time you
access a JSP page, you may notice that it takes a short time to
responds. This is time necessary for server to create and compile the
background servlet. Subsequent requests would be faster because the
server can reuse the servlet. The one exception is when .jsp files
changes in which case the server notices and recompiles a new
background servlet. If there is even an error in compiling, you can
expect the server to somehow report the problem usually in the page
returned to the client.
A JSP page services requests as a servlet. Thus the life cycle and
many of the capabilities of JSP pages (in particular the dynamic
aspects) are determined by JAVA servlet technology. You will notice
that many sections in this chapter refer to classes and methods as
follows:
40
COURSE MANAGEMENT SYSTEM
JSP elements are the part of the JSP page which is processed on the
server. The elements can be classified in to the categories:
Scriptlets.
Expressions.
Declarations.
Directives.
Standard Actions.
For client side validation we are using JavaScript and HTML in our
program.
D.1 JavaScript
With HTML you are restricted to creating static, non interactive web
pages. This in today’s internet standards is unacceptable. With
JavaScript, you can change that. Adding interactivity to a web site is
not limited to server-side programs. The client side of the web, the
browser, can generally execute code in the forms of scripting. For
HTML writers, the easiest way to being adding dynamic aspects to a
web page is through client-side scripting using JavaScript or
VBScript.
41
COURSE MANAGEMENT SYSTEM
42
COURSE MANAGEMENT SYSTEM
Conclusion:
This system is developed to fulfill the requirements of
the end users who are going to use this system. This system can
be used by any college if they all follow the same procedure.
Some of the salient features of this system being:
43
COURSE MANAGEMENT SYSTEM
Screenshots :
Login Screen :
Admin Login
Course Creation
44
COURSE MANAGEMENT SYSTEM
Student Creation
Create Instructor
Student Login
45
COURSE MANAGEMENT SYSTEM
Student Menu
Check Courses
Upload Homework
46
COURSE MANAGEMENT SYSTEM
Upload Homework
47
COURSE MANAGEMENT SYSTEM
CODING :
index.html
Home Page.html
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
</head>
<body>
<h3>BlackBoard Super Lite!</h3>
<form>
<table border="1" width="100%" cellpadding="3"
cellspacing="3">
<tr>
<td><a href="studentServlet">Student</a></td>
<td><a
href="InstructorLoginPage.jsp">Instructor</a></td>
<td><a
href="AdministratorLoginPage.xhtml">Administrator</a></td>
</tr>
</table>
</form>
</body>
</html>
InstructorLoginPage.jsp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
48
COURSE MANAGEMENT SYSTEM
<title>Instructor Log in</title>
</head>
<body>
<h1>Instructor Log In:</h1>
<form method="post" action = "InstructorValidation.jsp">
<table border="0" width="300" cellpadding="3"
cellspacing="3">
<tr>
<td>Username:</td>
<td><input type = "text" name = "username" size =
"20"> </br></td>
</tr>
<tr>
<td>Password:</td>
<td><input type = "text" name = "password" size =
"20"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Confirm" ></td>
</tr>
</table>
</form>
</body>
</html>
InstructorValidation.jsp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Instructor Validation Page</title>
</head>
<body>
if (userName.equals("") || password.equals("")) {
out.print("Username and password required");
} else {
instructor.setLogInInfo(userName, password);
if (instructor.isInDatabase()) {
49
COURSE MANAGEMENT SYSTEM
out.println("<table border=\"0\"
style=\"background-color:\" width=\"100%\" cellpadding=\"3\"
cellspacing=\"3\">");
out.println("<tr>");
out.println("<td>Welcome " +
instructor.getFirstName() + " " + instructor.getLastName() +
"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><a
href=\"InstructorCoursePage.jsp\">Assign Hw</a></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><a
href=\"InstructorGradePage.jsp\">Assign Grade</a></td>");
out.println("</tr>");
out.println("</table>");
} else {
out.print("Please contact your instructor to
ensure you are in the system");
out.println("<p><form method=\"get\" action=" +
"InstructorLoginPage.jsp>");
out.println("<p><input type=\"submit\" value=\"Go
Back\" >");
out.println("</form>");
}
}
%>
</body>
</html>
InstructorAssignHW.jsp
50
COURSE MANAGEMENT SYSTEM
out.print("Creating hw file");
instructor.assignHw(course, homeworkAssignment);
out.print("<br/>");
out.println("<a href=\"InstructorCoursePage.jsp\">Go to
Instructor Main Menu</a>");
%>
</body>
</html>
InstructorChooseHW.jsp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Pick hw to grade</h1>
<% String student =
request.getParameter("studentInstructing");
session.setAttribute("student", student);
String course = (String) session.getAttribute("course");
InstructorCoursePage.jsp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
51
COURSE MANAGEMENT SYSTEM
<title>Instructor Courses</title>
</head>
<body>
<H3><u>Instructor Homework menu</u></H3>
<%
ArrayList<String> courses = instructor.getCourses();
out.println("<form method=\"post\" action
= \"InstructorAssignHW.jsp\">");
</br>
Please enter your text:
</br>
<textarea name="homeworkAssignment" rows="5"></textarea>
</br>
<%
out.print("<input type=\"submit\" value=\"Pick Course\"
>");
%>
</body>
</html>
InstructorGradePage.jsp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Pick Course</title>
</head>
<body>
<h3>Pick course to assign grades</h3>
<%
ArrayList<String> courses = instructor.getCourses();
out.println("<form method=\"post\" action
= \"InstructorAssignGradePage.jsp\">");
52
COURSE MANAGEMENT SYSTEM
out.print("<option value = " + courses.get(i) + ">" +
courses.get(i) + "</option>");
}
out.print("</select>");
InstructorAssignGradePage.jsp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Pick Student</title>
</head>
<body>
<h1>Pick Student to grade!</h1>
<%
String course = request.getParameter("courseInstructIn");
session.setAttribute("course", course);
ArrayList<String> students =
instructor.getStudents(course);
out.println("<form method=\"post\" action
= \"InstructorChooseHw.jsp\">");
InstructorConfirmGrade.jsp
<!DOCTYPE html>
<html>
<head>
53
COURSE MANAGEMENT SYSTEM
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Grade has been submitted</h1>
<a href="InstructorGradePage.jsp">Go Home</a>
</body>
</html>
InstructorSubmitGrade.jsp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Confirm</h1>
<%
String student = (String)
session.getAttribute("student");
String course = (String) session.getAttribute("course");
String hwNumber = request.getParameter("hwChoosen");
String grade = request.getParameter("hwgrade");
%>
</body>
</html>
AdministratorLoginPage.xhtml
54
COURSE MANAGEMENT SYSTEM
<h:form>
<h:panelGrid columns="3">
<h:outputLabel value="UserName:"/>
<h:inputText id="username"
value="#{account.userName}">
</h:inputText>
<h:message for="nameInputText" style="color:red"/>
<h:outputLabel value="Password:"/>
<h:inputText id="password"
value="#{account.password}">
</h:inputText>
<h:message for="nameInputText" style="color:red"/>
</h:panelGrid>
<h:commandButton value="Submit"
action="#{account.validateAdministrator}" />
</h:form>
</h:body>
</html>
AdministratorNotFoundPage.xhtml
AdministratorNotValidatePage.xhtml
55
COURSE MANAGEMENT SYSTEM
AdministratorValidatePage.xhtml
<br/>
<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage">
<h:outputText value="Create Instructor Account"/>
</h:commandLink>
<br/>
</h:body>
</html>
CourseCreatedPage.xhtml
<h:form>
56
COURSE MANAGEMENT SYSTEM
<br/>
<h:commandLink id="studentAccountLink"
action="StudentCreateAccountPage">
<h:outputText value="Create Student Account"/>
</h:commandLink>
<br/>
<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage">
<h:outputText value="Create Instructor Account"/>
</h:commandLink>
<br/>
</h:form>
</h:body>
</html>
CourseCreatePage.xhtml
57
COURSE MANAGEMENT SYSTEM
</h:selectManyMenu>
<br/>
<h:outputLabel value="Select Students: "/>
<h:selectManyMenu
id="student_selectManyMenu"
value="#{course.selectStudents}">
<f:selectItems
value="#{course.studentsList}"/>
</h:selectManyMenu>
<br/>
<h:commandButton value="Submit"
action="#{course.courseCreationProcess}" />
</h:form>
</h:body>
</html>
CourseCreationerrorPage.xhtml
InstructorCreateAccountPage.xhtml
58
COURSE MANAGEMENT SYSTEM
validatorMessage="Name must have 1 to 10
chars"
value="#{tempInsructorAccount.userName}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="username" style="color:red"/>
value="#{tempInsructorAccount.confirmUserName}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="confirmusername" style="color:red"/>
<h:outputLabel value="Password:"/>
<h:inputText id="password" required="true"
requiredMessage="Password is required"
validatorMessage="password must have 1
to 10 chars"
value="#{tempInsructorAccount.password}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="password" style="color:red"/>
value="#{tempInsructorAccount.confirmPassword}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="confirmpassword" style="color:red"/>
59
COURSE MANAGEMENT SYSTEM
<h:inputText id="lastname" required="true"
requiredMessage="Last name is required"
validatorMessage="Last name must have 1
to 20 chars"
value="#{tempInsructorAccount.lastName}">
<f:validateLength minimum="1" maximum="20" />
</h:inputText>
<h:message for="lastname" style="color:red"/>
<h:outputLabel value="ID:"/>
<h:inputText id="idcode" required="true"
requiredMessage="ID is required"
validatorMessage="ID must have 4 chars"
value="#{tempInsructorAccount.id}">
<f:validateLength minimum="4" maximum="4" />
</h:inputText>
<h:message for="idcode" style="color:red"/>
</h:panelGrid>
<h:commandButton value="Submit"
action="#{tempInsructorAccount.registrationProcess()}" />
</h:form>
</h:body>
</html>
InstructorCreatedPage.xhtml
60
COURSE MANAGEMENT SYSTEM
InstructorCreationErrorPage.xhtml
StudentCreateAccountPage.xhtml
61
COURSE MANAGEMENT SYSTEM
</h:inputText>
<h:message for="confirmusername" style="color:red"/>
<h:outputLabel value="Password:"/>
<h:inputText id="password" required="true"
requiredMessage="Password is required"
validatorMessage="password must have 1
to 10 chars"
value="#{tempStudentAccount.password}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="password" style="color:red"/>
value="#{tempStudentAccount.confirmPassword}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="confirmpassword" style="color:red"/>
<h:outputLabel value="ID:"/>
<h:inputText id="idcode" required="true"
requiredMessage="ID is required"
validatorMessage="ID must have 4 chars"
value="#{tempStudentAccount.id}">
<f:validateLength minimum="4" maximum="4" />
</h:inputText>
<h:message for="idcode" style="color:red"/>
62
COURSE MANAGEMENT SYSTEM
</h:panelGrid>
<h:commandButton value="Submit"
action="#{tempStudentAccount.registrationProcess()}" />
</h:form>
</h:body>
</html>
StudentCreatedPage.xhtml
63
COURSE MANAGEMENT SYSTEM
BIBLIOGRAPHY
[1] http://www.merucabs.com
[2] http://www.irctc.co.in
[3] Bayross I., “SQL, PL/SQL: The Programming Language of Oracle”, 3 rd
Ed., BPB Publications: New Delhi, 2002.
[4] Navathe, Gupta, “Fundamentals of Database Systems”, 4 th Ed.,
Pearson Education Pvt. Ltd.: New Delhi, 2007.
[5] Xavier C., “Web Technology and Design”, 3 rd Ed., New Age
International Pvt. Ltd. : New Delhi, 2005;
[6] Shiran Y & T., “Learn Advanced JavaScript Programming”, 2 nd Ed.,
BPB Publications: New Delhi, 2000.
64
COURSE MANAGEMENT SYSTEM
CONCLUSION
65