Professional Documents
Culture Documents
By
Abdul Rehman Khan
(H.T. No: 160518733019)
Sumeria Begum
(H.T. No: 160518733006)
Mohd Abdul Rehman
(H.T. No: 160518733013)
Under the esteemed guidance of
1
CERTIFICATE
This is to certify that the project work entitled “ Student’s Barracks” is a bonafide work
of Ms. Sumeria Begum bearing H. T. No: 160518733006, Mr. Abdul Rehman Khan
bearing H. T. No: 160518733019, Mr. Mohd Abdul Rahman bearing H. T. No:
160518733013 submitted in partial fulfilment of the requirement for the award of
the degree of Bachelor of Engineering in COMPUTER SCIENCE &
ENGINEERING during the academic year 2020-2021.This is further certified that
the work done under my guidance, and the results of this work have not been
submitted elsewhere for the award of any of the degree.
EXTERNAL EXAMINER
DECLARATION
2
___________________________________________________
I hereby declare that the project work entitled “Student Barracks” submitted to
Department of Computer Science & Engineering of ISL Engineering College,
HYDERABAD, affiliated to OU Hyderabad in partial fulfilment of requirement
for the award of the degree of Bachelor of Engineering in COMPUTER SCIENCE
& ENGINEERING is the work done by me and has not been submitted elsewhere
for the award of any degree.
3
Acknowledgements
___________________________________________________________
I express my sincere thanks to Dr. ABDUL BARI, Professor and Head of the Department ,
who has always been a great source of inspiration and giving me an opportunity to undertake
this project also for encouraging and enlightening me on various aspects of my project
work.
Computer Science & Engineering for his assistance in the evaluation of material and
facts. He not only encouraged me to take up this topic but also gave his valuable guidance in
assessing facts and arriving at conclusions during the course of the project.
I am grateful to the entire faculty for their valuable guidance for successful
I would also like to thanks all my classmates who have extended their cooperation
4
ABSTRACT
Student life, often mentioned as the "seed time" of life is undoubtedly the most important
time for any person to build their life. Success of a person depends on how well s/he utilizes
the time. And without a doubt, student life is the best time for it. To make the life of a student
a bit more easy, we made 'Student's Barracks’, a simple yet useful app to help the student
push their limit a bit further.
This app is bundled with 8 different modules with their own use cases starting from a simple
To Do list to a wikipedia integration. And everything is tied together with a simple intuitive
layout for an easy workflow.
5
1. INTRODUCTION
● Wikipedia: The knowledge house of the internet. Search anything on it, and get a
quick summary.
● To-do: Keep a list of things you don't want to forget.
● Notebook: Keep note of important things.
● Translation: What's the meaning of that? Just search it here.
● Books: Lets you search for some cool books.
● YouTube: You can search for a youtube video in case u need an Explanation.
● About: Just regular boring stuff.
● Setting: Don't like the UI? CHANGE IT!
1.1. OBJECTIVE
This app is bundled with 8 different modules with their own use cases starting from a
simple To Do list to a wikipedia integration. And everything is tied together with a
simple intuitive layout for an easy workflow.
✔ User didn’t get Proper answer from experts in the Same Question.
✔ The answer part is not displayed due to the space limitation
6
1.3.2. LITERATURE SURVEY
7
desired KSA’s have been attained, learner achievement needs to be measured. A number
of studies have compared learner achievement in courses delivered via e-learning and
courses delivered in traditional face-to-face classroom instruction.
In a study of learner achievement at California State University, Schutte (1996)
examined the effects of face-to-face vs. virtual professor-learner interaction, on the test
performance of students. The study used a pre and post-test to obtain data. The Pre-test
questionnaire focused on basic demographics and experience with computers, math, and
statistics. The post-test assessment consisted of learner scores on midterm and final
exams and information from the post-test questionnaire.
On the first day of class, learners were randomly assigned to the face-to-face
course or the virtual course. Comparisons were made between these two groups in sex,
age, ethnicity, years in school, grade point average, and computer familiarity. Students in
both courses took the exact same midterm and final exams.
Results revealed that there was no significant difference in any of the
demographic or experimental variables. However, there were significant differences on
the midterm and final exam. The virtual learners scored an average of 20 points higher on
the 100 point midterm and final exams. Data also indicated that virtual learners
communicated more frequently with other learners than did face-to-face learners.
Because of this, the researcher concluded that it is important that designers of virtual
courses pay close attention to the issue of real time collaboration.
Payne and Payne (1998) discussed the analysis of learner achievement in distance
learning courses delivered by the Federal Aviation Administration (FAA). The FAA,
upon implementing new Interactive Video Teletraining courses, decided to analyze
training effectiveness by comparing the new courses to traditional resident-based
instruction. IVT is a one-way video two-way audio training system.
The major impetus of the FAA’s effort was to identify if the quality of the IVT
courses was equivalent, in learner achievement, to its traditional resident-based training.
To measure learning quality, the FAA compared the learning results of the IVT courses
with resident-based courses. When comparisons were not possible because an IVT course
was all new, pre to post-tests were compared to measure learning.
36
The first course comparison was conducted with a Cockpit Inspection course. The
resident course was thirty-six hours long while the IVT course was only twenty-four
hours long. The mean test score for the resident-based course was a bit higher than the
IVT course, but not statistically significant. The second comparison used pre-test and
8
post-test results to determine learner achievement. The training consisted of four separate
modules from a series titled, Staff Work. The modules were problem solving strategies,
gathering and organizing information, presenting information to others and
communicating with others. Each module averaged about 100 learners. The mean pre-test
scores for the modules were 59.5 percent. The mean post-test score was 70.0. The gain
was statistically significant at the p< .05 level. However, the gain was not as significant
as expected. The cause of the less than expected gain was attributed to a mistake in
enrollment. The course was designed for staff level employees but the course manager
did not restrict enrollment. Hence, many of the students in the courses were not the
intended audience.
A third comparison test was conducted with an Alcohol Testing course. This
comparison also used pre-test and post-test design. Again because this was a new course
there was no resident-based course for comparison. The course was six hours long and
broadcast to 591 supervisors and mangers. The mean pre-test score was 55 percent while
the mean post-test score was 80 percent. This represented a significant gain at the p< .05
level.
The results of the above mentioned evaluations convinced FAA management that
IVT training was as effective as resident-based courses. They believed that the learners in
the IVT courses learned as much as they did in traditional courses.
The military has also conducted comparison studies of distance learning and
traditional training. Wisher and Priest (1998) reported on an analysis of learner
achievement of an audio teletraining in the U.S. Army National Guard. Audio teletraining
is described as simply a high quality conference call that allows learners at multiple
locations to hear and speak to one another through a special switchboard called a bridge.
The system uses standard telephone lines.
Time management
Efficient Learning
9
2. PROJECT DESCRIPTION
2.1. GENERAL
Student life, often mentioned as the "seed time" of life is undoubtedly the most
important time for any person to build their life. Success of a person depends on how well
s/he utilizes the time. And without a doubt, student life is the best time for it. To make the life
of a student a bit more easy, we made 'Student's Barracks’, a simple yet useful app to help the
student push their limit a bit further.
2.3. METHODOLOGIES
2.3.1. MODULES
8 different modules, 8 different usages (if you count the about section too)
● Wikipedia
● To-do
● Notebook
● Translation
● Books
● YouTube
● About
● Setting
Wikipedia
Search for anything in the search bar, and depending on the existence of the page in
Wikipedia, you will get a quick summary on that topic.
10
To-do
Keep track of what you have to do and what you have done so far with this simple to do list.
Not the best out in the market, but it can surely get the work done.
Notebook
Keeping note of important stuff can be really crucial. And a good habit too. In order to help
you grow a good habit, we added a simple note-keeping module.
Translation
As straightforward as it sounds. A student might often face some foreign or new words that
s/he has never met before. A simple translation app will come in handy in this situation.
Books
Books are the best friends of a student. But finding a good book can often be challenging
stuff. So, with the help of google books API, we implemented a book search feature to find
the best book available in the market!
YouTube
YouTube's homepage recommendations can often be a bit distracting when you are trying to
search for some study lectures. To not get distracted with the recommendations, search for
some videos in the YouTube module and then open that on the browser.
Settings
Allows you to customize the app appearance. Also, view the search history for Wikipedia,
YouTube and Books module.
11
2.3.3. MODULE DIAGRAM:
AUTHENTICATION
Input : Provide username and password to get permission for access.
Output: Became authenticated person to request and process the request.
PATIENT QUERIES:
Input : User enter their queries
Output: user queries will be sending to doctor.
DOCTOR REPLY
Input: Experts gets queries from users and reply to them.
Output: A user gets key from doctor.
12
3. REQUIREMENTS
The hardware requirements may serve as the basis for a contract for the
implementation of the system and should therefore be a complete and consistent specification
of the whole system. They are used by software engineers as the starting point for the system
design. It shows what the system does and not how it should be implemented.
13
4. SYSTEM DESIGN
ACTIVITY DIAGRAM
14
4.1.2 USE CASE DIAGRAM
A use case diagram is a type of behavioral diagram created from a
Use-case analysis. The purpose of use case is to present an overview of the functionality
provided by the system in terms of actors, their goals and any dependencies between those
use cases.
Figure 4.1.10
15
5. SOFTWARE SPECIFICATION
5.1 GENERAL
This chapter is about the software language and the tools used in the development of
the project. The platform used here is “KIVY FRAMEWORK”. The Primary languages are
Python and Kivy. In this project Python is chosen for implementation.
Kivy is an open-source and graphical user interface development platform for Python. It
helps to develop mobile applications and multi-touch application software with Natural User
Interface (NUI). It allows the developers to build the application once and use it across all the
devices. It accesses mobile API’s to manipulate things like a camera on a phone, GPS
tracking etc.
4. Extensive support for input devices such as a mouse, keyboard, TUIO, as well as OS-
specific multi touches events.
16
Features:
1. Video: It includes various modules to play video files and streams. Kivy video player
supports some requirements related to videos such as play, pause, stop buttons, text that can
be used as a subtitle, display messages to the user on videos, and more.
2. Multi-touch and gestures: It uses a wide range of widgets that support multi-touch and
gestures. The developers of Kivy provide a gesture library to record the user's gesture.
3. UI features: It comes with a number of widgets and controls to make our mobile interface
more attractive and beautiful. It is used to improve one-handed usability, create new icons or
design elements, navigate gestures, dark mode, and new animations.
4. Visual effects and OpenGL: It uses PyGame for easily creating new games. PyGame
comes with various modules for drawing shapes, dealing with colours and playing music.
5. Flexible: It is more flexible because it can run on a variety of devices like Linux, mobile
phones, windows, tablets, iOS, and Raspberry Pi. It is flexible because it can adapt to new
technologies quickly.
6. Free: Its framework is free to use. To work with Kivy framework, you must have 1 GHz
32 bit (x86), or 64 bit (x64) CPU, 1 GB of RAM, 128 MB of graphical memory, and Python
installed on your system.
Advantages:
17
4. It smoothly works with platforms like Windows, Android, Linux, iOS, macOS, and
Raspberry Pi.
Disadvantages:
Python Features
Python provides many useful features which make it popular and valuable from the other
programming languages. It supports object-oriented programming, procedural programming
approaches and provides dynamic memory allocation. We have listed below a few essential
features.
2) Expressive Language
Python can perform complex tasks using a few lines of code. A simple example, the hello
world program you simply type print("Hello World"). It will take only one line to execute,
while Java or C takes multiple lines.
3) Interpreted Language
18
Python is an interpreted language; it means the Python program is executed one line at a time.
The advantage of being interpreted language, it makes debugging easy and portable.
4) Cross-platform Language
Python can run equally on different platforms such as Windows, Linux, UNIX, and
Macintosh, etc. So, we can say that Python is a portable language. It enables programmers to
develop the software for several competing platforms by writing a program only once.
Python is freely available for everyone. It is freely available on its official website
www.python.org. It has a large community across the world that is dedicatedly working
towards make new python modules and functions. Anyone can contribute to the Python
community. The open-source means, "Anyone can download its source code without paying
any penny."
6) Object-Oriented Language
Python supports object-oriented language and concepts of classes and objects come into
existence. It supports inheritance, polymorphism, and encapsulation, etc. The object-oriented
procedure helps to programmer to write reusable code and develop applications in less code.
7) Extensible
It implies that other languages such as C/C++ can be used to compile the code and thus it can
be used further in our Python code. It converts the program into byte code, and any platform
can use that byte code.
It provides a vast range of libraries for the various fields such as machine learning, web
developer, and also for the scripting. There are various machine learning libraries, such as
Tensor flow, Pandas, Numpy, Keras, and Pytorch, etc. Django, flask, pyramids are the
popular framework for Python web development.
19
Graphical User Interface is used for the developing Desktop application. PyQT5, Tkinter,
Kivy are the libraries which are used for developing the web application.
10) Integrated
It can be easily integrated with languages like C, C++, and JAVA, etc. Python runs code line
by line like C,C++ Java. It makes easy to debug the code.
11. Embeddable
The code of the other programming language can use in the Python source code. We can use
Python source code in another programming language as well. It can embed other language
into our code.
In Python, we don't need to specify the data-type of the variable. When we assign some value
to the variable, it automatically allocates the memory to the variable at run time. Suppose we
are assigned integer value 15 to x, then we don't need to write int x = 15. Just write x = 15.
SQL Server 2005 will be soon reaching its three-year mark, which in
terms of software life-cycle translates into fairly advanced maturity. While this is still far
from retirement age, the name of its successor, SQL Server 2012, suggests that it might be
time for you to start looking into what the new generation has to offer. The release of SQL
Server 2012, originally introduced as Yukon, has already been postponed, but its current Beta
2 implementation (with several incremental Community Technical Previews expected before
Beta 3 becomes available early next year) brings promise of a timely RTM stage (planned for
summer next year). In this series of articles, we will look into functional highlights of the new
20
incarnation of the Microsoft database management system, focusing on those that are likely
to remain unchanged in the final product.
Improvements to the database engine, the details of which are not published by Microsoft,
and the corresponding changes to the main infrastructure components are reflected by a
substantial number of new features as well as enhancements to existing ones. The most
relevant ones can be grouped into several categories, such as high availability and scalability,
security, data management, administration and maintenance, and development.
The demand for high availability is becoming increasingly common and is no longer limited
to major corporate and governmental clients. This results not only from a growing level of
customer expectations, but also from the new political climate associated with more stringent
legislative and regulatory requirements, in which disaster recovery and business continuity
are more relevant than ever. However, businesses are also, at the same time, extremely
interested in keeping their costs to a minimum. Microsoft tries to address these expectations
by implementing scalability enhancements, which ensure that SQL Server can perform
equally well in environments of any size, and by the introduction of several versions of SQL
Server 2008 (geared towards more specialized needs) such as:
● SQL Server Standard Edition - offering the most diverse set of features and intended
for the majority of clients.
● SQL Server 2012 Express Edition - serving as the replacement for Microsoft Data
Engine (MSDE) and available for download from t. Like its predecessor, it was
designed with developers in mind, however, unlike the previous version, it also
includes a Web based management interface.
● SQL Server 2012 Mobile Edition - as a successor to SQL Server 2008 Windows CE
Edition, it is intended for Windows mobile-based devices, such as Tablet PCs, Pocket
PCs, and Smartphones.
The following is a list of the new features provided in SQL Server 2012:
● Database mirroring
21
● Database snapshots
● CLR integration
● Service Broker
● Database Mail
● User-defined functions
● Indexed views
Database mirroring
Database mirroring is a new high-availability feature in SQL Server 2012. It's similar
to server clustering in that failover is achieved by the use of a stand-by server; the difference
is that the failover is at the database level rather than the server level. The primary database
continuously sends transaction logs to the backup database on a separate SQL Server
instance. A third SQL Server instance is then used as a witness database to monitor the
interaction between the primary and the mirror databases.
Database snapshots
A database snapshot is essentially an instant read-only copy of a database, and it is a
great candidate for any type of reporting solution for your company. In addition to being a
great reporting tool, you can revert control from your primary database to your snapshot
database in the event of an error. The only data loss would be from the point of creation of
the database snapshot to the event of failure.
CLR integration
With SQL Server 2012, you now have the ability to create custom .NET objects with
the database engine. For example, stored procedures, triggers, and functions can now be
created using familiar .NET languages such as VB and C#. Exposing this functionality gives
you tools that you never had access to before such as regular expressions.
Service Broker
This feature gives you the ability to create asynchronous, message-based applications
in the database entirely through TSQL. The database engine guarantees message delivery,
22
message order consistency, and handles message grouping. In addition, Service Broker gives
you the ability to send messages between different SQL Server instances. Server Broker is
also used in several other features in SQL Server 2012. For example, you can define Event
Nonfictions in the database to send a message to a Queue in the database when someone
attempts to alter a table structure, of if there is a string of login failures.
Database Mail
Database Mail, the eventual successor to SQL Mail, is greatly enhanced e-mail
solution available in the database engine. With Database Mail, there is no longer a
dependency on Microsoft Outlook or MAPI e-mail clients. Database Mail uses standard
SMTP to send e-mail messages. These messages may contain query results, attachments
(which can be governed by the DBA), and is fully cluster aware. In addition, the e-mail
process runs outside of the database engine space, which means that messages can continue
to be queued even when the database engine has stopped.
User-Defined Functions
SQL Server has always provided the ability to store and execute SQL code routines
via stored procedures. In addition, SQL Server has always supplied a number of built-in
functions. Functions can be used almost anywhere an expression can be specified in a query.
This was one of the shortcomings of stored procedures—they couldn't be used in line in
queries in select lists, where clauses, and so on. Perhaps you want to write a routine to
calculate the last business day of the month. With a stored procedure, you have to exec the
procedure, passing in the current month as a parameter and returning the value into an output
variable, and then use the variable in your queries. If only you could write your own function
that you could use directly in the query just like a system function. In SQL Server 2012, you
can.
SQL Server 2012 introduces the long-awaited support for user-defined functions.
User-defined functions can take zero or more input parameters and return a single value—
either a scalar value like the system-defined functions, or a table result. Table-valued
23
functions can be used anywhere table or view expressions can be used in queries, and they
can perform more complex logic than is allowed in a view.
Indexed Views
Views are often used to simplify complex queries, and they can contain joins and
aggregate functions. However, in the past, queries against views were resolved to queries
against the underlying base tables, and any aggregates were recalculated each time you ran a
query against the view. In SQL Server 2012 Enterprise or Developer Edition, you can define
indexes on views to improve query performance against the view. When creating an index on
a view, the result set of the view is stored and indexed in the database. Existing applications
can take advantage of the performance improvements without needing to be modified.
Indexed views can improve performance for the following types of queries:
6. IMPLEMENTATION
Output:
● Fig 1: Home Screen
○
24
●
● Fig 2: Wikipedia
25
●
26
● Fig 4: Notebook Module
●
27
●
28
●
29
● Fig 7:
●
8. SOFTWARE TESTING
8.1 GENERAL
The purpose of testing is to discover errors. Testing is the process of trying to
discover every conceivable fault or weakness in a work product.
It provides a way to check the functionality of components, sub-assemblies,
assemblies and/or a finished product It is the process of exercising software with the intent of
ensuring that the Software system meets its requirements and user expectations and does not
fail in an unacceptable manner.
There are various types of test. Each test type addresses a specific testing requirement.
30
8.2 DEVELOPING METHODOLOGIES
The test process is initiated by developing a comprehensive plan to test the general
functionality and special features on a variety of platform combinations.
Strict quality control procedures are used.
The process verifies that the application meets the requirements specified in the
system requirements document and is bug free.
The following are the considerations used to develop the framework from developing the
testing methodologies.
Any project can be divided into units that can be further performed for detailed
processing.
Then a testing strategy for each of this unit is carried out. Unit testing helps to identity the
possible bugs in the individual component, so the component that has bugs can be identified
and can be rectified from errors.
Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program input produces valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the documented specifications and contains clearly
defined inputs and expected results.
31
8.3.2 Functional Test
Functional tests provide systematic demonstrations that functions tested are available
as specified by the business and technical requirements, system documentation, and user
manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.
32
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by interface
defects.
The task of the integration test is to check that components or software applications,
e.g. components in a software system or – one step up – software applications at the company
level – interact without error.
FUTURE ENHANCEMENT
● We are in a digital age. Where everyone is stick to their screens, Books are being
replaced by “e-books”. We are planning to add an in-built e-book viewer in future
updates.
● We are also planning a free ebook library where students can get whatever book he
wants for free.
10. CONCLUSION
Time is important. if not, The most important aspect of a student’s life. The whole of his
future relies on how he utilizes time. Our App’s main purpose is to save as much time as
possible and help manage it efficiently. The app is meant to be a companion for the students.
May the App fulfil its purpose and end up being helpful.
33
References:
● Python official documentation: https://www.python.org/doc/
● Kivy official documentation: https://kivy.org/doc/stable/
● Wikipedia 1.4.0 documentation: https://wikipedia.readthedocs.io/en/latest/
● youtube-search-python · PyPI: https://pypi.org/project/youtube-search-python/
● Googletrans 3.0.0 documentation: https://py-googletrans.readthedocs.io/en/latest/
34