0% found this document useful (0 votes)
209 views92 pages

MCF Project Report

This document describes a mini project report for developing an Android application called "My Course Finder". It was developed by three students - Ajo P Thomas, Jacob George, and Jithu Jayakumar at Kristu Jyoti College of Management and Technology under the guidance of their project guide Mr. Manu Prabhakar. The application helps students choose appropriate college courses by allowing them to view course fees, durations, and compare courses across different colleges. It also allows students to apply for courses via email.

Uploaded by

AFIN VINCENT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
209 views92 pages

MCF Project Report

This document describes a mini project report for developing an Android application called "My Course Finder". It was developed by three students - Ajo P Thomas, Jacob George, and Jithu Jayakumar at Kristu Jyoti College of Management and Technology under the guidance of their project guide Mr. Manu Prabhakar. The application helps students choose appropriate college courses by allowing them to view course fees, durations, and compare courses across different colleges. It also allows students to apply for courses via email.

Uploaded by

AFIN VINCENT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 92

MY COURSE FINDER

MY COURSE FINDER
Mini Project report submitted to
KRISTU JYOTI COLLEGE OF MANAGEMENT AND TECHNOLOGY
Changanacherry
In partial fulfillment of the requirements for the award of the
MASTER OF COMPUTER APPLICATIONS (M.C.A.)
By
AJO P THOMAS (600152)
JACOB GEORGE (600164)
JITHU JAYAKUMAR (600165)
Under the guidance of

Mr. Manu Prabhakar

DEPARTMENT OF COMPUTER APPLICATIONS

KRISTU JYOTI COLLEGE OF MANAGEMENT &TECHNOLOGY,

CHANGANACHERRY

APRIL 2017

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

KRISTU JYOTI COLLEGE OF MANAGEMENT &


TECHNOLOGY
Changanacherry
DEPARTMENT OF COMPUTER APPLICATIONS

CERTIFICATE

Certify that the report entitled “MY COURSE FINDER” is a bonafide record of the mini
project work done by Ajo P Thomas (600152), Jacob George (600164) and Jithu Jayakumar
(600165) under our guidance and supervision is submitted in partial fulfillment of the Master
Degree in Computer Applications, awarded by Mahatma Gandhi University, Kottayam, Kerala
and that no part of this work has been submitted earlier for the award of any other degree.

Mr.Manu Prabhakar Mr. Roji Thomas Rev.Fr.Joshy Cheeramkuzhy CMI

(Project guide) (Course-In-Charge) (Principal)

External Examiner Internal Examiner

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

DECLARATION

We, hereby declare that the project work entitled MY COURSE FINDER
submitted to Mahatma Gandhi University in partial fulfillment of the requirements for the
award of degree of Master of Computer Applications, is a record of original work done by us
under the guidance of Mr. Manu Prabhakar, Faith Infosys, Changanacherry, during the period
from March 3, 2017 to May 4, 2017.This project work not been submitted in part or full of
any other degree of this University or any other University.

Place: Changanacherry Ajo P Thomas (600152)


Date:
Jacob George (600164)

Jithu Jayakumar (600165)

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

ACKNOWLEDGEMENT

It gives us immense pleasure to express our heartfelt thanks to all those who helped us
in the successful completion of our project MY COURSE FINDER. First and foremost we
express our sincere thanks to God for all his blessings which helped us to achieve our goal.
We wish to express our deep sense of gratitude to our respected Principal, Fr. Joshy
Cheeramkuzhy CMI whose advice was a real encouragement to us and we are deeply
indebted to our Course-In-Charge ,Assistant Prof. Mr. Roji Thomas, Department of
Computer Applications for imparting his excellent guidance to successfully complete this
project and to our project guide, Mr. Manu Prabhakar, Faith Infosys, for his timely
suggestions and constant encouragement, which paved the way for the successful completion
for this project .
At the outset we extend our sincere thanks to all the staff members of our college. And
we extent our sincere thanks to our parents and to our friends for their moral support and
encouragement for the successful completion of this project.

Ajo P Thomas

Jacob George

Jithu Jayakumar

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

ABSTRACT

My course finder is an android application that helps the students to choose the
appropriate college among the different colleges. The students can also view the
fee structure of each course and the duration of the course. They can compare
the same courses in different colleges. This application is also provide the
facility to apply for the courses through e-mail. If any further clarification about
the college needed they can contact college through the application.

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

CONTENTS
Title Page
No:

1. INTRODUCTION………………………………………………………. .2

2. ANDROID …………………………………………………………………3

3. ABOUT JAVA ………………………………………………………... …12

4. ABOUT SQLite …………………………………………………………..17

5. SYSTEM ANALYSIS
2.1 EXISTING SYSTEM………………………………………………….. 21
2.2 PROPOSED SYSTEM………………………………………………… 21
2.3 FEASIBILITY STUDY………………………………………………... 22

3. SOFTWARE ENGINEERING PARADIGM APPLIED………………25

4. HARDWARE SOFTWARE REQUIREMENTS……………………… 28

5. SYSTEM DESIGN
5.1 DATABASE DESIGN………………………………………………. ...30
5.1.1 TABLES DESIGN……………………………………………….. ….31
5.2 PROCESS DESIGN…………………………………………………. ...33
5.3 USER INTERFACE DESIGN …..………………………. …………...35

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

6. CODING STANDARDS………………………………………………. 41

7. SYSTEM IMPLEMENTATION……………………………………65

8. SCOPE FOR FUTURE DEVELOPMENT……………………………70


`
9. CONCLUSION………………………………………………………….72

10. REFERENCES………………………………………………………..74

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

INTRODUCTION

Kristu Jyoti College of Management and Technology


MY COURSE FINDER

CHAPTER 1

1.INTRODUCTION

1.1)GENERAL INTRODUCTION
ANDROID
Android is a Linux-based operating system for mobile
devices such as smart phones and tablet computers. It is developed by
the Open Handset Alliance, led by Google.
Google financially backed the initial developer of the software,
Android Inc., and later purchased it in 2005. The unveiling of the
Android distribution in 2007 was announced with the founding of the
Open Handset Alliance, a consortium of 86 hardware, software,
and telecommunication companies devoted to advancing open
standards for mobile devices. Google releases the Android code as
open-source, under the Apache License. The Android Open Source
Project (AOSP) is tasked with the maintenance and further
development of Android.
Android is robust software that includes an operating system,
middleware and select applications. Developed and maintained as an
open source project by Google, Android benefits by contributions from
members of the Open handset Alliance (OHA), including ARM.
Android has been designed and built for the ARM architecture, and
continues to be the primary development platform of the OHA with
hundreds of companies contributing to the Android on ARM codebase.
One of the best sources for Android on ARM is directly from
Google’s own Android website. Android development on ARM falls
into two categories; application development and OS porting to various
ARM based SoCs and boards.
There are two development kits for Android applications. The
first is the SDK, or Software Development Kit, which is a Java
development environment that produces applications intended to run in
the Android Dalvik Java VM. The Dalvik runtime environment, heavily
optimized for the ARM architecture, including an ARM targeted Just-
in-time (JIT) compiler, utilizes the latest ARMv7 architectural features.

Kristu Jyoti College of Management and Technology


1
MY COURSE FINDER

The second development kit is the NDK, or Native


Development Kit. The NDK augments the SDK for the creation of
native ARM code used in timing sensitive or performance critical
applications.

ANDROID SOFTWARE STACK

Kristu Jyoti College of Management and Technology


2
MY COURSE FINDER

Android has a large community of developers writing


applications ("apps") that extend the functionality of the devices.
Developers write primarily in a customized version of Java. Apps can
be downloaded from third-party sites or through online stores such as
Google Play (formerly Android Market), the app store run by Google.
In June 2012, there were more than 600,000 apps available for Android,
and the estimated number of applications downloaded from Google
Play was 20 billion.

Android became the world’s leading smart phone platform at the


end of 2010. For the first quarter of 2012, Android had a 59% smart
phone market share worldwide. At the half of 2012, there were 400
million devices activated and 1 million activations per day. Analysts
point to the advantage to Android of being a multi-channel, multi-
carrier OS.

XML and the Java Platform

Java API for XML Processing (JAXP): In many ways,


XML and the Java Platform are a partnership made in heaven. XML
defines a cross platform data format and Java provides a standard cross
platform programming platform. Together, XML and Java technologies
allow programmers to apply Write Once, Run Anywhere fundamentals
to the processing of data and documents generated by both Java based
programs and non-Java based programs.

Foundation

Android, Inc. was founded in Palo Alto, California, United


States in October 2003 by Andy Rubin (co-founder of Danger), Rich
Miner (co-founder of Wildfire Communications, Inc.), Nick Sears and
Chris White. At Google, the team led by Rubin developed a mobile
device platform powered by the Linux kernel. Google marketed the

Kristu Jyoti College of Management and Technology


3
MY COURSE FINDER

platform to handset makers and carriers on the promise of providing a


flexible, upgradable system. Google had lined up a series of hardware
component and software partners and signaled to carriers that it was
open to various degrees of cooperation on their part. On November 5,
2007, the Open Handset Alliance, a consortium of several
companies unveiled itself. The goal of the Open Handset Alliance is to
develop open standards for mobile devices. On the same day, the Open
Handset Alliance also unveiled their first product, Android, a mobile
device platform built on the Linux kernel version 2.6.

Android Open Source Project

The Android Open Source Project (AOSP) is led by Google,


and is tasked with the maintenance and development of
Android. According to the project "The goal of the Android Open
Source Project is to create a successful real-world product that
improves the mobile experience for end users."AOSP also maintains
the Android Compatibility Program, defining an "Android compatible"
device "as one that can run any application written by third-party
developers using the Android SDK and NDK", to prevent incompatible
Android implementations. The compatibility program is also optional
and free of charge, with the Compatibility Test Suite also free and open-
source.

Version history

Android has been updated frequently since the original release of


"Astro", with each fixing bugs and adding new features. Each version is
named in alphabetical order, with 1.5 "Cupcake" being the first named
after adessert and every update since following this naming convention.

List of Android version names:

 Cupcake
 Donut

 Eclair

Kristu Jyoti College of Management and Technology


4
MY COURSE FINDER

 Froyo

 Gingerbread

 Honeycomb

 Ice Cream Sandwich

 Jelly Bean

Design

Android consists of a kernel based on the Linux kernel 2.6,


with middleware, libraries and APIs written in C and application
software running on an application framework which includes Java-
compatible libraries based on Apache Harmony. Android uses
the Dalvik virtual machine with just-in-time compilation to run
Dalvikdex-code (Dalvik Executable), which is usually translated
from Java byte code.

The main hardware platform for Android is the ARM


architecture. There is support for x86 from the Android x86 project, and
Google TV uses a special x86 version of Android.

Linux

Android's kernel is based on the Linux kernel and has further


architecture changes by Google outside the typical Linux kernel
development cycle. Android does not have a native X Window
System nor does it support the full set of standard GNU libraries, and
this makes it difficult to port existing Linux applications or libraries to
Android.

Certain features that Google contributed back to the Linux


kernel, notably a power management feature called wakelocks, were
rejected by mainline kernel developers, partly because kernel
maintainers felt that Google did not show any intent to maintain their
own code. Even though Google announced in April 2010 that they

Kristu Jyoti College of Management and Technology


5
MY COURSE FINDER

would hire two employees to work with the Linux kernel


community, Greg Kroah-Hartman, the current Linux kernel maintainer
for the -stable branch, said in December 2010 that he was concerned
that Google was no longer trying to get their code changes included in
mainstream Linux. Some Google Android developers hinted that "the
Android team was getting fed up with the process", because they were a
small team and had more urgent work to do on Android.

However, in September 2010, Linux kernel developer Rafael J.


Wysocki added a patch that improved the mainline Linux wakeup
events framework. He said that Android device drivers that use
wakelocks can now be easily merged into mainline Linux, but that
Android's opportunistic suspend features should not be included in the
mainline kernel. In August 2011, Linus Torvalds said that "eventually
Android and Linux would come back to a common kernel, but it will
probably not be for four to five years".

In December 2011, Greg Kroah-Hartman announced the start of


the Android Mainlining Project, which aims to put some
Android drivers, patches and features back into the Linux kernel,
starting in Linux 3.3. further integration being expected for Linux
Kernel 3.4.

Eclipse SDK

Eclipse is a multi-language software development environment


comprising an integrated development environment (IDE) and an
extensible plug-in system. It is written mostly in Java. It can be used to
develop applications in Java and, by means of various plug-ins, other
programming languages including Ada, C, C++, COBOL, Haskell,
Perl, PHP, Python, R, Ruby (including Ruby on Rails framework),
Scala, Clojure, Groovy and Scheme. It can also be used to develop
packages for the software Mathematica. Development environments

Kristu Jyoti College of Management and Technology


6
MY COURSE FINDER

include the Eclipse Java development tools (JDT) for Java, Eclipse
CDT for C/C++, and Eclipse PDT for PHP, among others.

The initial codebase originated from IBM VisualAge. The


Eclipse SDK (which includes the Java development tools) is meant for
Java developers. Users can extend its abilities by installing plug-ins
written for the Eclipse Platform, such as development toolkits for other
programming languages, and can write and contribute their own plug-in
modules.

Released under the terms of the Eclipse Public License, Eclipse


SDK is free and open source software. It was one of the first IDEs to
run under GNU Classpath and it runs without issues under IcedTea.

Features

 Handset layouts
The platform is adaptable to larger, VGA, 2D
graphics library, 3D graphics library based on OpenGL ES 2.0
specifications, and traditional smartphone layouts.
 Storage
SQLite, a lightweight relational database, is used
for data storage purposes.
 Connectivity
Android supports connectivity technologies
including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Blueto
oth, Wi-Fi, LTE, NFC and WiMAX.
 Messaging
SMS and MMS are available forms of messaging, including
threaded text messaging and Android Cloud To Device
Messaging (C2DM) and now enhanced version of C2DM,
Android Google Cloud Messaging (GCM) is also a part of
Android Push Messaging service.

Kristu Jyoti College of Management and Technology


7
MY COURSE FINDER

 Multiple language support


Android supports multiple languages.
 Web browser
The web browser available in Android is based on the open-
source WebKit layout engine, coupled with Chrome's V8
JavaScript engine. The browser scores 100/100 on
the Acid3 test on Android 4.0.
 Java support
While most Android applications are written in Java, there is
no Java Virtual Machine in the platform and Java byte code is
not executed. Java classes are compiled into Dalvik executable
and run on Dalvik, a specialized virtual machine designed
specifically for Android and optimized for battery-powered
mobile devices with limited memory and CPU. J2ME support
can be provided via third-party applications.
 Media support
Android supports the following audio/video/still media
formats: WebM, H.263, H.264 (in 3GP or MP4 container), MPE
G-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-
AAC(in MP4 or 3GP
container), MP3, MIDI, OggVorbis, FLAC, WAV, JPEG, PNG,
GIF, BMP, WebP.
 Streaming media support
RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive
download (HTML5 <video> tag). Adobe Flash Streaming
(RTMP) and HTTP Dynamic Streaming are supported by
the Flash plugin. Apple HTTP Live Streaming is supported
by RealPlayer for Android, and by the operating system in
Android 3.0 (Honeycomb).
 Multi-touch

Kristu Jyoti College of Management and Technology


8
MY COURSE FINDER

Android has native support for multi-touch which was initially


made available in handsets such as the HTC Hero. The feature
was originally disabled at the kernel level (possibly to avoid
infringing Apple's patents on touch-screen technology at the
time). Google has since released an update for the Nexus
One and the Motorola Droid which enables multi-touch
natively.
 Bluetooth
Supports A2DP, AVRCP, sending files (OPP), accessing the
phone book (PBAP), voice dialing and sending contacts
between phones. Keyboard, mouse and joystick (HID) support
is available in Android 3.1+, and in earlier versions through
manufacturer customizations and third-party applications.
 Video calling
Android does not support native video calling, but some
handsets have a customized version of the operating system that
supports it, either via the UMTS network (like the Samsung
Galaxy S) or over IP. Video calling through Google Talk is
available in Android 2.3.4 and later. Gingerbread allows Nexus
S to place Internet calls with a SIP account. This allows for
enhanced VoIP dialing to other SIP accounts and even phone
numbers. Skype 2.1 offers video calling in Android 2.3,
including front camera support.
 Multitasking
Multitasking of applications, with unique handling of memory
allocation, is available.
 Voice based features
Google search through voice has been available since initial
release. Voice actions for calling, texting, navigation, etc. are
supported on Android 2.2 onwards.
 Tethering

Kristu Jyoti College of Management and Technology


9
MY COURSE FINDER

Android supports tethering, which allows a phone to be used as


a wireless/wired Wi-Fi hotspot. Before Android 2.2 this was
supported by third-party applications or manufacturer
customizations.
 Screen capture
Android supports capturing a screenshot by pressing the power
and volume-down buttons at the same time. Prior to Android
4.0, the only methods of capturing a screenshot were through
manufacturer and third-party customizations or otherwise by
using a PC connection (DDMS developer's tool). These
alternative methods are still available with the latest Android.
 External storage
Most Android devices include microSD slot and can read
microSD cards formatted with FAT32, Ext3 or Ext4 file system.
To allow use of high-capacity storage media such as USB flash
drives and USB HDDs, many Android tablets also
include USB 'A' receptacle. Storage formatted with FAT32 is
handled by Linux Kernel VFAT driver, while 3rd party solutions
are required to handle other popular file systems such
as NTFS, HFS Plus and exFAT.

Applications

Applications are usually developed in the Java language using


the Android Software Development Kit, but other development tools
are available, including a Native Development Kitfor applications or
extensions in C or C++, Google App Inventor, a visual environment for
novice programmers and various cross platform mobile web
applications frameworks.

Applications can be acquired by end-users either through a store


such as Google Play or the Amazon Appstore, or by downloading and
installing the application's APK files from a third-party.

Kristu Jyoti College of Management and Technology


10
MY COURSE FINDER

JAVA
Java is a programming language originally developed
by James Gosling at Sun Microsystems (which has since merged into
Oracle Corporation) and released in 1995 as a core component of Sun
Microsystems' Java platform. The language derives much of its syntax
from C and C++ but has a simpler object model and fewer low-
level facilities. Java applications are
typically compiled to bytecode (class file) that can run on any Java
Virtual Machine (JVM) regardless of computer architecture. Java is
a general-purpose, concurrent, class-based, object-oriented language
that is specifically designed to have as few implementation
dependencies as possible. It is intended to let application developers
"write once, run anywhere" (WORA), meaning that code that runs on
one platform does not need to be recompiled to run on another. Java is
as of 2012 one of the most popular programming languages in use,
particularly for client-server web applications, with a reported 10
million users.

The original and reference implementation Java compilers,


virtual machines, and class libraries were developed by Sun from 1995.
As of May 2007, in compliance with the specifications of the Java
Community Process, Sun relicensed most of its Java technologies under
the GNU General Public License. Others have also developed
alternative implementations of these Sun technologies, such as
the GNU Compiler for Java and GNU Classpath.

History

Kristu Jyoti College of Management and Technology


11
MY COURSE FINDER

James Gosling, Mike Sheridan, and Patrick Naughton initiated


the Java language project in June 1991. Java was originally designed
for interactive television, but it was too advanced for the digital cable
television industry at the time. The language was initially
called Oak after an oak tree that stood outside Gosling's office; it went
by the name Green later, and was later renamed Java, from Java coffee,
said to be consumed in large quantities by the language's
creators. Gosling aimed to implement a virtual machine and a language
that had a familiarC/C++ style of notation.

Sun Microsystems released the first public implementation as


Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA),
providing no-cost run-times on popular platforms. Fairly secure and
featuring configurable security, it allowed network- and file-access
restrictions. Major web browsers soon incorporated the ability to run
Java applets within web pages, and Java quickly became popular. With
the advent of Java 2 (released initially as J2SE 1.2 in December 1998–
1999), new versions had multiple configurations built for different
types of platforms. For example, J2EEtargeted enterprise applications
and the greatly stripped-down version J2ME for mobile applications
(Mobile Java). J2SE designated the Standard Edition. In 2006, for
marketing purposes, Sun renamed new J2 versions as Java EE, Java
ME, and Java SE, respectively.

In 1997, Sun Microsystems approached the ISO/IEC


JTC1 standards body and later the Ecma International to formalize
Java, but it soon withdrew from the process. Java remains a de
facto standard, controlled through the Java Community Process. At one
time, Sun made most of its Java implementations available without
charge, despite their proprietary software status. Sun generated revenue
from Java through the selling of licenses for specialized products such
as the Java Enterprise System. Sun distinguishes between its Software
Development Kit (SDK) and Runtime Environment (JRE) (a subset of

Kristu Jyoti College of Management and Technology


12
MY COURSE FINDER

the SDK); the primary distinction involves the JRE's lack of the
compiler, utility programs, and header files.

Principles

There were five primary goals in the creation of the Java language:

1. It should be "simple, object-oriented and familiar"


2. It should be "robust and secure"

3. It should be "architecture-neutral and portable"

4. It should execute with "high performance"

5. It should be "interpreted, threaded, and dynamic"

Versions

Major release versions of Java, along with their release dates:

 JDK 1.0 (January 23, 1996)


 JDK 1.1 (February 19, 1997)

 J2SE 1.2 (December 8, 1998)

 J2SE 1.3 (May 8, 2000)

 J2SE 1.4 (February 6, 2002)

 J2SE 5.0 (September 30, 2004)

 Java SE 6 (December 11, 2006)

 Java SE 7 (July 28, 2011)

Automatic memory management

Java uses an automatic garbage collector to manage memory in


the object lifecycle. The programmer determines when objects are
created, and the Java runtime is responsible for recovering the memory

Kristu Jyoti College of Management and Technology


13
MY COURSE FINDER

once objects are no longer in use. Once no references to an object


remain, the unreachable memory becomes eligible to be freed
automatically by the garbage collector. Something similar to a memory
leak may still occur if a programmer's code holds a reference to an
object that is no longer needed, typically when objects that are no
longer needed are stored in containers that are still in use. If methods
for a nonexistent object are called, a "null pointer exception" is thrown.

One of the ideas behind Java's automatic memory management


model is that programmers can be spared the burden of having to
perform manual memory management. In some languages, memory for
the creation of objects is implicitly allocated on the stack, or explicitly
allocated and deallocated from the heap. In the latter case the
responsibility of managing memory resides with the programmer. If the
program does not deallocate an object, a memory leak occurs. If the
program attempts to access or deallocate memory that has already been
deallocated, the result is undefined and difficult to predict, and the
program is likely to become unstable and/or crash. This can be partially
remedied by the use of smart pointers, but these add overhead and
complexity. Note that garbage collection does not prevent "logical"
memory leaks, i.e. those where the memory is still referenced but never
used.

Garbage collection may happen at any time. Ideally, it will


occur when a program is idle. It is guaranteed to be triggered if there is
insufficient free memory on the heap to allocate a new object; this can
cause a program to stall momentarily. Explicit memory management is
not possible in Java.

Java does not support C/C++ style pointer arithmetic, where


object addresses and unsigned integers (usually long integers) can be
used interchangeably. This allows the garbage collector to relocate
referenced objects and ensures type safety and security.

Kristu Jyoti College of Management and Technology


14
MY COURSE FINDER

Java contains multiple types of garbage collectors. By default,


HotSpot uses the Concurrent Mark Sweep collector, also known as the
CMS Garbage Collector. However, there are also several other garbage
collectors that can be used to manage the Heap. For 90% of
applications in Java, the CMS Garbage Collector is good enough.

Java Virtual Machine

The heart of the Java platform is the concept of a "virtual


machine" that executes Java bytecode programs. This bytecode is the
same no matter what hardware or operating system the program is
running under. There is a JIT(Just In Time) compiler within the Java
Virtual Machine, or JVM. The JIT compiler translates the Java
bytecode into native processor instructions at run-time and caches the
native code in memory during execution.

The use of bytecode as an intermediate language permits Java


programs to run on any platform that has a virtual machine available.
The use of a JIT compiler means that Java applications, after a short
delay during loading and once they have "warmed up" by being all or
mostly JIT-compiled, tend to run about as fast as native programs.
Since JRE version 1.2, Sun's JVM implementation has included a just-
in-time compiler instead of an interpreter.

Although Java programs are cross-platform or platform


independent, the code of the Java Virtual Machines (JVM) that execute
these programs is not. Every supported operating platform has its own
JVM.

Usages

 Desktop use

According to Oracle, the Java Runtime Environment is found on


over 850 million PCs. Microsoft has not bundled a Java Runtime
Environment (JRE) with its operating systems since Sun Microsystems
sued Microsoft for adding Windows-specific classes to the bundled

Kristu Jyoti College of Management and Technology


15
MY COURSE FINDER

Java runtime environment, and for making the new classes available
through Visual J++.

Some Java applications are in fairly widespread desktop use, including


the NetBeans and Eclipse integrated development environments, and
file sharing clients such as LimeWire and Vuze. Java provides cross
platform user interface for some high end collaborative applications
like Lotus Notes.

 Mobile devices

Java ME has become popular in mobile devices, where it competes


with Symbian, BREW, and the .NET Compact Framework.

The diversity of mobile phone manufacturers has led to a need for


new unified standards so programs can run on phones from different
suppliers - MIDP. The first standard was MIDP 1, which assumed a
small screen size, no access to audio, and a 32kB program limit. The
more recent MIDP 2 allows access to audio, and up to 64kB for the
program size. With handset designs improving more rapidly than the
standards, some manufacturers relax some limitations in the standards,
for example, maximum program size.

Google's Android operating system uses the Java language, but not its
class libraries, therefore the Android platform cannot be called Java.
Android executes the code on the Dalvik VM instead of the Java VM.

 Web server and enterprise use

The Java platform has become a mainstay of enterprise IT


development since the introduction of the Enterprise Edition in 1998, in
two different ways:

 Through the coupling of Java to the web server, the Java


platform has become a leading platform for integrating the Web
with enterprise backend systems. This has allowed companies

Kristu Jyoti College of Management and Technology


16
MY COURSE FINDER

to move part or all of their business to the Internet environment


by way of highly interactive online environments (such as
highly dynamic websites) that allow the customer direct access
to the business processes (e.g. online banking websites, airline
booking systems and so on). This trend has continued from its
initial Web-based start:
 The Java platform has become the main development platform
for many software tools and platforms that are produced by
third-party software groups (commercial, open source and
hybrid) and are used as configurable (rather than
programmable) tools by companies. Examples in this category
include Web servers, application servers, databases, enterprise
service buses, business process management (BPM) tools
and content management systems.

DATABASE DESIGN

Database design forms an important part of every project. The


management of data involves both the definition of structure for the
storage of information and provision of mechanisms for manipulation
of information. The database system must provide safety for the
information stored; despite system crashes or attempts of unauthorized
access the database used in this project is SQLite.

About SQLite

Kristu Jyoti College of Management and Technology


17
MY COURSE FINDER

 SQLite is a relational database management system contained


in a small (~275 KB) C programming library. In contrast to
other database management systems, SQLite is not a separate
process that is accessed from the client application, but an
integral part of it.

 SQLite is ACID-compliant and implements most of


the SQL standard, using a dynamically and weakly typed SQL
syntax that does not guarantee the domain integrity.

 SQLite is a popular choice as embedded database for


local/client storage in application software such as web
browsers. It is arguably the most widely deployed database
engine, as it is used today by several widespread browsers,
operating systems, and embedded systems, among
others. SQLite has many bindings to programming languages.

Design

Unlike client–server database management systems, the SQLite


engine has no tandalone processes with which the application program
communicates. Instead, the SQLite library is linked in and thus
becomes an integral part of the application program. The library can
also be called dynamically. The application program uses SQLite's
functionality through simple function calls, which reduce latency in
database access: function calls within a single process are more
efficient than inter-process communication. SQLite stores the entire
database (definitions, tables, indices, and the data itself) as a single
cross-platform file on a host machine. It implements this simple design
by locking the entire database file during writing. SQLite read
operations can be multitasked, though writes can only be performed
sequentially.

History

Kristu Jyoti College of Management and Technology


18
MY COURSE FINDER

D. Richard Hipp designed SQLite in the spring of 2000 while


working for General Dynamics on contract with the United States
Navy. Hipp was designing software used on board guided missile
destroyer ships, which were originally based on HP-UX with an IBM
Informix database back-end. The design goals of SQLite were to allow
the program to be operated without installing a database management
system or administration. In August 2000, version 1.0 of SQLite was
released, based on gdbm (GNU Database Manager). SQLite 2.0
replaced gdbm with a custom B-tree implementation, adding support
for transactions. SQLite 3.0, partially funded by America Online,
added internationalization, manifest typing, and other major
improvements.

In 2011 Hipp announced his plans to add an UnQL interface to SQLite


databases and to develop UnQLite, an embeddable document-oriented
database.

Features

 SQLite implements most of the SQL-92 standard for SQL but it


lacks some features. For example it has partial support
for triggers, and it can't write to views (however it supports
INSTEAD OF triggers that provide this functionality). While it
supports complex queries, it still has limited ALTER
TABLE support, as it can't modify or delete columns.

 SQLite uses an unusual type system for a SQL-compatible


DBMS. Instead of assigning a type to a column as in most SQL
database systems, types are assigned to individual values; in
language terms it is dynamically typed. Moreover, it is weakly
typed in some of the same ways that Perl is: one can insert
a string into an integer column (although SQLite will try to
convert the string to an integer first, if the column's preferred
type is integer). This adds flexibility to columns, especially
when bound to a dynamically typed scripting language.

Kristu Jyoti College of Management and Technology


19
MY COURSE FINDER

However, the technique is not portable to other SQL products. A


common criticism is that SQLite's type system lacks the data
integrity mechanism provided by statically typed columns in
other products.

 Several computer processes or threads may access the same


database concurrently. Several read accesses can be satisfied in
parallel. A write access can only be satisfied if no other accesses
are currently being serviced. Otherwise, the write access fails
with an error code (or can automatically be retried until a
configurable timeout expires). This concurrent access situation
would change when dealing with temporary tables. This
restriction is relaxed in version 3.7 when WAL is turned on
enabling concurrent reads and writes.

 A standalone program called sqlite3 is provided that can be used


to create a database, define tables within it, insert and change
rows, run queries and manage a SQLite database file. This
program is a single executable file on the host machine. It also
serves as an example for writing applications that use the
SQLite library.

 SQLite is a popular choice for local/client SQL storage within a


web browser and within a framework; most notably the leaders
in this area embed SQLite.

 SQLite full Unicode support is optional.

 SQLite also has bindings for a large number of programming


languages, including BASIC, C, C+
+, Clipper//Harbour, Common isp, C#, Curl, D, Delphi, Free
Pascal, Haskell, Java,Livecode, Lua, newLisp, Objective-C (on
MacOS
X and iOS), OCaml, Perl, PHP, Pike, Python, REBOL, R, REA
Lbasic, Ruby, Scheme, Smalltalk, Tcl, Visual Basic, and
JavaScript. An ADO.NET adapter, initially developed by Robert

Kristu Jyoti College of Management and Technology


20
MY COURSE FINDER

Simpson, is maintained jointly with the SQLite developers since


April 2010. An ODBC driver has been developed and is
maintained separately by Christian Werner. Werner's ODBC
driver is the recommend connection method for accessing
SQLite from Open Office. There is also a COM (ActiveX)
wrapper making SQLite accessible on Windows to scripted
languages such as JScript and VBScript. This adds database
capabilities to HTML Applications (HTA).

1.2 INTRODUCTION ABOUT THE PROJECT

The android is the latest and upcoming operating system in the


market and application related to this operating system are much faster
and easier to work. The use of this operating system is increasing due to
its versatility and capability of satisfying the user.

Kristu Jyoti College of Management and Technology


21
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


22
MY COURSE FINDER

SYSTEM STUDY AND


ANALYSIS

CHAPTER 2

SYSTEM ANALYSIS

2.1 INTRODUCTION

The Merriam-Webster dictionary defines system analysis as "the


process of studying a procedure or business in order to identify its goals

Kristu Jyoti College of Management and Technology


23
MY COURSE FINDER

and purposes and create systems and procedures that will achieve them
in an efficient way". Another view sees system analysis as a problem-
solving technique that decomposes a system into its component pieces
for the purpose of the studying how well those component parts work
and interact to accomplish their purpose.

2.2 EXISTING SYSTEM

Existing system refers to the system that is being


followed till now. Presently students find the course of their interest
through websites of colleges or by enquiry in the college. It is very time
consuming to go through websites of different colleges or going to
different colleges. Present system is both time consuming and an
unneeded expense.

2.3LIMITATIONS OF EXISTING SYSTEM

 Time consuming.

 unneeded expense

 Manual work

To avoid all these limitations and make the system working more
accurately, it needs to be computerized.

2.4 PROPOSED SYSTEM

My course finder is an android application developed to help the


students to find course suiting them. This application unifies the details
of different colleges such that students can access details of all colleges
through a single android application. My Course Finder enables
students to view the fee and duration details of the respective course.
Students can compare same courses offered in different colleges. They

Kristu Jyoti College of Management and Technology


24
MY COURSE FINDER

can evaluate and find out the best choice for them. Students can send
applications to respective colleges through e-mail facility provided in
the application.

The application implements a one-time registration. When the


application is first installed on a device it requires the user to register
using valid credentials. These details are later used for automatic filling
of application forms which makes the form filling easy for the user.

2.5ADVANTAGES OF PROPOSED SYSTEM

• User can control the entire system.

• Avoid manual data entry.

• Greater efficiency.

• User friendly and interactive.

• Minimum time required

• Ensure data accuracy.

2.6 FEASIBILITY STUDY

Depending on the results of the initial investigation the survey is


now expanded to a more detailed feasibility study. Feasibility Study is a
test of system proposal according to its workability, impact of the
organization, ability to meet needs and effective use of the resources.
Technical Feasibility
A study of resource availability that may affect the ability to
achieve an acceptable system. This evaluation determines whether the
technology needed for the proposed system is available or not. This is
concerned with specifying equipment and software that will

Kristu Jyoti College of Management and Technology


25
MY COURSE FINDER

successfully satisfy the user requirement. The technical needs of the


system may include:
Front-end and back-end selection
An important issue for the development of a project is the
selection of suitable front-end and back-end. When we decided to
develop the project we went through an extensive study to determine
the most suitable platform that helps in development of the project.
The aspects of our study included the following factors.
Front-end selection:
1. It must have a graphical user interface that assists employees that are
not from IT background.
2. Flexibility.
3. According to the organization requirement and the culture.
4. Must provide excellent reporting features with good printing support.
5. Easy to debug and maintain.
6. Event driven programming facility.
7. Front end must support some popular back end like MySQL.
According to the above stated features we selected Android as the front-
end for developing our project.
Back-end Selection:
1. Multiple user support.
2. Efficient data handling.
3. Provide inherent features for security.
4. Efficient data retrieval and maintenance.
5. Stored procedures.
6. Popularity.
7. Operating System compatible.
8. Easy to install.
9. Easy to implant with the Front-end.
According to above stated features we selected Oracle as the backend.
The technical feasibility is frequently the most difficult area
encountered at this stage. It is essential that the process of analysis and

Kristu Jyoti College of Management and Technology


26
MY COURSE FINDER

definition be conducted in parallel with an Assessment to technical


feasibility. It centers on the existing computer system (hardware,
software etc.) and to what extent it can support the proposed system.
Operational Feasibility
It is mainly related to human and organizations aspects. The points to
be
Considered are:
• What changes will be brought with the system?
• What organization structures are disturbed?
• What new skills will be required? Do the existing staff members have
these skills? If not, can they be trained in due course of time?
The system is operationally feasible as it very easy for the End users to
operate it. It only needs basic information about Android platform.
Schedule feasibility
Time evaluation is the most important consideration in the development
of project. The time schedule required for the developed of this project
is very important since more development time effect machine time,
cost and cause delay in the development of other systems. A reliable
Enterprise Hazard Management System can be developed in the
considerable amount of time.

Kristu Jyoti College of Management and Technology


27
MY COURSE FINDER

SYSTEM DESIGN

Kristu Jyoti College of Management and Technology


28
MY COURSE FINDER

CHAPTER 3

SYSTEM DESIGN

3.1 INTRODUCTION

System design is the process of defining the architecture, components,


modules, interfaces, and data for a system to satisfy specified
requirements. Systems design could be seen as the application of
systems theory to product development. There is some overlap with the
disciplines of systems analysis, systems architecture and systems
engineering.

Kristu Jyoti College of Management and Technology


29
MY COURSE FINDER

3.2 DATA FLOW DIAGRAMS

DFD DIAGRAM

3.3DATABASE DESIGN

3.3.1 TABLE DESIGN

Table 1: College

Field Data Type Size Description

collegeid Integer 8 Indicates the college id

Kristu Jyoti College of Management and Technology


30
MY COURSE FINDER

collegename Varchar 20 Indicates the college name

state Varchar 20 State name

district Varchar 20 District name

city Varchar 20 City name

email Varchar 20 E-mail id

phone Integer 8 Phone number

image Varchar 20 Image of the college

Table 2 : Course

Field Data Type Size Description

courseid Integer 8 Indicates the course id

collegeid Integer 8 Indicates the college id

coursename Varchar 20 Indicates the course name

description Varchar 20 Description about the college

seat Integer 8 Total number of seats available

fee Integer 8 Course fee

duration Integer 8 Duration of the course

USER INTERFACE DESIGN

Kristu Jyoti College of Management and Technology


31
MY COURSE FINDER

SYSTEM
DEVELOPMENT

Kristu Jyoti College of Management and Technology


32
MY COURSE FINDER

CHAPTER 4

SYSTEM DEVELOPMENT

4.1 SOFTWARE ENVIRONMENTS

The waterfall model is a sequential design process, often used


in software development processes, in which progress is seen as
flowing steadily downwards (like a waterfall through the phases of
Conception, Initiation ,Analysis, Design Construction, Testing,
Production Implication, and Maintenance.

4.2 HARDWARE SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS

Processor : Intel Core i3

RAM : 4 GB

Hard Disk : 500 GB

Keyboard : Standard 108 keys

SOFTWARE REQUIREMENTS

Platform : Android 2.3 version or above

Front end tool: Android

Back end tool: SQLite

Kristu Jyoti College of Management and Technology


33
MY COURSE FINDER

4.3 SOFTWARE ENGINEERING PARADIGM USED

WATERFALL MODEL

The waterfall development model originates in the manufacturing and


construction industries: highly structured physical environments in
which after-the-fact changes are prohibitively costly, if not impossible.
Since no formal software development methodologies existed.
Waterfall Model is one of the most widely used Software Development
Process .It is also called as "Linear Sequential model" or the "classic
life cycle" or iterative model. It is widely used in the commercial
development projects. It is called so because here, we move to next
phase (step) after getting input from previous phase, like in a waterfall,
water flows down to from the upper steps.

Figure 4.3.1 Phases

Kristu Jyoti College of Management and Technology


34
MY COURSE FINDER

The first phase of waterfall model is requirements gathering. After this


phase the analysis will begin. The design will begin after the completion
of analysis, after designing coding will begin. Testing will be performed
only the coding phase is completed. Finally acceptance will be carried
out after the completion of testing.

In this iterative waterfall model Software Development process is


divided into five phases:-
a) SRS (Software Requirement Specifications)
b) System Design and Software Design
c) Implementation and Unit testing
d) Integration and System Testing
e) Operation and Maintenance

Figure 4.3.2 Iterative Steps

Kristu Jyoti College of Management and Technology


35
MY COURSE FINDER

SOFTWARE
IMPLEMENTATION AND
TESTING

Kristu Jyoti College of Management and Technology


36
MY COURSE FINDER

CHAPTER 5

5.1 CODING

Design Part of Main Activity

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/an
droid"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#34b1f9"

android:paddingBottom="@dimen/activity_vertical_marg
in"

android:paddingLeft="@dimen/activity_horizontal_marg
in"

android:paddingRight="@dimen/activity_horizontal_mar
gin"

android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<ImageView
android:id="@+id/mcflogo"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="83dp"

Kristu Jyoti College of Management and Technology


37
MY COURSE FINDER

android:onClick="entry"
android:src="@drawable/newlogo" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/mcflogo"
android:layout_centerHorizontal="true"
android:layout_marginBottom="28dp"
android:text="My Course Finder"
android:textAppearance="?
android:attr/textAppearanceSmall"
android:textColor="#fff" />

</RelativeLayout>

Main Activity Java Code


package com.example.mcf;

Kristu Jyoti College of Management and Technology


38
MY COURSE FINDER

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.view.Menu;

import android.view.View;

import android.widget.ImageView;

import android.widget.Toast;

public class MainActivity extends Activity {

SQLiteDatabase db;

ImageView logo;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

db=openOrCreateDatabase("MCFdb", MODE_PRIVATE, null);

db.execSQL("CREATE TABLE IF NOT EXISTS login(username


VARCHAR,password VARCHAR);");

db.execSQL("CREATE TABLE IF NOT EXISTS registration(name


VARCHAR,email VARCHAR,phone VARCHAR,address VARCHAR);");

public void entry(View v)

try{

Cursor c=db.rawQuery("select count(*) from login", null);

c.moveToFirst();

int n=c.getInt(0);

Kristu Jyoti College of Management and Technology


39
MY COURSE FINDER

if(n>0)

Intent intent=new
Intent(getApplicationContext(),Home.class);

startActivity(intent);

else

Intent intent=new
Intent(getApplicationContext(),Register.class);

startActivity(intent);

catch(Exception e)

Toast.makeText(this, e.getMessage(),
Toast.LENGTH_SHORT).show();

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

Design Part of Register Activity


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/an
droid"
xmlns:tools="http://schemas.android.com/tools"

Kristu Jyoti College of Management and Technology


40
MY COURSE FINDER

android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#34b1f9"

android:paddingBottom="@dimen/activity_vertical_marg
in"

android:paddingLeft="@dimen/activity_horizontal_marg
in"

android:paddingRight="@dimen/activity_horizontal_mar
gin"

android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Register" >

<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Register"
android:textAppearance="?
android:attr/textAppearanceLarge"
android:textColor="#fff" />

<Button
android:id="@+id/regsave"
style="?android:attr/buttonStyleSmall"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/regclr"
android:layout_alignBottom="@+id/regclr"
android:layout_alignLeft="@+id/regaddress"

android:background="@drawable/rounded_button"
android:text="Save"
android:textColor="#fff" />

<EditText
android:id="@+id/regusr"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/TextView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="42dp"
android:ems="10"
android:textColorHint="#ddd"
android:hint="Username"
android:paddingLeft="10dp"
android:textColor="#fff" />

Kristu Jyoti College of Management and Technology


41
MY COURSE FINDER

<EditText
android:id="@+id/regname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/regusr"
android:layout_centerHorizontal="true"
android:textColorHint="#ddd"
android:layout_marginTop="6dp"
android:ems="10"
android:hint="Name"
android:paddingLeft="10dp"
android:textColor="#fff" />

<EditText
android:id="@+id/regmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/regname"
android:layout_centerHorizontal="true"
android:textColorHint="#ddd"
android:ems="10"
android:layout_marginTop="6dp"
android:hint="Email"
android:inputType="textEmailAddress"
android:paddingLeft="10dp"
android:textColor="#fff" />

<EditText
android:id="@+id/regphone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/regmail"
android:layout_centerHorizontal="true"
android:textColorHint="#ddd"
android:ems="10"
android:layout_marginTop="6dp"
android:hint="Phone"
android:inputType="phone"
android:paddingLeft="10dp"
android:textColor="#fff" />

<EditText
android:id="@+id/regaddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/regphone"
android:layout_centerHorizontal="true"
android:textColorHint="#ddd"
android:ems="10"
android:layout_marginTop="6dp"
android:hint="Address"
android:inputType="textPostalAddress"
android:paddingLeft="10dp"

Kristu Jyoti College of Management and Technology


42
MY COURSE FINDER

android:textColor="#fff" />

<EditText
android:id="@+id/regpass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/regaddress"
android:layout_marginTop="6dp"
android:textColorHint="#ddd"
android:ems="10"
android:hint="Password"
android:inputType="textPassword"
android:paddingLeft="10dp"
android:textColor="#fff" />

<Button
android:id="@+id/regclr"
style="?android:attr/buttonStyleSmall"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/regpass"
android:layout_below="@+id/regpass"
android:layout_marginTop="38dp"

android:background="@drawable/rounded_button"
android:text="Clear"
android:textColor="#fff" />

</RelativeLayout>

Kristu Jyoti College of Management and Technology


43
MY COURSE FINDER

Register Java Code

package com.example.mcf;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Register extends Activity {


Button save,clear;
SQLiteDatabase db;
String sql,query;
EditText name,email,phone,address,username,password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
db=openOrCreateDatabase("MCFdb", MODE_PRIVATE,
null);
name=(EditText) findViewById(R.id.regname);
email=(EditText) findViewById(R.id.regmail);
phone=(EditText) findViewById(R.id.regphone);
address=(EditText) findViewById(R.id.regaddress);
username=(EditText) findViewById(R.id.regusr);
password=(EditText) findViewById(R.id.regpass);

save=(Button) findViewById(R.id.regsave);
save.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String v1=name.getText().toString();
String v2=email.getText().toString();
String v3=phone.getText().toString();
String v4=address.getText().toString();
String v5=username.getText().toString();
String v6=password.getText().toString();
sql="insert into registration
values('"+v1+"','"+v2+"','"+v3+"','"+v4+"')";
query="insert into login
values('"+v5+"','"+v6+"')";
db.execSQL(sql);
db.execSQL(query);

Kristu Jyoti College of Management and Technology


44
MY COURSE FINDER

Toast.makeText(getApplicationContext(),
"REGISTRATION SUCCESSFUL", Toast.LENGTH_SHORT).show();
Intent intent=new
Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}
});
clear=(Button) findViewById(R.id.regclr);
clear.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
name.setText(null);
email.setText(null);
phone.setText(null);
address.setText(null);
username.setText(null);
password.setText(null);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.register, menu);
return true;
}

Home Activity Design

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/an
droid"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#34b1f9"

android:paddingBottom="@dimen/activity_vertical_marg
in"

android:paddingLeft="@dimen/activity_horizontal_marg
in"

android:paddingRight="@dimen/activity_horizontal_mar
gin"

Kristu Jyoti College of Management and Technology


45
MY COURSE FINDER

android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Home" >

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >

<EditText
android:id="@+id/searchtxt"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:paddingLeft="15dp"
android:ems="10"

android:background="@drawable/rounded_edittext"
android:textColorHint="#bbb"
android:hint="Search College"
/>

<Button
android:id="@+id/searchbtn"
style="?
android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"

android:background="@drawable/search"
android:onClick="searchclg" />

</LinearLayout>

<ListView
android:id="@+id/collegelist"
android:layout_width="match_parent"
android:layout_height="342dp"
android:layout_marginTop="36dp" >

</ListView>

</LinearLayout>

</RelativeLayout>

Kristu Jyoti College of Management and Technology


46
MY COURSE FINDER

Home Java Code

package com.example.mcf;

import java.util.ArrayList;

import org.apache.http.NameValuePair;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONObject;

import android.os.Bundle;
import android.os.StrictMode;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

Kristu Jyoti College of Management and Technology


47
MY COURSE FINDER

public class Home extends Activity {


ArrayList<College> list;
EditText search;
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
lv=(ListView) findViewById(R.id.collegelist);
registerForContextMenu(lv);
lv.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View
arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub

College data=list.get(arg2);
Intent intent=new
Intent(getApplicationContext(),CollegeDetails.class);
intent.putExtra("id", data.clgid.toString());
startActivity(intent);
}
});

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.home, menu);
return true;
}
@SuppressLint("NewApi")

public void bindProducts(String collegename)


{
try
{
list= new ArrayList<College>();
DefaultHttpClient httpclient = new
DefaultHttpClient();
HttpPost httppost= new
HttpPost("http://"+LoginInfo.IPADDRESS+"/MCF/getcollege.php");
StrictMode.ThreadPolicy policy = new
StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

Kristu Jyoti College of Management and Technology


48
MY COURSE FINDER

ArrayList<NameValuePair> n= new
ArrayList<NameValuePair>();
n.add(new
BasicNameValuePair("collegename",collegename));
httppost.setEntity(new UrlEncodedFormEntity(n));
ResponseHandler<String> res=new
BasicResponseHandler();
final String data = httpclient.execute(httppost, res);

int l1=0;
JSONArray jarray=new JSONArray(data);
l1=jarray.length();
if(l1==0)
{
Toast.makeText(getApplicationContext(), "No Such
Colleges", Toast.LENGTH_LONG).show();
}
else
{
String name="";
for(int i=0;i<l1;i++)
{
JSONObject
json_data=jarray.getJSONObject(i);

College clg=new College();


clg.clgname=json_data.getString("clgname");
clg.clgid=json_data.getString("clgid");
clg.state=json_data.getString("state");
clg.district=json_data.getString("district");
clg.city=json_data.getString("city");
clg.email=json_data.getString("email");
clg.phone=json_data.getString("phone");

list.add(clg);
}
}
CollegeAdapter cad=new
CollegeAdapter(getApplicationContext(), list);

lv.setAdapter(cad);

}
catch(Exception e)
{
Toast.makeText(this, e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
@SuppressLint("NewApi") public void searchclg(View v)
{

Kristu Jyoti College of Management and Technology


49
MY COURSE FINDER

search=(EditText) findViewById(R.id.searchtxt);
String collegename=search.getText().toString();
//Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
bindProducts(collegename);
}

getcollege.php code

<?php
require_once("ConnectionClass.php");
$obj=new ConnectionClass();
$collegename=$_REQUEST['collegename'];
$qry="select * from college where clgname like '$collegename%'";
$data=$obj->GetTable($qry);
echo json_encode($data);
?>

CollegeDetails Activity Design

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/an
droid"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#34b1f9"

android:paddingBottom="@dimen/activity_vertical_marg
in"

android:paddingLeft="@dimen/activity_horizontal_marg
in"

android:paddingRight="@dimen/activity_horizontal_mar
gin"

android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".CollegeDetails" >

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:orientation="vertical" >

Kristu Jyoti College of Management and Technology


50
MY COURSE FINDER

<TextView
android:id="@+id/titletxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="#fff"
android:text="Medium Text"
android:textAppearance="?
android:attr/textAppearanceMedium" />

<ImageView
android:id="@+id/clgimg"
android:layout_width="300dp"
android:layout_height="300dp" />

<TextView
android:id="@+id/citytxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="#fff"
android:text="Small Text"
android:textAppearance="?
android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/districttxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="#fff"
android:text="Small Text"
android:textAppearance="?
android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/statetxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="#fff"
android:text="Small Text"
android:textAppearance="?
android:attr/textAppearanceSmall" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/phonetxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

Kristu Jyoti College of Management and Technology


51
MY COURSE FINDER

android:layout_gravity="center_vertical"
android:layout_margin="10dp"
android:textColor="#fff"
android:text="Small Text"
android:textAppearance="?
android:attr/textAppearanceSmall" />

<Button
android:id="@+id/callbtn"
style="?
android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:background="@android:color/transparent"

android:drawableLeft="@drawable/call" />

</LinearLayout>

<TextView
android:id="@+id/emailtxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="#fff"
android:text="Small Text"
android:textAppearance="?
android:attr/textAppearanceSmall" />

<Button
android:id="@+id/coursebtn"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:textColor="#fff"

android:background="@drawable/rounded_button"
android:text="Course Details" />
</LinearLayout>

</RelativeLayout>

Kristu Jyoti College of Management and Technology


52
MY COURSE FINDER

CollegeDetails Java Code

package com.example.mcf;

import java.util.ArrayList;

import org.apache.http.NameValuePair;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONObject;

import android.net.Uri;
import android.os.Bundle;
import android.os.StrictMode;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import android.view.Menu;
import android.view.View;

Kristu Jyoti College of Management and Technology


53
MY COURSE FINDER

import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class CollegeDetails extends Activity {


TextView title,city,district,state,phone,email;
ImageView clgimg;
Button cdetails,call;
String id,clgname;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_college_details);
id=getIntent().getStringExtra("id");
fetchdetails(id);
call=(Button) findViewById(R.id.callbtn);
call.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

String numtext=phone.getText().toString();

Toast.makeText(getApplicationContext(),numtext,Toast.LENGTH_LONG).sh
ow();
Intent callint=new
Intent(Intent.ACTION_CALL);
callint.setData(Uri.parse("tel:"+numtext));
startActivity(callint);
}
});
cdetails=(Button) findViewById(R.id.coursebtn);
cdetails.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent=new
Intent(getApplicationContext(),CourseDetails.class);
intent.putExtra("clgid", id);
intent.putExtra("clgname", clgname);
//Toast.makeText(getApplicationContext(),
id, Toast.LENGTH_SHORT).show();
startActivity(intent);
}
});

Kristu Jyoti College of Management and Technology


54
MY COURSE FINDER

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.college_details, menu);
return true;
}

@SuppressLint("NewApi") public void fetchdetails(String collegeid)


{
try
{
DefaultHttpClient httpclient = new
DefaultHttpClient();
HttpPost httppost= new
HttpPost("http://"+LoginInfo.IPADDRESS+"/MCF/getcollegebyid.php");
StrictMode.ThreadPolicy policy = new
StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
ArrayList<NameValuePair> n= new
ArrayList<NameValuePair>();
n.add(new BasicNameValuePair("clgid",collegeid));
httppost.setEntity(new UrlEncodedFormEntity(n));
ResponseHandler<String> res=new
BasicResponseHandler();

final String data = httpclient.execute(httppost, res);


int l1=0;
JSONArray jarray=new JSONArray(data);
l1=jarray.length();

if(l1==0)
{
Toast.makeText(getApplicationContext(), "No data",
Toast.LENGTH_LONG).show();
}
else
{
for(int i=0;i<l1;i++)
{
JSONObject
json_data=jarray.getJSONObject(i);
String
encodedImage=json_data.getString("image");
//Toast.makeText(getApplicationContext(),
encodedImage, Toast.LENGTH_SHORT).show();
byte[] decodedString =
Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte =
BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

Kristu Jyoti College of Management and Technology


55
MY COURSE FINDER

title=(TextView) findViewById(R.id.titletxt);
city=(TextView) findViewById(R.id.citytxt);
district=(TextView) findViewById(R.id.districttxt);
state=(TextView) findViewById(R.id.statetxt);
phone=(TextView) findViewById(R.id.phonetxt);
email=(TextView) findViewById(R.id.emailtxt);
clgimg=(ImageView) findViewById(R.id.clgimg);
clgname=json_data.getString("clgname");
title.setText(clgname);
city.setText(json_data.getString("city"));
district.setText(json_data.getString("district"));
state.setText(json_data.getString("state"));
phone.setText(json_data.getString("phone"));
email.setText(json_data.getString("email"));
clgimg.setImageBitmap(decodedByte);

}
}

}
catch(Exception e)
{

Toast.makeText(getApplicationContext(),e.getMessage(),
Toast.LENGTH_LONG).show();
}
}

getcollegebyid.php

<?php
require_once("ConnectionClass.php");
$obj=new ConnectionClass();
$collegeid=$_REQUEST['clgid'];
$qry="select * from college where clgid = '$collegeid'";
$data=$obj->GetTable($qry);
foreach($data as $row)
{

$row['image']=base64_encode(file_get_contents("images/".
$row['image']));
//$row[']
//$row['Offer']=$disc;
$res[]=$row;

}
echo json_encode($res);
?>

Kristu Jyoti College of Management and Technology


56
MY COURSE FINDER

5.2 CODE VALIDATION AND OPTIMIZATION

A code validation and optimization technique assisting


the embedded system software debugging to make it more effective at
revealing errors and redundancy is proposed. Since the method adopts a
static analysis, the tool developed has the merits and demerits of static
analysis. Since the analysis is done on machine code this work has got
the advantages and disadvantages of machine code analysis.
Form data validation comes in a couple different
forms. Data can be validated at the field level when it is entered by the
user, and it can be validated at the form level when the form is
submitted or printed. These different types of validation have different,
complimentary purposes and for a complete form design it’s a good
practice to use a combination of the two methods.
FIELD LEVEL VALIDATION
The purpose of field level validation is to verify that the input to a
single field is entered correctly. For example, for an email field, the job
of the validation script is to make sure the entered text matches the
standard email format, that is two sets of strings separated by an “@”
symbol. The most common way to implement a text pattern test like
this is to use a Regular Expression. Most of the time validation scripts
are used to match input text against a pattern using a regular expression.
FORM LEVEL VALIDATION
Form level validation is used to ensure all the required form data is
filled in, and / or to make sure that any data dependencies between
fields are met before the form is submitted. Usually this type of
validation uses a much simpler data test than field level validation
because its assumed that field level validation guarantees any entered
data is correct.

Kristu Jyoti College of Management and Technology


57
MY COURSE FINDER

5.3 TESTING AND VARIFICATION PROCEDURE

SYSTEM TESTING

System testing is actually a series of different whose primary


purpose is to fully exercise the computer based system. Software testing
is critical element of software quality assurance and represent the
ultimate review of the specification, design and coding. System testing
makes a logical assumption that all the part of the system is correct; the
goal will be successfully achieved. Testing is the final verification and
validation activity within the organization itself. During testing the
major activities are concerned on the examinations and modification of
the source code.

Testing is a process of executing a program with the intend of finding


an error. A good test is one that uncovers an as yet undiscovered error.
Testing objectives are;

 Unit testing
 Integration testing
 System testing
 Validation testing
 User acceptance testing
UNIT TESTING

Kristu Jyoti College of Management and Technology


58
MY COURSE FINDER

Unit testing enables a programmer to detect error in coding. A


unit test focuses verification of the smallest unit of software design.
This testing was carried out during the coding itself. In this testing step,
each module going to be work satisfactorily as the expected output
from the module.

Project aspect:

The front end design consists of various forms. They were tested for
data acceptance. Similarly, the back-end also tested for successful
acceptance and retrieval of data.

INTEGRATION TESTING

Through each program work individually, they should work after


linking together. This is referred to as interfacing. Data may be lost
across the interface; one module can have adverse effect on the other
subroutines after linking may not do the desired function expected by
the main routine. Integration testing is the systematic technique for
constructing the program structure while at the same time conducting
test to uncover errors associated with the interface. Using integrated test
plan prepared in the design phase of the system development as a guide,
the integration test was carried out. All the errors found in the system
were corrected for the next testing step.

SYSTEM TESTING

After performing the integration testing, the next step is output


testing of the proposed system. No system could be useful if it doesn’t
produce the required output in a specified format. The outputs
generated are displayed by the user. Here the output format is

Kristu Jyoti College of Management and Technology


59
MY COURSE FINDER

considered in to two ways. One on screen and other in printed format.


Project aspect: The entire project was tested and found successful.

VALIDATION TESTING

The user has to work with the system and check whether the project
meets his needs. In the validation checking the user works with the
beta version of the software.

Project aspect: User enters the appropriate data and results was checked
and validated.

USER ACCEPTANCE TESTING

User acceptance of a system is a key factor of the success of any


system. The system under consideration was tested for user acceptance
by running a prototype of the software. Project aspect: An Alfa version
is demonstrated to the users. Their suggestions are recorded.

TEST CASE DESIGN METHODS

The primary objective of test case design methods is to derive a set of


test that has of highest likelihood of uncovering the defects.

To accomplish this objective, two categories of test case design


techniques are used Black box testing and white box testing.

1) WHITE BOX TESTING

White box testing is a set case design method that uses the control
structure of the procedural design to derive test cases. Using white box
testing methods, we can derive test cases that

 Guarantee that all independent paths within a module have been


exercised at least once
 Exercise all logical decisions on their true and false sides
 Execute all loops at their boundaries and within their operational
bounds

Kristu Jyoti College of Management and Technology


60
MY COURSE FINDER

 Exercise internal data structures to ensure their validity

2) BLACK BOX TESTING

Black box testing methods focus on the functional requirements


in the software. That is, black box testing enables us to derive sets of
input conditions that will fully exercise

All functional requirements of the program Black box testing attempts


to find errors in the following categories:

 Incorrect or missing function


 Interface errors
 Errors in data structure or external job access
 Performance errors
 Initialization and termination errors.
5.4 SYSTEM IMPLEMENTATION

SYSTEM MAINTENANCE

Maintenance of the software is one of major step in the


computer animation. Software which is developed by the engineer,
should undergo maintenance process in regular interval of time goes on
new problems arise and it must be corrected accordingly. Maintenance
and enhancement are a long term process.

Various types of maintenance that can be made are:

 Corrective maintenance
 Adaptive maintenance
 Prefecture maintenance
 Reverse engineering
 Re engineering

Kristu Jyoti College of Management and Technology


61
MY COURSE FINDER

SYSTEM IMPLEMENTATION

Once the system was tested, the implementation phase started.


Crucial phase in the system development life cycle is successful
implementation of new system design. Implementation simply means
converting new system design into operation. This is the moment of
truth the first question that strikes in everyone’s mind that whether the
system will be able to give all the desired result as accepted from
system. Prior to starting the project implementation process project
must have successfully completed the project evaluation process and
the project has been approved for implementation.

The project evaluation process includes performing a needs


analysis and architecture review. The implementation phase of the
software design consists of different tasks to be done sequentially for
obtaining the desired result. Several distinct implementation projects
rather than one large implementation could limit risk and in scope and
resource management. So the project was implemented module wise.

Implementation Methodology

An implementation methodology is a collection of practices,


procedures and rules that must be applied to perform a specific
operation to provide deliverables at the end of each stage. The eight
principles listed below is built from a collection of procedures to
establish an effective implementation methodology framework. This
framework provides flexibility to react and adapt to the unique
requirements of every project, incorporating the principles of:

 Project Management & Planning


 Scope & Requirements Specification
 Risk & Issues Management
 Communication & Training
 Quality Management
 Post-Implementation Review

Kristu Jyoti College of Management and Technology


62
MY COURSE FINDER

 Documentation
 Experience

SCOPE FOR FUTURE


DEVELOPMENT

Kristu Jyoti College of Management and Technology


63
MY COURSE FINDER

CHAPTER 6

SCOPE FOR FUTURE DEVELOPMENT

SCOPE

My Course Finder is an android application that helps students to


access details of various courses offered in different colleges. As of now,
the app provides features like search based on colleges, courses offered
in various colleges, course details, apply for a course etc. The application
form is send through email by any email client available on user’s device.
Later communication between student and college is done through email
or by call where the application does not plays any role. In future, the
application can be modified such that the communication can be done
through the application itself, i.e. students can send application to
colleges. Later responses from colleges are informed through the
application itself making it more easier to handle responses from various
colleges.

Kristu Jyoti College of Management and Technology


64
MY COURSE FINDER

CONCLUSION

Kristu Jyoti College of Management and Technology


65
MY COURSE FINDER

CHAPTER 7

CONCLUSION

My course finder is an android application developed to help the


students to find course best suiting them. This application enables
students to view the fee and duration of the respective course. Students
can compare same courses offered in different colleges. They can
evaluate and find out the best choice for them. They can send the
application to respective colleges through e-mail facility provided in the
application itself.

Thus, My Course Finder application helps students to save time


and money in search of the perfect course suiting them.

Kristu Jyoti College of Management and Technology


66
MY COURSE FINDER

BIBLIOGRAPHY

Kristu Jyoti College of Management and Technology


67
MY COURSE FINDER

CHAPTER 8

BIBLIOGRAPHY

1. M. Mauve, J. Widmer, and H. Hannes, “A Survey on Position-based


routing In Mobile Ad Hoc Networks,” Proc. IEEE Network, pp. 30-39,
Nov./Dec. 2001.

2. Y.C.T seng S.L..Wu,Wh,liao & C.M.Chao,”Location Awerness in ad-


hoc wireless mobile network ” proc.IEEE Computer.pp.46-
25,June2001.

3. Eclipse - http://www.eclipse.org/

4. Google http://www.android.com/

5. IEEE T ransaction on Mobile computing vol,10,no.5, may 2011


Optimal stochastic location updates in mobile ad-hoc networks.

6. Optimal Stochast ic Location Updates in Mobile Ad Hoc Networks


Zhenzhen Ye and Alhussein A. Abouzeid

Kristu Jyoti College of Management and Technology


68
MY COURSE FINDER

APPENDIX

Kristu Jyoti College of Management and Technology


69
MY COURSE FINDER

CHAPTER 9

9.1. INPUT DESIGN

Kristu Jyoti College of Management and Technology


70
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


71
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


72
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


73
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


74
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


75
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


76
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


77
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


78
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


79
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


80
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


81
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


82
MY COURSE FINDER

Kristu Jyoti College of Management and Technology


83

You might also like