1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Hệ thống thông tin: Building a cloud based quiz system for student studying

143 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Building A Cloud Based Quiz System For Student Studying
Tác giả Nguyen Van Bao
Người hướng dẫn PhD. Nguyen Thanh Binh
Trường học University of Information Technology
Chuyên ngành Bachelor of Engineering in Information Systems
Thể loại Graduation Thesis
Năm xuất bản 2024
Thành phố Ho Chi Minh City
Định dạng
Số trang 143
Dung lượng 37,01 MB

Nội dung

o Feature Development: = Implement core features such as Exam Quiz, Daily Quiz, True/False Quiz, Math Quiz.. o User Roles: = Admin: e Create and manage quizzes Manage Daily Quiz, Manage

Trang 1

VIETNAM NATIONAL UNIVERSITY HCM

UNIVERSITY OF INFORMATION TECHNOLOGY

FACULTY OF INFORMATION SYSTEM

NGUYEN VAN BAO - 18520494

PhD NGUYEN THANH BINH

HO CHI MINH CITY, 2024

Trang 2

The thesis topic of building a cloud based quiz system for student studying is the

content that I researched and made my graduation thesis after studying at the

Faculty of Information Systems, University of Information Systems, University ofInformation Technology - Vietnam National University Ho Chi Minh City While

researching and completing the thesis, I received a lot of attention and support fromteachers, colleagues, family, and friends For the successful completion of this

thesis, I would like to express my sincere thanks to:

Faculty of Information Systems, University of Information Technology - VietnamNational University, Ho Chi Minh City has created a very good learning and

training environment, providing me with useful knowledge and skills to help me

apply and improve my skills advantages in writing the thesis

Instructor PhD Nguyen Thanh Binh is a teacher who wholeheartedly guided and

helped me throughout researching and writing this thesis He gave me some ideas

and suggestions to help me complete this research

I would also like to thank the Board of Directors and teachers at the University of

Information Technology for allowing me to study and work at the university to gain

practical knowledge and experience I have helpful information for my thesis

Finally, I would like to thank my family and friends for always encouraging me andcreating the best conditions for me to strive to complete my research project well

Sincerely thank!

Nguyen Van Bao

Trang 3

UNIVERSITY OF INFORMATION

Advanced

TECHNOLOGY Education

ProgramADVANCED PROGRAM

e Details of what to be done:

o Project Planning and Research:

= Define the scope of project to be covered by the app

= Conduct research on existing quiz apps to identify features,

user interfaces, and potential improvements

o Development Environment Setup:

= Set up the development environment, including version

control, integrated development environment (IDE), andnecessary tools

o Database Design and Security:

Trang 4

= Design the database structure to efficiently store quiz-related

data

o Feature Development:

= Implement core features such as Exam Quiz, Daily Quiz,

True/False Quiz, Math Quiz

Scope:

o The project focuses on using Flutter Framework and Firebase

Platform to build the mobile application

o User Roles:

= Admin:

e Create and manage quizzes (Manage Daily Quiz,

Manage Exam Quiz)

e Track the number of people registered to use the

application

= Users:

e Register and create individual profiles

e Take quizzes

e View immediate detailed results

o Exam Quiz Features:

= Test your knowledge with Exam Quiz Answer questions

within a set time limit

o User Authentication and Security:

= User Registration: Allow users to sign up or log in quickly

Trang 5

o Design Intuitive User Interface

o Implement Core Features

o Establish Data Security Measures

o Adhere to Project TimelineMethodologies: Design Thinking, Database Design, Security

Implementation

Expected results: For this thesis, I want to build and develop a fullyfeatured application that offers different types of necessary knowledge Italso provides smooth and efficient learning, memorizing, and test-taking

experience for everyone, especially students

Research timelines:

19/02/2024 to 05/03/2024:

o Define project scope and objectives, set up project management tools

and develop a detailed project plan

Trang 6

Approved by the advisor(s)

Signature(s) of advisor(s)

Ho Chi Minh City, / /

Signature(s) of student(s)

Trang 7

2.1 Introduction to Cloud-Based Learning Systems «+5 «5< <c<s<++ 52.2 Solutions Available on the Market - 56 <1 k3 E* 9v kikskseeeeevee 5

2.3 Student Engagement and Performance - - + + «+ ++s£+v+seEsereerseees 72.4 Technologies for Cloud-Based Quiz Systems - 5 5c c+csees 72.5 Case Studies and Applications - - + xxx nh nghiệt 92.6 Challenges and Future Directions - - 5G n1 23 911931191191 kg re, 9

Chapter 3: BACKGROUND KNOWLEDGE 2-5 S+<cs++scssseereees 10

3.1 Android OS Overview eee HH TT TH TH HH nh 11

BLL Introduction oe 11k0 02c 133.1.3 Architecture Android - «+ + x1 9E nh nh ng tr 133.2 Visual Studio CO(e - s1 ng ni ng Ti ng nh ng 20

3.2.1 (6i asa1ỚỪ 20

3.2.2 FEAatures 2 21

Trang 8

KÝ Voi Ầ 223.2.4 Lo in 44 233.3 Flutter - Cross platform for MObIÏÌe - - <6 1 3E ESkvseksseeseeeree 24

3.5.1 In{TOUCfIOTN - 6 + 119v 9h nh HT HH nh nhà 283.5.2 AVATAĐ€ HH T9 TH HT HH Họ 29

3.8.1 IntrOduCfIOT\ - - - - << <2 1E EEEEEE6111166 2155335311118 11H55 1x kkreg 36

Trang 9

E4) na :¬::-: -Ÿ©›ÖẰ-Ls5E5Ố 37

Chapter 4: ANALYSIS AND DESIGN ĂSccSSssseieerrerree 41

4.1 General arCH1f€CfUITE G1 101991 ng ng vết 414.2 Process on nỪDỪDỪ 41

4.3 Use-case øeneraÌ1ZtÏOI s11 139113911 9119 11 11 1 1n ng 444.4 Web ii ae Ơ 45

4.4.1 List Of ACẨOTS - Gv HT TH TH TH Tu HH nh nh 45

““IPF loài .uAẠIIậạaađ 454.4.3 Use-case specification and diagrams s «+ +<s*++s++sesseess 454.5 Mobile CÌÏI€TRE 2n 1 1991191011 1 19h nh nh TH TH HH nh 91

4.5.1 List Of AC[OTS G1 TT HH ng TH TH nh 91

4.5.2 List Of USC-CASES - HT TH TH TH HH nh 914.5.3 Use-case specification and diagrams 5+ +< + £+s£+s£++ec+se++ 92

4.7.2 Web admin panelL - «+ + x19 9v ng ng nh 118

Chapter 5: SUMMARY AND FUTURE WORK - << 126

ha 126b0 02001 13 126

REFERENCES - - Án TH Hệ 127

Trang 10

1: System ATChIt€CfUT€ - 6 1S ng nưệp 412: Process follow of web admin panel ‹- «+ «+ ++xx+ereereesereke 423: Process follow of mobile appÏIcaftIONn s5 «+ << +++eessseeesess 434: Use-case website øeneral1Z4fIOT - - - «+ + +vsskkseeesreereeee 445: Use-case mobile øeneral1ZatIOIA - s5 + ++kE+svkEsseeseeeeesees 446: Activity diagram: Sign 1T1 - - c3 332118331 EESEeseeerereerreerrrre 477: Sequence diagram: Sign 1T\ - c5 1+1 33 2E E£EESEeEeeererseerrrersee 488: Activity diagram: Sign OU - -.- 5 s19 vn ng rưệt 499: Sequence diagram: Sign OUK - - 5 + + k**tESeEeserereeereerereee 5010: Activity diagram: Change password 5 525 + +vssserseee 5211: Sequence diagram: Change paSSWOT 6 se svsrsesek 5312: Activity diagram: Create exam qu1z que€sfiOI -« -« «<< «+2 5513: Sequence diagram: Create exam QUIZ quesf1On «« -«++ 56

14: Activity diagram: Update exam quiz quesf1on - «<< «<2 58

15: Sequence diagram: Update exam quiz queSfIOn - - «+ 59

Trang 11

Figure 4.

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

Figure 4

16:

17:

18:

19:

20:

21:

22:

23:

24:

25:

26:

27:

28:

29:

30:

31:

32:

33:

34:

35:

36:

37:

38:

39:

40:

41:

42:

43:

44:

Activity diagram: Delete exam quiz quesfIon - - «<< «<2 61

Sequence diagram: Delete exam quiz quesfIOn «« -«<+ 62 Activity diagram: Create daily quiz quesfIOn - -.‹ s<+-«<<s+2 65

Sequence diagram: Create daily quiz queSfIOn «« -«++ 65

Activity diagram: Update daily quiz quesflon -««+<s«<+ 67 Sequence diagram: Update daily quiz question - -« 68

Activity diagram: Delete daily quiz quesfion -« ««+ 70

Sequence diagram: Delete daily quiz quesfIOn - «« s«<+ 71 Activity diagram: Create math quiz quesfIOn - -«++-ss++sss+ 73 Sequence diagram: Create math quiz queSfIOn «5s «+ 74 Activity diagram: Update math quiz quesf1on « - «<< «<2 76 Sequence diagram: Update math quiz question - 77

Activity diagram: Delete math quiz quesfIOn - « «<5s«2 79 Sequence diagram: Delete math quiz queSfIOn - - «5< «5+ 80 Activity diagram: Create true/false quiz queSfIOn -‹ 82

Sequence diagram: Create true/false quiz quesfIon - - 83

Activity diagram: Update true/false quiz question -‹- 85

Sequence diagram: Update true/false quiz quesfIon - - 86

Activity diagram: Delete true/false quiz quesfIon - ‹ 88

Sequence diagram: Delete true/false quiz quesfIon - - - 89

Activity diagram: View user list esc eeceeseeseceeceseeceneceaeeeseeeeneeeees 90 Sequence diagram: View USer list 5 55 S5 Eeeeesereeers 91

Activity diagram: Sign 1n apD - 5 ca tk si, 93 Sequence diagram: Sign iN apDD 5 se rnriey 94 Activity diagram: Sign OUt apD - 5 <6 + Series 95 Sequence diagram: Sign OUf apDD 5 << + **+EsskEeeesereeees 96 Activity diagram: View pDTOẨTÏe ng nrkp 97 Sequence diagram: View DTOẨIÏ€ - s5 k + *sskkseesserseee 98 Activity diagram: Take Exam Qu1zZ - - 55+ +ss*++s+seesseexss 100

Trang 12

Sequence diagram: Take Exam QUIZ - 25 5< «<< ++se+se+ 100

Activity diagram: Take Daily QQU17 - 25 55+ £sseesseeess 101

Sequence diagram: Take Daily (Qu1z - 5 55+ + <++eesx 102

Activity diagram: Take true/false Qu1z - +5 «<< <++es++ 103

Sequence diagram: Take true/false Qu1z - << <+<<<<ss+ 104

Activity diagram: Take Math Qu1z - 5 255 ssesseeess 105Sequence diagram: Take Math QQu1z - 5 55 << <<+<c<++ 106

UI of home Screen = 109

UI of Login SCreCN 0117 110

UL Of nav-batt oo 111/8u:)vv:-i 017 112

UI of dashboard DaØG - c1 123111911 9111111111 re ree 118

UI of manage daily quiz D4© - 5 c3 1 3E sESskEsereeeeserek 119

UI of create new question daily QU17 - - 55s ++ssesseeess 119

UI of update question daily Quiz 55 555 +<£++£ssesseeess 120

UI of manage true/false qU1Z Daة - - 5 55 S6 +E+ksesrrsersee 121

UI of add new question pop-up of true/false qu1Z ‹ 121

UI of edit question pop-up of true/false qU1zZ - «<< «<<<+ 122

UI of add new question math quiz POP-UP - 555 << <5 s52 123

UI of edit question math Quiz pOD-UD - 5 55+ *s+*s++ess+ 123

UI of manage exam QUIZ DA - 55c 133 £+EESseereeeeseeeree 124

Trang 13

Figure 4 74: UI of add new question exam QUIZ pOp-UD ««+s«<++<<<++Figure 4 75: UI of edit question math quiz DOD-UD 25 5 5+5 ££+se++ess+

Figure 4 76: UI of view user page

Trang 14

TABLE CATALOG

Table 4 1: System’s actors nh 45

Table 4 2: List of use-case W€bSI€ - - su ng ng nh 45 Table 4 3: Use case Specification: Sign 1T - - + xxx HH re, 46 Table 4 4: Use case Specification: Sign OUK .- -c- ch nrưy49 Table 4 5: Use case Specification: Change paSSWOTC 5 Sex sskeseee 51 Table 4 6: Use case Specification: Create exam quiz question - - «+ 54

Table 4 7: Use case Specification: Update exam quiz question - 57

Table 4 8: Use case Specification: Delete exam quiz question -«- 60

Table 4 9: Use case Specification: Create daily quiz questIon - -« 63

Table 4 10: Use case Specification: Update daily quiz question 66

Table 4 11: Use case Specification: Delete daily quiz questIon - -‹ 69

Table 4 12: Use case Specification: Create math quiz questIon -‹ 72

Table 4 13: Use case Specification: Update math quiz quesfion 75

Table 4 14: Use case Specification: Delete math quiz question ‹ 78

Table 4 15: Use case Specification: Create true/false quiz quesfion 81

Table 4 16: Use case Specification: Update true/false quiz question 84

Table 4 17: Use case Specification: Delete true/false quiz question - 87

Table 4 18: Use case Specification: View user ÏIS( s. 5 «se seeeeeeees 89 Table 4 19: Application actors 1n e 91 Table 4 20: List of US€ CAaS€S - SG 1T ng TH HH nh 92 Table 4 21: Use case Specification: Sign 1n app ce eseesesscesecseceteceeeeneeseceeenees 92 Table 4 22: Use case Specification: Sign OUt App eccesceeseceseeeseceeeeeseeeeeeeeseeeees 95 Table 4 23: Use case Specification: View DTOfTÏ€ - ccs+c series 97 Table 4 24: Use case Specification: Take eXam QUIZ - - 5 6s £+xs+eesecss 98 Table 4 25: Use case Specification: Take daily QU1Z - 55555 << s+++ess+ 101 Table 4 26: Use case Specification: Take true/false qu1Z «++-«<+<+ 102 Table 4 27: Use case Specification: Take math QU1zZ - 5555 « «+ << +++s+++ 105 Table 4 28: Overview databasSe€ - - - HH HH TH HH HH hcm 106

Trang 15

35: Scores collection

Trang 16

ACRONYMS CATALOG

Trang 17

Currently, the education issue is very focused, underscoring the imperative for a

robust quiz platform In this context, the demand for a reliable platform arises due

to the importance of assessments in educational settings Whether for evaluating

students' comprehension, facilitating self-assessment, or aiding in certification

processes, there's a crucial need for a quiz system However, the challenge lies in

the difficulty of creating and disseminating quizzes effectively Traditional methodsmay struggle to reach all students or fail to provide comprehensive feedback To

address these challenges, a quiz system application is proposed Operating on the

Android platform to leverage its widespread accessibility, this system aims to

provide a centralized hub where educators can create quizzes, students can access

them, and both parties can receive timely feedback Key features include user

registration, quiz creation, real-time scoring, math quizzes, exam quizzes, and easyaccessibility via mobile devices

Ultimately, the envisioned quiz platform aims to revolutionize the assessment

landscape by providing educators and students with a versatile, accessible, and

effective tool for learning, memorizing, and test-taking By addressing the diverse

needs and challenges of modern education, this platform contributes to the

advancement of educational outcomes, equity, and innovation in teaching and

learning practices

Trang 18

Chapter 1: PROBLEM STATEMENT

1.1 Overview

In response to the burgeoning demand for efficient assessment tools, the

endeavor to construct a comprehensive quiz system emerges as a pivotal initiative.Amidst the landscape technology revolution 4.0, the necessity for robust evaluation

methods has gained prominence, particularly in educational settings where

traditional assessment methods face limitations The development of a quiz systemoffers a solution to this challenge, providing educators with a versatile platform to

create, disseminate, and evaluate quizzes effectively

Within the context of today's technologically driven society, mobile devices have

become indispensable tools for information exchange and learning The

proliferation of smartphones and the ubiquity of internet connectivity have created

an opportune environment for the development of quiz systems tailored for mobileplatforms

As the market for mobile applications continues to expand, the development of quizsystems represents a promising avenue for innovation and growth By offering

features such as diverse question types, adaptive learning algorithms, and real-timefeedback mechanisms, the quiz system caters to the evolving needs of educators and

educators to personalize learning experiences and track student progress effectively

In essence, the development of a quiz system on the Android platform embodies theintersection of educational innovation and technological advancement It represents

a proactive response to the evolving needs of educators and learners in a rapidly

changing digital landscape So, I chose the topic "Building a cloud based quiz

Trang 19

system for student studying" This application provides smooth and efficient

learning, memorizing, and test-taking experience for everyone, especially students

1.2 Purpose

Building a cloud based quiz system for student studying satisfied:

e Simple, easy to use intuitive interface, easy to manipulate

e Suitable for widely deployed applications, the expansion is less expensive

e The system is easy to maintain and develop

e Make sure to meet the user’s needs

e Building safe and reliable applications

1.3 Subject and scope of the study

1.3.1 Subject:

This study focuses on developing a cloud-based quiz system tailored for

students Utilizing technologies such as React, Firebase, and Flutter, the system isdesigned to enhance the learning experience by providing a smooth and efficient

platform for creating, managing, and taking quizzes The application aims to

improve assessment methods, streamline quiz administration, and support real-timecollaborative learning Future optimizations and updates will focus on performanceenhancements, user feedback integration, and expanding system capabilities to

ensure scalability and robustness

1.3.2 Scope of the study:

In The project focuses on using Flutter Framework and Firebase Platform to

build the mobile application

Trang 20

o Users:

= Register and create individual profiles

= Take quizzes

= View immediate detailed results

e Exam Quiz Features:

o Test your knowledge with Exam Quiz Answer questions within a set

time limit

e User Authentication and Security:

o User Registration: Allow users to sign up or log in quickly with

Google

o Data Privacy: Implement security measures to protect user data

1.4 Report Structure

Chapter 1: Problem Statement: State the reason for choosing the topic,

purpose, object, and scope of the research

Chapter 2: Literature Review: which talks about existing quiz systems,

technology analysis, functions

Chapter 3: Background Knowledge: List the technologies and programming

languages used to build the system

Chapter 4: Analysis and Design: Briefly describe the scientific research work

carried out, the results of the scientific research, or the experimental results For

application topics that result in software products, there must be design, and

installation, according to learned models (UML, )

Chapter 5: Summary and Future work: Present the results achieved, new

contributions, and new proposals The conclusion should be brief, without furtherdiscussion and commentary

References: Include materials cited, used, and mentioned for discussion in the

thesis

Trang 21

Chapter 2: LITERATURE REVIEW

2.1 Introduction to Cloud-Based Learning Systems

Cloud-based learning systems have significantly transformed the educational

landscape by providing scalable, flexible, and cost-effective solutions These

systems leverage cloud computing technologies to offer educational resources and

tools accessible from anywhere, at any time, thereby supporting diverse learning

environments and enhancing the overall educational experience In this context,

building a cloud-based quiz system for student studying represents an innovative

approach to modern education, addressing the need for interactive and efficient

learning tools

2.2 Solutions Available on the Market

With the rapid development of technology, several cloud-based quiz systems

have emerged, offering unique features tailored to various educational needs

Popular platforms include Kahoot!, Quizizz, and Google Forms, which provide

interactive and engaging quiz experiences These systems allow for real-time

feedback, easy integration with Learning Management Systems (LMS), and

scalability to accommodate large user bases

- Kahoot! is known for its game-like environment, where quizzes are presented in afun and competitive manner, motivating students to participate actively

Trang 22

Figure 2 1: Kahoot!

- Quizizz offers a self-paced quiz experience, allowing students to complete quizzes

at their own pace while receiving instant feedback

3 Sage Caspian

2m |) Papaya Dolittle

- Google Forms provides a versatile platform for creating customized quizzes, with

Figure 2 2: Quizizz

various question types and automated grading features

These platforms have been widely adopted in educational settings due to their ease

of use, accessibility, and ability to engage students effectively

Trang 23

2.3 Student Engagement and Performance

Interactive and engaging quiz systems can significantly enhance student

engagement and performance By providing instant feedback, these systems help

students identify their strengths and weaknesses, promote active learning, and foster

a competitive yet collaborative learning environment The gamification elements inplatforms like Kahoot! and Quizizz have been particularly effective in increasing

motivation and participation among students

Research has shown that students who use interactive quiz systems are more likely

to retain information and perform better in assessments The immediate feedback

provided by these systems allows students to understand their mistakes and correct

them in real-time, leading to improved learning outcomes

2.4 Technologies for Cloud-Based Quiz Systems

Android is currently the most popular mobile operating system today, with an

average market share of more than 50% worldwide It is an open-source

Linux-based operating system designed for touch screen mobile devices such as

smartphones and tablets The open-source nature of Android, coupled with the

unfettered license, allows device developers, mobile networks, and programmers toadapt and distribute Android freely These factors have helped make Android the

most popular smartphone platform in the world, accounting for 75% of the

worldwide smartphone market share as of Quarter 3, 2012, with a total of 500

million devices activated and 1.3 million activations per day

Developing an Android app that runs well on a particular Android phone or tablet issimple However, developing an app that runs well on all Android devices can be

extremely challenging because of the huge differences in operating system versions,

screen sizes, and device capabilities

Advantages of Android:

e As an open-source operating system, it is highly customizable and can be

freely edited without interference or prohibition from Google

Trang 24

Diverse products, with many phone companies and technology devices

favoring Android for their devices, offer reasonable prices from popular tohigh-end

The massive Google Play Store app store

Friendly and easy to use

Ability to multitask, run multiple applications at the same time

it, you often have to buy a new device

Android devices are increasingly upgraded and support more hardware sensors Theadvancement of technology and user experience is driving the growth of the mobileapp design market Each new update of new operating systems will create new

improvements in mobile app design and features to better meet user needs

JavaScript is a popular, flexible, high-level programming language used to create

interactive websites and modern web applications It is executed by web browsers,allowing web developers to add dynamic and responsive features to their websites.JavaScript can also be used outside of the web browser, such as in server-side

application development and mobile application development

React is commonly used for front-end development due to its component-based

architecture and ease of integration with other libraries and frameworks

Trang 25

Firebase and Firestore are popular choices for real-time database and scalable datastorage, offering robust and responsive platforms capable of handling dynamic data

and real-time interactions

These technologies enable the development of responsive and interactive quiz

systems that can handle large volumes of data and provide real-time updates to

users.

2.5 Case Studies and Applications

Several case studies illustrate the successful implementation of cloud-based quizsystems in educational settings For instance, the use of Google Forms and Firebase

to create customizable and interactive quizzes has been widely adopted These

systems allow educators to design quizzes that meet specific learning objectives andprovide valuable insights into student performance

The effectiveness of gamified quiz systems, such as those offered by Kahoot! and

Quizizz, in engaging students and enhancing learning outcomes has been

well-documented These case studies highlight the versatility and impact of cloud-basedquiz systems in various educational contexts

2.6 Challenges and Future Directions

Despite their advantages, cloud-based quiz systems face challenges such as data

privacy concerns, internet dependency, and the need for continuous updates and

maintenance Addressing these challenges requires ongoing research and

development Future directions may include the use of artificial intelligence to

personalize learning experiences, advanced analytics to provide deeper insights intostudent performance, and enhanced security measures to protect user data

Artificial intelligence can be used to create adaptive learning environments that

tailor quizzes to individual student needs, improving learning efficiency and

outcomes Enhanced security measures are crucial to protect sensitive student data

and ensure compliance with privacy regulations

Trang 26

Chapter 3: BACKGROUND KNOWLEDGE

The development of a cloud-based quiz system tailored for student studying

represents a significant advancement in educational technology This initiative aims

to leverage cloud infrastructure to provide students with a versatile and accessible

platform for learning By harnessing the scalability, flexibility, and collaborative

capabilities of cloud computing, the quiz system offers a dynamic and engaging

learning experience for students across diverse educational settings

Key features of the cloud-based quiz system include user-friendly interfaces, time feedback mechanisms, daily quizzes, math quizzes, exam quizzes, manage

real-exam quizzes, and manage daily quizzes Through these features, administrators cancreate questions and students can access, and participate in quizzes anytime,

anywhere, using any internet-enabled device Additionally, the cloud-based

architecture ensures seamless scalability, allowing the platform to accommodate

varying levels of user activity and data volume

The implementation of security measures, such as data encryption and access

control, ensures the protection of sensitive student information stored in the cloud

Moreover, the system's analytics capabilities enable educators to track student

progress, identify learning trends, and personalize instruction based on individual

needs

Overall, the development of a cloud-based quiz system for student studying

represents a transformative step towards enhancing the effectiveness and

accessibility of educational assessment By harnessing the power of cloud

computing, this initiative empowers students to engage actively in their learning

journey, while providing educators with valuable insights to support student

SUCCESS.

10

Trang 27

3.1 Android OS Overview

3.1.1 Introduction

Android Inc was founded in Palo Alto, California, in October 2003 by Andy

Rubin, Rich Miner, Nick Sears, and Chris White Rubin described the Android

project as having "tremendous potential in developing smarter mobile devices that

are more aware of its owner's location and preferences" Android is a mobile

operating system based on a modified version of the Linux kernel and other

open-source software, designed primarily for touchscreen mobile devices such as

smartphones and tablets Android is developed by a consortium of developers

known as the Open Handset Alliance, though its most widely used version is

primarily developed by Google It was unveiled in November 2007, with the first

commercial Android device, the HTC Dream, being launched in September

2008.[1]

At its core, the operating system is known as the Android Open Source Project

(AOSP) and is free and open-source software (FOSS) primarily licensed under the

Apache License The source code has been used to develop variants of Android on arange of other electronics, such as game consoles, digital cameras, portable media

players, and PCs, each with a specialized user interface Some well-known

derivatives include Android TV for televisions and Wear OS for wearables, both

developed by Google Software packages on Android, which use the APK format,

are generally distributed through proprietary application stores like Google Play

Store, Amazon Appstore, Samsung Galaxy Store, Huawei AppGallery, Cafe

Bazaar, GetJar, and Aptoide, or open source platforms like F-Droid.[1]

Android has been the best-selling OS worldwide on smartphones since 2011 and on

tablets since 2013 As of May 2021, it had over three billion monthly active users,

the largest installed base of any operating system in the world, and as of January

2021, the Google Play Store featured over 3 million apps Android 14, released on

October 4, 2023, is the latest version, and the recently released Android 12.1/12L

II

Trang 28

includes improvements specific to foldable phones, tablets, desktop-sized screens

and Chromebooks.[1]

The android platform integrates many outstanding features:

e Beautiful UI: Android OS basic screen provides a beautiful and intuitive user

interface

® Connectivity: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth,

Wi-Fi, LTE, NFC, and WiMAX

e Storage: SQLite, a lightweight relational database, is used for data storage purposes.

® Media support: H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC,

HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP

e Messaging: SMS and MMS

e Web browser: Based on the open-source WebKit layout engine, coupled with

Chrome's V8 JavaScript engine supporting HTMLS and CSS3

e@ Multi-touch: Android has native support for multi-touch which was initially

made available in handsets such as HTC Hero

e Multi-tasking: The user can jump from one task to another, and at the same

time various applications can run simultaneously

e Resizable widgets: Widgets are resizable, so users can expand them to show

more content or shrink them to save space

e Multi-Language: Supports single-direction and bi-directional text.

e GCM: Google Cloud Messaging (GCM) is a service that lets developers send

short message data to their users on Android devices, without needing a

proprietary sync solution

e Wi-Fi Direct: A technology that lets apps discover and pair directly, over a

high-bandwidth peer-to-peer connection

e Android Beam: A popular NFC-based technology that lets users instantly

share, just by touching two NFC-enabled phones together

12

Trang 29

3.1.2 Characteristics

- Open source:

Android is built from the ground up allowing developers to create compelling

mobile apps that take full advantage of the strengths of existing handsets Android

is completely open, an application can call any of the core phone functions such asmaking calls, sending messages, or using the camera, allowing developers to createricher, more connected features capabilities for users Android is built on the open

Linux kernel In addition, it uses a virtual machine that has been optimized for

memory and hardware for mobile environments Android, which is open source, it

can be extended to freely combine emerging technologies This platform will

continue to be developed by the development community to create perfect mobile

applications

- Inter-app integration:

With Android, there is no difference between basic phone apps and third-party

apps They are built for equal access to a wide range of phone applications and

services With devices built on the Android platform, users can fully satisfy the

needs they like We can change the background screen, phone call pattern, or any

application We can even instruct the phone to only view the photos we like

- Higher Success Ratio:

Android provides a large library of application programming interfaces and toolsfor writing complex applications For example, Android can allow developers to

know the device's location and allow devices to communicate with each other to

create a widespread peer-to-peer social network In addition, Android includes a full

set of tools that make development easy

3.1.3 Architecture Android

Android is an open-source and Linux- grounded Operating System for mobile

bias like smartphones and tablet computers Android was developed by the Open

Handset Alliance, led by Google, and other companies Android offers a unified

approach to operation development for mobile bias which means inventors need

13

Trang 30

only develop for Android, and their operations should be suitable to run on differentbiases powered by Android The first beta interpretation of the Android Software

Development Kit (SDK) was released by Google in 2007 whereas the first

marketable interpretation, Android1.0, was released in September 2008 On June

27, 2012, at the Google I/ O conference, Google blazoned the coming Android

interpretation,4.1 Jellybean Jellybean is an incremental update, with the primary

end of perfecting the stoner interface, both in terms of functionality and

performance The source law for Android is available under free and open-source

software licenses Google publishes the utmost of the law under the Apache License

interpretation2.0 and the rest, Linux kernel changes, under the GNU General PublicLicense interpretation 2 The android platform integrates numerous outstanding

An illustration of the architecture of an android, showing its several key

components and their supporting elements

14

Trang 31

Activity Manager

LINUX KERNEL

Camera Bluetooth Flash Memory Binder (IPC)

Driver Driver Driver Driver

(phone), management of contacts (contacts), browsing the web (Browser),

messaging (SMS), working calendar (Calendar), reading e-mail (email-client), map(map), filming (camera) The applications are added as more like Securities

software (stock), games (games), dictionaries

- Application Framework:

This layer builds the toolkit - the elements are at a high level so that programmers

can quickly build the application It is written in Java, which has general usability to

save resources.

This is an open platform that has 2 advantages:

15

Trang 32

For phone manufacturers: Can be customized to suit the phone configurationthey produce as well as to have a variety of models and styles suitable to usertastes Therefore, despite sharing the same android platform, Google's phonescan be different from Motorola, HTC, T-Mobile, and Samsung

For programmers: Allows programmers to use the APIs on the upper tier

without having to understand the underlying structure, giving programmers the

freedom to be creative because they only need to care about the content thatthe application they work on A very useful set of pre-built APIs such as

navigation systems, background services, communication betweenapplications, and high-level interface components

Introduce some of the components of this section:

Activity Manager: Manage the life cycles of an application as well as providetools to control activities

Telephony Manage: Provides tools to perform communications such asphone calls

XMPP Service: Provides tools for real-time communication

Location Manager: Allows to determine the location of the phone based on

the global positioning system GPS and Google Maps

Window Manager: Manage the construction and display of user interfaces aswell as organize the management of interfaces between applications

Notification Manager: Manage the display of notifications (such as alertswith messages, new e-mails, etc.)

Resource Manager: Manage static resources of applications including image,sound, layout, and string files (Components that are not written in

programming languages)

Libraries and Android runtime

> Android Runtime

16

Trang 33

Android has a core library set to provide most of the functions available in

the core library of Java programming language

e Android Runtime: including Dalvik virtual machines and Android

libraries

Basic libraries: Android apps are developed on a Java environment, but

Dalvik is not a Java VM Android's basic libraries provide oysters with

all the functions in Java's basic library as well as Android's library

Dalvik Virtual Machine: Dalvik is a virtual machine for running Androidapplications, optimized to ensure that one device can efficiently run

multiple instances It relies on the Linux kernel for multithreading and

low-level memory management

This section has many libraries written in C/C++ so that software can be

used, those libraries are gathered into several groups such as:

System library (System c library): a library based on the c standard, usedonly by the operating system

Media Libraries: There are many codecs to support the playback andrecording of common audio, image, and video formats

Web Library (LibWebCore): This is a component for viewing content on

the web, used to build web browsing software (Android Browse) as well

as for other applications to embed It is extremely powerful, supportingmany powerful technologies such as HTMLS, JavaScript, CSS, DOM,and AJAX

SQLite Library: The database system that applications can use

> Libraries

Android provides several APIs for application development The following

list of basic APIs is provided by all Android-based devices:

17

Trang 34

android.util: The basic utility package includes many low-level classes

such as management classes (List, Stack ) string processing classes, andXML processing classes

android.os: An operating system package that provides access to basic

services such as message passing, cross-communication, clocking, and

debugging

android.graphics: Provides low-level graphics classes that perform basicgraphics, color, and drawing functions

android.text: Text processing and rendering engine

android.database: Provides the required low-level classes for cursor

control when working with databases

android.content: Content programming interfaces used to manage data

access and publishing by providing resource manipulation services,

Content Providers, and packages

android.view: View is the most basic user interface layer All user

interfaces are created using a set of Views to provide components for

user interaction

android.widget: Built on top of the View package Widget classes are

pre-built interface components used to create user interfaces Widgets

include lists, buttons, input boxes, and layouts

com.google.android.maps: A set of high-level APIs that provide access

to built-in Android map controls from the built application Includes boththe MapView class as well as the Overlay and MapController for

interacting with the map inside the application

android.app: A package of high-level libraries that provide access to

application data The App Bundle also includes the Activity and Serviceclasses which are the basic components of every Android application

18

Trang 35

android.provider: To facilitate developer access to standard ContentProviders (such as directory data), the Provider package includes classesthat allow access to the standard database in all Android distributions.

android.telephony: Telephony APIs that provide direct interaction withthe telephony layer in devices, allowing to creation, receiving, and track

calls, the status of calls, and SMS messages

android.webkit: The WebKit package that provides APIs for workingwith Web-based content includes a WebView class for creating webinterfaces, embedded in applications, and a cookie manager

Along with the Android APIs, there is also a set of C/C++ libraries such as:

OpenGL: A library for creating 3D graphics based on the OpenGLES 1.0API standard

FreeType: Supports bitmap and vector font processing

GGL: Basic library, used to provide 2D graphics engines

Libc: The standard c library, optimized for Linux-based devices SQLiteEngine: A lightweight relational database for storing application data

SSL: Supports the use of Secure Sockets Layer encryption protocol inInternet communication security

- Linux Kernel

The android operating system is based on the Linux kernel, specifically Linux

kernel version 2.6, which is shown in this bottom layer All the operations of the

phone that want to be executed are done at a low level at this layer including

memory management, communication with the hardware (driver model), and

security implementation security), and process management

This layer has the main components:

e Display Driver: Controls the display on the screen as well as receiving user

controls on the screen (moving, touch )

e Camera Driver: Controls the operation of the camera and receives the data

stream from the camera

19

Trang 36

e Bluetooth Driver: Controls the Bluetooth transmitter and receiver.

e USB driver: Manage the operation of USB communication ports

e Keypad driver: Control the keyboard.

e Wi-Fi Driver: Responsible for Wi-Fi reception

e Audio Driver: controls audio transceivers, decoding audio signals into digital

signals and vice versa

e Binder IPC Driver: Responsible for connecting and communicating with radio

networks such as CDMA, GSM, 3G, 4G, and E to ensure communication

functions are performed

e M-System Driver: Manage read and write on memory devices such as SD

cards, flash

e@ Power Management: Monitor power consumption.

3.2 Visual Studio Code

3.2.1 Introduction

Visual Studio Code

Figure 3 2: Visual Studio Code logo

Visual Studio Code was first announced on April 29, 2015 by Microsoft at the

2015 Build conference A preview build was released shortly thereafter [2]

On November 18, 2015, the source code of Visual Studio Code was released underthe MIT License and made available on GitHub Extension support was also

announced On April 14, 2016, Visual Studio Code graduated from the public

20

Trang 37

preview stage and was released to the web Microsoft has released most of Visual

Studio Code's source code on GitHub under the permissive MIT License, while theeditor itself[clarification needed] is distributed by Microsoft as proprietary

freeware [2]

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor

developed by Microsoft for Windows, Linux, macOS and web browsers Features

include support for debugging, syntax highlighting, intelligent code completion,

snippets, code refactoring, and embedded version control with Git Users can

change the theme, keyboard shortcuts, preferences, and install extensions that add

- A versatile code editor:

Visual Studio Code is a powerful tool for developers, supporting a vast array of

programming languages like C, C#, Java, Python, and more It shares the

underlying editor component ("Monaco") with Azure DevOps

The downloadable version leverages the Electron framework, commonly used for

building Node.js web applications There's also a browser-based version, accessible

at https://code.visualstudio.com/blogs/2021/10/20/vscode-dev, that allows editing

local files and remote repositories without installation

For most languages, Visual Studio Code offers core functionalities like syntax

highlighting, code folding, and configurable snippets It comes pre-loaded with

IntelliSense for specific languages and debugging support for Node.js Additional

language support is readily available through free extensions on the VS Code

Marketplace

21

Trang 38

- Flexible workspace and customization:

Unlike traditional project systems, Visual Studio Code allows opening individual

folders or groups (workspaces) for later use This fosters a language-agnostic

approach, making it suitable for various programming languages Unwanted files

and folders can be excluded through settings Notably, many features are accessiblethrough the command palette, enhancing keyboard accessibility

- Extensibility and built-in functionalities:

Visual Studio Code thrives on extensions, offering a central repository for editor

enhancements and language support These extensions can introduce new languagesupport, themes, debuggers, and even static code analysis capabilities

Version control is seamlessly integrated, with a dedicated tab for managing changes

and accessing version control settings Users can link to supported systems like Gitand directly perform actions like creating repositories and making push/pull

requests.

It's important to note that Visual Studio Code collects usage data for product

improvement While this telemetry can be disabled, the data itself is publicly

accessible due to the product's open-source nature

3.2.3 Advantage

- Free and Open Source: VSCode is free and open source software, allowing users

to freely download, use, and modify it as needed This makes VSCode more

accessible to everyone, especially students and beginner programmers

- Cross-platform support: VSCode works well on many popular operating systemssuch as Windows, macOS, and Linux As a result, users can use VSCode regardless

of which computer they are using

- Lightweight and intuitive interface: VSCode has a simple, intuitive, and

easy-to-use easy-to-user interface This interface can be customized according to the easy-to-user's personal

preferences, helping to enhance the user experience

22

Trang 39

- Support for many programming languages: VSCode supports a large number of

popular programming languages such as C, C++, Java, Python, JavaScript, PHP,

Ruby, Go, Rust, Swift, etc This makes VSCode a versatile tool for many types of

software development projects

- Large and thriving community: VSCode has a large and active community of

users and developers This community regularly shares knowledge, experiences andcreates extensions that enhance the functionality of VSCode

- Lots of extensions: VSCode has a huge extension repository with thousands of

free and paid extensions These extensions provide more features and functions to

VSCode, helping to meet the diverse needs of users

- Git integration: VSCode integrates Git right into the interface, making it easy for

users to manage source code versions and collaborate with other programmers

- Debugging support: VSCode provides powerful debugging features, making it

easy for users to identify and fix errors in source code

- Fast speed and high performance: VSCode is optimized to run quickly and

smoothly, even on low-configuration computers

3.2.4 Disadvantage

- System resource consumption: Due to the use of Electron, VSCode can consumemore system resources than other source code editors This can affect the

performance of your computer, especially low-end computers

- Bugs: Like any other software, VSCode can also have bugs However, these are

usually quickly fixed by the developer community

- Some advanced features require extensions: Some advanced features of VSCode,such as support for certain programming languages or development frameworks,

require extensions This can make the interface cluttered and difficult to use

23

Trang 40

- No built-in features for some programming languages: VSCode does not providebuilt-in features for all programming languages For these languages, users need toinstall third-party extensions.

3.3 Flutter - Cross platform for Mobile

3.3.1 Introduction

« Flutter

Figure 3 3: Flutter logo

Flutter is a cross-platform UI toolkit created by Google It allows developers tobuild native-looking applications for iOS, Android, web, and desktop from a singlecodebase Flutter uses the Dart programming language, which is compiled to nativecode for each platform This results in high-performance applications that feel

native to the platform they are running on [4],[6]

Flutter is a relatively new framework, but it has quickly gained popularity due to its

performance, ease of use, and rich feature set It is used by a wide range of

companies, including Google, Alibaba, and eBay

- Architecture:

24

Ngày đăng: 30/11/2024, 02:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN