This document outlines the design of a single page application (SPA) called "Around the World: An Earthly Trivia" that is intended to be an educational geography and trivia game. It includes sections on problem definition, design specifications, top-down design diagrams, algorithm design, implementation, testing, and evaluation. The design specifies the game flow and user interactions, including a main menu, continent and difficulty selection, quiz questions with multiple choice answers, scoring, and hangman-style incorrect answer tracking. Algorithms are provided for key functions like selecting continents and difficulties, loading quizzes, checking answers, and updating scores. The goal is to create a fully functional SPA using JavaScript that both entertains and educ
J.K. Saini surveyed mobile applications for creating assessments and quizzes. They tested the apps Ko-su and Question Writer HTML5. Ko-su had limitations like a restrictive free trial and difficulty creating content. Question Writer HTML5 allowed easy creation of multiple choice, fill-in, and ordering questions. It provided immediate feedback and reports to teachers. However, it lacked support for descriptive questions. Overall, Question Writer HTML5 was found to be useful for formative assessment through mobile quizzes, but could be improved by adding descriptive question support.
This document provides instructions for creating and managing sites in the Frog VLE. It discusses the different types of sites that can be created (view only, view and contribute, edit and manage) and how to set the access permissions appropriately. It also covers adding content to sites like widgets, pages, videos and the pinboard. Teachers can create templates from sites to easily duplicate content. Sites can be imported, exported, duplicated and converted between different content types as well.
The document provides descriptions of various widgets that can be added to sites in the VLE. There are 23 widgets described, including widgets for text, files, media, polls, quizzes, forms, forums and more. Each widget is briefly described in 1-2 sentences explaining its functionality and purpose. The widgets allow various content, tools, and interactions to be added to sites to enhance teaching and learning activities.
The document describes the evolution of the OSGi specification from Release 1 to the planned Release 3. Release 1 introduced core services like DeviceManager, HttpService, and LogService. Release 2 added services like ServiceTracker, ConfigurationAdmin, and PreferencesService. Release 3 is planned for 1Q 2003 and will include improvements to the framework, new execution environments, and additional services such as StartLevelService, URLStreamHandler, and WireAdmin.
The document provides an overview of new features and enhancements in the Frog VLE update, including:
1) New features such as forms, quizzes, polls, a data viewer, and site templates. Forms, quizzes, and polls allow gathering and viewing user data. The data viewer displays data from these and other widgets. Site templates enable creation and sharing of templates.
2) Enhancements to assignments, including search and reopening closed assignments. Sites can now be duplicated. Font styles can be selected in editable text widgets.
3) Guidance on using the new features, including how to create forms, quizzes, polls, and view collected data in the data viewer
The document provides details about the internship project completed by the author at Alumnus Software Ltd. It involved designing a platform independent Sudoku application using Cordova and AngularJS. As a first step, the author created a simple TicTacToe game to get familiar with the technologies. For the main project, the Sudoku app allows playing and solving Sudoku puzzles and can be installed on Android, iOS and other platforms. The author learned new skills in JavaScript, AngularJS and how to access device features from web apps using Cordova plugins. Testing was done on real devices and future improvements are planned to the solving algorithm and ensuring unique puzzle solutions.
The candidate has over 3 years of experience developing iPhone and iPad applications. He is proficient in Objective-C, Xcode, and Cocoa Touch and has experience with UI development, web service integration, and SQLite databases. He has independently developed several health-related apps that are available on the App Store, including medication managers and medical calculators. His most recent role was as a Software Engineer at Broadsoft where he developed iOS applications.
J.K. Saini surveyed mobile applications for creating assessments and quizzes. They tested the apps Ko-su and Question Writer HTML5. Ko-su had limitations like a restrictive free trial and difficulty creating content. Question Writer HTML5 allowed easy creation of multiple choice, fill-in, and ordering questions. It provided immediate feedback and reports to teachers. However, it lacked support for descriptive questions. Overall, Question Writer HTML5 was found to be useful for formative assessment through mobile quizzes, but could be improved by adding descriptive question support.
This document provides instructions for creating and managing sites in the Frog VLE. It discusses the different types of sites that can be created (view only, view and contribute, edit and manage) and how to set the access permissions appropriately. It also covers adding content to sites like widgets, pages, videos and the pinboard. Teachers can create templates from sites to easily duplicate content. Sites can be imported, exported, duplicated and converted between different content types as well.
The document provides descriptions of various widgets that can be added to sites in the VLE. There are 23 widgets described, including widgets for text, files, media, polls, quizzes, forms, forums and more. Each widget is briefly described in 1-2 sentences explaining its functionality and purpose. The widgets allow various content, tools, and interactions to be added to sites to enhance teaching and learning activities.
The document describes the evolution of the OSGi specification from Release 1 to the planned Release 3. Release 1 introduced core services like DeviceManager, HttpService, and LogService. Release 2 added services like ServiceTracker, ConfigurationAdmin, and PreferencesService. Release 3 is planned for 1Q 2003 and will include improvements to the framework, new execution environments, and additional services such as StartLevelService, URLStreamHandler, and WireAdmin.
The document provides an overview of new features and enhancements in the Frog VLE update, including:
1) New features such as forms, quizzes, polls, a data viewer, and site templates. Forms, quizzes, and polls allow gathering and viewing user data. The data viewer displays data from these and other widgets. Site templates enable creation and sharing of templates.
2) Enhancements to assignments, including search and reopening closed assignments. Sites can now be duplicated. Font styles can be selected in editable text widgets.
3) Guidance on using the new features, including how to create forms, quizzes, polls, and view collected data in the data viewer
The document provides details about the internship project completed by the author at Alumnus Software Ltd. It involved designing a platform independent Sudoku application using Cordova and AngularJS. As a first step, the author created a simple TicTacToe game to get familiar with the technologies. For the main project, the Sudoku app allows playing and solving Sudoku puzzles and can be installed on Android, iOS and other platforms. The author learned new skills in JavaScript, AngularJS and how to access device features from web apps using Cordova plugins. Testing was done on real devices and future improvements are planned to the solving algorithm and ensuring unique puzzle solutions.
The candidate has over 3 years of experience developing iPhone and iPad applications. He is proficient in Objective-C, Xcode, and Cocoa Touch and has experience with UI development, web service integration, and SQLite databases. He has independently developed several health-related apps that are available on the App Store, including medication managers and medical calculators. His most recent role was as a Software Engineer at Broadsoft where he developed iOS applications.
This document provides a midterm report on a final year project to develop a 3D visualization Android application to display sensor data stored in an OWL format repository. It outlines the project objectives of developing an application in Java using the Android SDK that can retrieve and display updated sensor readings from a building model in 3D. The report describes the tools used, including the Android SDK and Eclipse IDE. It also reviews literature on software development methodologies and similar projects for gathering requirements and designing the application. The work completed so far is documented and future work plans are presented.
SSP Software provides a wide range of software engineering and development services including desktop applications, web development, and mobile apps. They specialize in complex enterprise solutions, web and mobile apps, and pride themselves on innovative technologies and delivering projects on deadline. The document then provides examples of various projects SSP has completed across these categories.
Rahul Nagpal is seeking a position in Information Technology with over 6 years of experience developing iOS applications using Objective-C and Xcode. He has extensive experience working on projects for clients across various domains including home automation, e-commerce, education and more. His technical skills include Git, SVN, Core Data, JSON integration and unit testing frameworks. He holds a B.Tech in Information Technology and is proficient in both individual contributor roles as well as managing teams of developers.
This document discusses the design of a smart emotion-based music player with a sleep alert system. The proposed system uses a camera to capture a user's facial expressions in order to analyze their emotions. Based on the emotion detected, the music player will select music accordingly. The system also monitors eye blinking and yawning frequency to detect sleepiness and will alert the user. The goal is to introduce an application of facial expression recognition technology and develop a music player that responds to user emotion and alerts them if sleepy.
This document provides an introduction and overview of the MIT App Inventor platform for developing Android apps without coding. It discusses who the tool is for, including educators, non-programmers, advanced programmers, and prototyping. It also covers the system requirements, including supported hardware, software, having a Google account, and ensuring Java is up to date. The document provides a high-level "Hello World" example and discusses distributing created apps.
This document describes a graduation project that conducted two empirical studies on the adoption of the Swift programming language. The first study analyzed over 59,000 Swift-related questions on StackOverflow to identify common problems faced by Swift developers. The second study interviewed 12 Swift developers to validate and expand on the initial findings. The project aims to understand the benefits, drawbacks and challenges of adopting Swift in its early stages as it is positioned to become widely used. Key areas examined include issues with optionals, error handling, integration with Objective-C and problems with tools like Xcode. The findings provide insights into Swift adoption from the perspective of early developers.
This document is a Master's thesis submitted to the Czech Technical University in Prague that examines the Java EE 7 Batch API and develops a graphical editor for configuring batch job structures in Java EE 7. The thesis provides an overview of the Java EE 7 Batch API, analyzes existing batch configuration tools, designs a graphical editor that extends the JBoss Tools project, implements the editor, and evaluates it through demonstrations, usability testing, and integration into JBoss Tools.
Global Earthquake Monitor. This project based on Java Project. It is real time working project. This project used OOPs concept.
World earthquake shown in map with magnitude, date, time, length, affected area.
Debarghya Nag is a senior software engineer with over 4 years of experience developing applications using Java/J2EE, Spring, Oracle, and other technologies. He has worked on projects for clients like Johnson & Johnson and Shell Oil, where he served as an application developer and received positive feedback. Nag holds an OCPJP and OCWCD certification and received an excellence award from J&J for his work. He aims to contribute his skills and knowledge to a progressive company where he can grow his competencies.
This profile summarizes a results-oriented software developer with 3 years of experience creating usable and intuitive user interfaces. The developer strives to learn new technologies and write readable, maintainable code. Experience includes developing iOS apps for printing, video streaming, e-commerce, and healthcare. Key skills include Objective-C, Swift, Xcode, Core Location and more. The developer has worked independently and in teams of up to 3 people.
The most experienced and learned developers always suggest hiring an electron application development company when it comes to building applications for desktops. Why do they prefer Electron.js? What’s so special about it? This topic will attempt to shed some light on the answers to these questions.
In this project I had given videos for almost each and every important location of the University of New South Wales. Also the User can know his current location. User can see all the Important Departments, Theatres and Services being provided by the University and see the videos associated to it. Apart from the project the learning of iPhone programming is what has been concentrated.
This document provides an introduction to programming and programming languages. It begins with definitions of programming and programming languages. It then discusses the different levels of programming languages from machine language to natural language. Examples of popular programming languages like BASIC, COBOL, Pascal, C, FORTRAN, Visual BASIC, C++ and Java are also provided. The document concludes with an overview of the main phases in program development which are problem analysis, program design, coding, testing and debugging, and documentation.
This document provides an introduction to programming module for secondary school students in Malaysia. It begins with definitions of programming and programming languages. It then discusses different levels of programming languages from machine language to natural language. Examples of popular programming languages like BASIC, COBOL, Pascal, C, FORTRAN, Visual BASIC, C++ and Java are provided. The document also explains the typical phases in program development like problem analysis, program design, coding, testing and debugging, and documentation. It concludes by providing an overview of the Just BASIC V1.01 programming tool for creating simple programs.
The document is a project report on Stacker's, a web-based instant messaging tool. It was submitted by two students, Rishabh Kumar Sharma and Rashmi Bind, in partial fulfillment of their Bachelor of Technology degree in computer science and engineering. The report includes an introduction to Stacker's features and objectives, instructions for downloading the Stacker's app on different platforms, descriptions of Stacker's services and integrated apps, design documents like flow charts and ER diagrams, code snippets, results from implementing the app, discussions of security features, and conclusions about Stacker's benefits for different types of teams and companies. It also outlines some limitations of the free version of Stacker's and potential areas for future
This document discusses various topics related to software development including programming paradigms, languages, data types, software design, and code quality. It covers procedural, object-oriented, and event-driven programming paradigms and discusses which are suitable for different types of programs. It also discusses factors that influence language selection and provides examples of commonly used languages. The document outlines various data types and their purposes. It describes the typical phases of a software design process from defining needs through implementation and maintenance. Finally, it discusses the importance of code readability and maintainability for quality code.
The document describes an online education portal project created by Sushree Sushmeta at OEC College between 2012-2016. The project has three modules: administration, college, and student/faculty. It allows students to search and view course and college details in one place. The hardware requirements include a Pentium IV system with 1GB RAM and 40GB storage. The software used includes Windows 7, Microsoft Visual Studio 2010, Microsoft SQL Server 2008, and IIS web server. There are three modules, E-R diagrams and DFD are included, and screenshots of the admin and college login and registration are provided. The conclusion discusses identifying initiatives for the online education portal project.
This document contains the resume summary of Naresh Chirra. It summarizes his 3 years of experience developing web applications using Java/J2EE technologies. It also lists his academic qualifications including a B.Tech in computer science, and provides details of 7 projects he worked on, including the technologies used and his roles and responsibilities. The projects involved developing applications for various clients in areas like automation testing, HR management, logistics, and social networking.
The document provides information about a laboratory manual for an Object Oriented Programming course with Java. It includes the vision and mission statements of the institution and computer science departments. It then details the course objectives, outcomes, system requirements and introduces topics that will be covered like installing Java Development Kit and an introduction to object oriented programming concepts. It provides an example program to find the roots of a quadratic equation to demonstrate Java fundamentals.
This document provides an overview of the Queensland Studies Authority Information Processing and Technology (IPT) Senior Syllabus from 2010, including:
- 6 core topics that make up the majority of the course (165-180 hours), with additional optional material that can expand on 4 of the topics
- General objectives focused on knowledge and application, analysis and synthesis, evaluation and communication, and attitudes and values
- Requirements for course organization, including a minimum of 55 hours per semester over 4 semesters, and flexibility for composite/mixed year level classes
- Details of the 6 core topics and some examples of additional material that can be covered
- Suggested learning experiences and assessment techniques.
This document provides an overview of the Information Processing and Technology subject guide for 2010. It outlines the key topics covered in the subject including algorithms, relational information systems, software programming, structured query language, social and ethical issues, and human-computer interaction. Students will learn through a variety of hands-on activities like using technology, problem solving, and developing computer programs. Assessment involves supervised written tests, extended response assignments, and project-based assessments where students apply their skills and knowledge. The guide also provides advice for parents on how to support their child's learning in this subject.
This document provides a midterm report on a final year project to develop a 3D visualization Android application to display sensor data stored in an OWL format repository. It outlines the project objectives of developing an application in Java using the Android SDK that can retrieve and display updated sensor readings from a building model in 3D. The report describes the tools used, including the Android SDK and Eclipse IDE. It also reviews literature on software development methodologies and similar projects for gathering requirements and designing the application. The work completed so far is documented and future work plans are presented.
SSP Software provides a wide range of software engineering and development services including desktop applications, web development, and mobile apps. They specialize in complex enterprise solutions, web and mobile apps, and pride themselves on innovative technologies and delivering projects on deadline. The document then provides examples of various projects SSP has completed across these categories.
Rahul Nagpal is seeking a position in Information Technology with over 6 years of experience developing iOS applications using Objective-C and Xcode. He has extensive experience working on projects for clients across various domains including home automation, e-commerce, education and more. His technical skills include Git, SVN, Core Data, JSON integration and unit testing frameworks. He holds a B.Tech in Information Technology and is proficient in both individual contributor roles as well as managing teams of developers.
This document discusses the design of a smart emotion-based music player with a sleep alert system. The proposed system uses a camera to capture a user's facial expressions in order to analyze their emotions. Based on the emotion detected, the music player will select music accordingly. The system also monitors eye blinking and yawning frequency to detect sleepiness and will alert the user. The goal is to introduce an application of facial expression recognition technology and develop a music player that responds to user emotion and alerts them if sleepy.
This document provides an introduction and overview of the MIT App Inventor platform for developing Android apps without coding. It discusses who the tool is for, including educators, non-programmers, advanced programmers, and prototyping. It also covers the system requirements, including supported hardware, software, having a Google account, and ensuring Java is up to date. The document provides a high-level "Hello World" example and discusses distributing created apps.
This document describes a graduation project that conducted two empirical studies on the adoption of the Swift programming language. The first study analyzed over 59,000 Swift-related questions on StackOverflow to identify common problems faced by Swift developers. The second study interviewed 12 Swift developers to validate and expand on the initial findings. The project aims to understand the benefits, drawbacks and challenges of adopting Swift in its early stages as it is positioned to become widely used. Key areas examined include issues with optionals, error handling, integration with Objective-C and problems with tools like Xcode. The findings provide insights into Swift adoption from the perspective of early developers.
This document is a Master's thesis submitted to the Czech Technical University in Prague that examines the Java EE 7 Batch API and develops a graphical editor for configuring batch job structures in Java EE 7. The thesis provides an overview of the Java EE 7 Batch API, analyzes existing batch configuration tools, designs a graphical editor that extends the JBoss Tools project, implements the editor, and evaluates it through demonstrations, usability testing, and integration into JBoss Tools.
Global Earthquake Monitor. This project based on Java Project. It is real time working project. This project used OOPs concept.
World earthquake shown in map with magnitude, date, time, length, affected area.
Debarghya Nag is a senior software engineer with over 4 years of experience developing applications using Java/J2EE, Spring, Oracle, and other technologies. He has worked on projects for clients like Johnson & Johnson and Shell Oil, where he served as an application developer and received positive feedback. Nag holds an OCPJP and OCWCD certification and received an excellence award from J&J for his work. He aims to contribute his skills and knowledge to a progressive company where he can grow his competencies.
This profile summarizes a results-oriented software developer with 3 years of experience creating usable and intuitive user interfaces. The developer strives to learn new technologies and write readable, maintainable code. Experience includes developing iOS apps for printing, video streaming, e-commerce, and healthcare. Key skills include Objective-C, Swift, Xcode, Core Location and more. The developer has worked independently and in teams of up to 3 people.
The most experienced and learned developers always suggest hiring an electron application development company when it comes to building applications for desktops. Why do they prefer Electron.js? What’s so special about it? This topic will attempt to shed some light on the answers to these questions.
In this project I had given videos for almost each and every important location of the University of New South Wales. Also the User can know his current location. User can see all the Important Departments, Theatres and Services being provided by the University and see the videos associated to it. Apart from the project the learning of iPhone programming is what has been concentrated.
This document provides an introduction to programming and programming languages. It begins with definitions of programming and programming languages. It then discusses the different levels of programming languages from machine language to natural language. Examples of popular programming languages like BASIC, COBOL, Pascal, C, FORTRAN, Visual BASIC, C++ and Java are also provided. The document concludes with an overview of the main phases in program development which are problem analysis, program design, coding, testing and debugging, and documentation.
This document provides an introduction to programming module for secondary school students in Malaysia. It begins with definitions of programming and programming languages. It then discusses different levels of programming languages from machine language to natural language. Examples of popular programming languages like BASIC, COBOL, Pascal, C, FORTRAN, Visual BASIC, C++ and Java are provided. The document also explains the typical phases in program development like problem analysis, program design, coding, testing and debugging, and documentation. It concludes by providing an overview of the Just BASIC V1.01 programming tool for creating simple programs.
The document is a project report on Stacker's, a web-based instant messaging tool. It was submitted by two students, Rishabh Kumar Sharma and Rashmi Bind, in partial fulfillment of their Bachelor of Technology degree in computer science and engineering. The report includes an introduction to Stacker's features and objectives, instructions for downloading the Stacker's app on different platforms, descriptions of Stacker's services and integrated apps, design documents like flow charts and ER diagrams, code snippets, results from implementing the app, discussions of security features, and conclusions about Stacker's benefits for different types of teams and companies. It also outlines some limitations of the free version of Stacker's and potential areas for future
This document discusses various topics related to software development including programming paradigms, languages, data types, software design, and code quality. It covers procedural, object-oriented, and event-driven programming paradigms and discusses which are suitable for different types of programs. It also discusses factors that influence language selection and provides examples of commonly used languages. The document outlines various data types and their purposes. It describes the typical phases of a software design process from defining needs through implementation and maintenance. Finally, it discusses the importance of code readability and maintainability for quality code.
The document describes an online education portal project created by Sushree Sushmeta at OEC College between 2012-2016. The project has three modules: administration, college, and student/faculty. It allows students to search and view course and college details in one place. The hardware requirements include a Pentium IV system with 1GB RAM and 40GB storage. The software used includes Windows 7, Microsoft Visual Studio 2010, Microsoft SQL Server 2008, and IIS web server. There are three modules, E-R diagrams and DFD are included, and screenshots of the admin and college login and registration are provided. The conclusion discusses identifying initiatives for the online education portal project.
This document contains the resume summary of Naresh Chirra. It summarizes his 3 years of experience developing web applications using Java/J2EE technologies. It also lists his academic qualifications including a B.Tech in computer science, and provides details of 7 projects he worked on, including the technologies used and his roles and responsibilities. The projects involved developing applications for various clients in areas like automation testing, HR management, logistics, and social networking.
The document provides information about a laboratory manual for an Object Oriented Programming course with Java. It includes the vision and mission statements of the institution and computer science departments. It then details the course objectives, outcomes, system requirements and introduces topics that will be covered like installing Java Development Kit and an introduction to object oriented programming concepts. It provides an example program to find the roots of a quadratic equation to demonstrate Java fundamentals.
This document provides an overview of the Queensland Studies Authority Information Processing and Technology (IPT) Senior Syllabus from 2010, including:
- 6 core topics that make up the majority of the course (165-180 hours), with additional optional material that can expand on 4 of the topics
- General objectives focused on knowledge and application, analysis and synthesis, evaluation and communication, and attitudes and values
- Requirements for course organization, including a minimum of 55 hours per semester over 4 semesters, and flexibility for composite/mixed year level classes
- Details of the 6 core topics and some examples of additional material that can be covered
- Suggested learning experiences and assessment techniques.
This document provides an overview of the Information Processing and Technology subject guide for 2010. It outlines the key topics covered in the subject including algorithms, relational information systems, software programming, structured query language, social and ethical issues, and human-computer interaction. Students will learn through a variety of hands-on activities like using technology, problem solving, and developing computer programs. Assessment involves supervised written tests, extended response assignments, and project-based assessments where students apply their skills and knowledge. The guide also provides advice for parents on how to support their child's learning in this subject.
This document provides information and instructions for a 3D modeling assignment for Year 12 students at Hillcrest Christian College. It outlines the task of creating an original 3D model in Blender that demonstrates modeling skills learned. Students must submit draft and final models, as well as a design brief and evaluation. They will be assessed on planning, design, skill level, time management, and response to feedback. The "Tick & Flick" checklist outlines various Blender modeling techniques students should utilize in their work. The assignment aims to prepare students for upcoming game development studies in the next semester.
This document provides instructions for a 3D modeling assignment for Year 11 students. Students are tasked with creating an original 3D model using Blender that demonstrates the 3D modeling skills they have learned. They must submit draft and final versions of their model, as well as a design brief and written evaluation. The assignment will be assessed based on the modeling process, design and appeal of the final product, and the student's initiative and response to feedback.
The student is to design a promotional poster and optional flyer for a topic they are passionate about. They must get the topic approved by the teacher. The poster must be 42cm x 30cm and include an original logo related to the topic. Photographs can be sourced online with references. The student must demonstrate Photoshop skills from the course. A draft must be shown for feedback. Finally, the student will present their design to the "client" and class. Criteria for the product and process will be used to grade the assignment.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Hillcrest Christian College offers students the opportunity to study university subjects through external programs with Bond University, University of Queensland, and Southern Cross University. Students can also study Griffith University subjects as part of their regular classes at Hillcrest over two years in Years 11 and 12. These Griffith University subjects include Griffith Maths, Griffith Chem, Griffith Biology, Griffith InfoTech, and Griffith InfoSys. Students who pass the Griffith University subjects may receive university credit or guaranteed entry to related Griffith University courses and degrees. The document provides details on the specific Griffith University subjects offered, requirements for completing them, and potential benefits for university study.
The Griffith Chem program allows high school students to complete part of a Griffith University chemistry course while studying Year 11 and 12 school chemistry. In Year 11, students study the first half of the Griffith Chem course within their regular chemistry class and complete two laboratory sessions and write-ups that contribute to the Griffith Chem course. Students have the option to attend an excursion at Griffith University. Students must pass the laboratory sessions and achieve 50% or higher on a Stage 1 exam to continue in Year 12. In Year 12, students study the second half of the Griffith Chem course in their regular class, attend two days of laboratory sessions at Griffith University, and complete a final exam. Students who successfully complete the program receive a certificate and can receive
The Griffith InfoTech program is a school pathway program offered through Griffith University that allows Year 11 and 12 students to study two core first-year university ICT courses. Students complete the coursework and assessments within their regular IPT classes, and those who pass will receive university credit upon enrollment at Griffith. The program aims to give students early exposure to university-level courses and the environment. Key aspects include guaranteed admission to related Griffith degrees for high-achieving students, administration through a formal agreement between the school and university, and use of the Java Programming Laboratory online learning system.
This document provides instructions and questions for SQL exercises across 13 chapters. For each chapter there are review questions and practical exercises involving writing SQL queries. The practical exercises range from retrieving basic information from tables to more complex queries using joins, aggregation, subqueries and other SQL features. The document directs the user to complete the exercises by typing responses directly into the file.
This document describes the tables in a database for a computer repair store. It includes tables for devices, technicians, experience, and repairs. It then lists 39 queries to run on the database to return requested information.
The document describes a 'Movies' database with four tables - Movie, Director, Member, and Onhire. It contains 16 questions to be answered using SQL queries with JOINS and SUBQUERIES on the database tables. The questions ask for information like the amount owed by members with movies on hire, directors of movies from certain years, member names and addresses with movies due on certain dates, movie names on hire for certain members, and more. It also provides an example of a self-join query and explains the need to use table aliases.
This document provides 30 SQL queries to analyze data on Australian birds. The queries retrieve information on birds' common and Latin names, sizes, habitats, families, activities, foods, and nesting types. They use SQL functions, operators, wildcards, sorting, grouping, and calculated fields to analyze, filter, and summarize the bird data in various ways.
The document describes an advanced robot called Carduino. It includes a parts list and diagrams. It has 4 programs: 1) drive forward where speed and direction can be adjusted, 2) circle continuously, 3) display test values, and 4) display credits and play a song. The robot was successfully created by two students and functions as expected, though the display could be secured better. It could be improved by adding more programs or remote control.
Gregory is developing a game design brief for a Pacman-style game called "Om Nom Nom" targeted at ages 5-12. The game takes place in an abandoned factory where Gregory must collect power-ups and points while avoiding or eating ghosts through several maze levels of increasing difficulty. Gregory has mapped out the characters, environments, objectives, and story. He conducted testing and refined the design based on feedback. The game design brief demonstrates original ideas and meets the requirements of the assignment.
The document provides instructions and templates for a student to design a computer game for an assessment task. It includes sections for planning game ideas, environments, characters and challenges. It also includes sections to design game elements, target the intended audience, develop the story and gameplay, create characters, and test the game. The student has provided details for a first person shooter game where the player takes on the role of an American commando fighting through various environments like forests and wastelands to eliminate Nazi enemies.
This document provides instructions for building an interactive traffic light robot with LED lights that simulate traffic signals. The robot uses an LED to indicate when cars can go (green), then change to yellow as a warning before turning red to stop cars as another LED turns green to allow pedestrians to cross, and then returns to the starting state to repeat the cycle indefinitely.
This document is the manual for the Arduino Starter Kit from Earthshine Electronics. It was written by Mike McRoberts and published by Earthshine Design in 2009. The manual provides a complete guide for beginners to learn about and use the Arduino microcontroller board. It is licensed under Creative Commons, allowing sharing and distribution of the work for non-commercial purposes as long as attribution is given to the author and publisher.
The document provides an overview and evaluation of the computer system at Hillcrest Christian College from the perspectives of an IT technician, teacher, and student. The system includes over 800 PCs and notebooks, servers, storage devices, and software for educational and administrative purposes. Some potential improvements identified include upgrading older hardware, implementing a web-based library management system, increasing bandwidth and firewall capabilities, providing training to students and staff, and reviewing IT support procedures and equipment ergonomics. The evaluation concludes that while constrained by financial factors, the system generally fulfills its purpose of supporting the college's educational mission but could be enhanced through various recommended changes.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Full-RAG: A modern architecture for hyper-personalization
Final documentation major proj_js
1. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 1
12 IPT: Major Project
Documentation
Software Design with JavaScript
Semester 2 - Term 3
Designing a Single Page Application for the Web
2011
Jake Skoric
Hillcrest Christian College
2. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 2
Table of Contents
PHASE 1 Problem Definition .............................................................................................................................................3
Aim................................................................................................................................................................................3
Problem Description .....................................................................................................................................................3
Assumptions..................................................................................................................................................................3
Limitations.....................................................................................................................................................................3
Proposed Users.............................................................................................................................................................4
Expected Results...........................................................................................................................................................4
PHASE 2 Design .................................................................................................................................................................4
Phase 2a Specification ..................................................................................................................................................4
Choices available to the user: ...................................................................................................................................4
IPO Chart:..................................................................................................................................................................5
Methods to Improve the Overall User-Interface/User-Friendliness, Application Aesthetics, Presentation and
User-Proofing of the Application: .............................................................................................................................6
Screen Designs:.........................................................................................................................................................6
Phase 2b Top-Down Design Diagram............................................................................................................................8
Phase 2c Algorithm Design ...........................................................................................................................................9
PHASE 3 Implementation................................................................................................................................................14
Phase 3a Implementation...........................................................................................................................................14
Phase 3b Documentation of Implementation (Complete User Manual)....................................................................14
PHASE 4 Testing ..............................................................................................................................................................20
PHASE 5 Evaluation.........................................................................................................................................................22
Application Evaluation ................................................................................................................................................22
Process Evaluation ......................................................................................................................................................23
Possible Improvements...............................................................................................................................................23
3. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 3
PHASE 1 Problem Definition
Aim
The aim of this major project is to create and design a single page application (SPA) that will entertain and ultimately
provide an educational resource for both teachers and students alike. This application will be designed to run via a
compatible web browser. This productwill be a geography and trivia game named “Around the World: AnEarthly
Trivia”,that makes use of image files and user progress throughout the application to enhance the learning
experience of the intended subject matter. Throughout the development of this software application it is imperative
to ensure that a wide variety of programming constructs and concepts are utilised. The targeted users for this
application are aimed at high school and post-high school level.
Problem Description
The task to be completed is to design and develop a fully-functional single web page application that utilises a wide
variety of JavaScript and HTML (Hyper-Text Markup Language) programming constructs that are derived from W3C
(World Wide Web Consortium) languages. CSS (Cascading Style Sheet) will be used to help create an aesthetically
pleasing web page; however the focus will be on the functionality of the JavaScript (JS). Through the entire
application creation process the ‘Software Development Cycle’ (SDC) will be inherent within each phase. ‘Prospekt
Studios’ aims to set the precedent with single page application design by ensuring a top-quality product that not only
entertains its users but also educates by providing endless hours of new and innovative ways to learn about our
world and its geography.
Assumptions
In general, designing software applications can quickly became a complex task. Because of this it is crucial to
eliminate certain environment and situational variables that will ultimately decrease task redundancy and maximise
development process efficiency and cohesiveness. The assumptions are as follows:
This single page application will be developed and optimised for Mozilla Firefox – version 6.0.2
It is assumed that the users are at least able to use the human-interface devices such as the keyboard and
mouse to interact with the computer system
No other language libraries will be included with this application. Therefore, this application will be made
completely in English (US).
It is assumed that users will not cheat by exiting the quiz when they get an answer wrong, and restarting it.
Therefore, users will be assumed to be following the rules and instructions of the game.
Limitations
Due to time and resource constraints, there may be several limitations that the selected application may be subject
to. These are listed below:
The application may not be able to contain extensive content libraries for the generation of quizzes within
the game.
Due to the constraints of JavaScript such that databases for storing a potential possibility for user profiles
and progress cannot be fully implemented into the final application.
The focus of this major project is on the application’s functionality, as implemented through JavaScript, and
not so much on the application’s aesthetics. Consequently, Prospekt Studios will not direct its primary focus
and resources on designing a highly elaborate as well as artistic user interface and visuals.
o On this note, the application will need to be formed in a way to emulate the aims of functionality
with as little redundancy of content as possible – such as large arrays holding very similar data but
only that the data is separated by continent selection.
4. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 4
Proposed Users
Overall, this application will be proposed for a wide variety of users. However, there are nonetheless certain groups
of users that may benefit the most from using and playing this single page application, Around the World. These
specific groups are given below:
Students:
Teachers/Education Facilities:
Young and old users aiming at Fun/Leisure:
Expected Results
Various results are expected to be achieved by the end of the development phase of this application, however, there
are several features and results that a most overtly identifiable as expectations, which are as follows:
Creation of a fully functional Single Page Application with little to no foreseeable or present bugs.
Prospekt Studios will have hoped to have demonstrated proficient use and implementation of the various
programming constructs – particularly within the JavaScript domain.
After completion of some or all aspects of the game, it is hoped the user will come away with a newfound
knowledge on geography and a positive and creatively refreshing experience with trivia games.
PHASE 2 Design
Phase 2a Specification
Below is an overview of the choices that the user may make throughout the SPA which is categorised into the
different game states:
Choices available to the user:
Main Menu:s
o New Game: takes user to “select continent” game state
o How to Play: opens JS alert box that gives game instructions
Select Continent:
o Asia: takes user to “difficulty selection” game state/screen
o Europe:takes user to “difficulty selection” game state/screen
Select Difficulty:
o Easy: depending on the user’s choice of continent, the corresponding quiz will start – for example, if
user chose “Asia” for “continent” and “Easy” for “difficulty”, the Asia Quiz on Easy will launch –
entering the quiz game state.
o Medium: depending on the user’s choice of continent, the corresponding quiz will start – for
example, if user chose “Asia” for “continent” and “Easy” for “difficulty”, the Asia Quiz on Easy will
launch – entering the quiz game state.
o Hard: depending on the user’s choice of continent, the corresponding quiz will start – for example, if
user chose “Asia” for “continent” and “Easy” for “difficulty”, the Asia Quiz on Easy will launch –
entering the quiz game state.
Quiz Game State:
o Depending on the user’s choice of continent and difficulty, the possible quizzes are:
Asia Easy Quiz
Asia Medium Quiz
Asia Hard Quiz
Europe Easy Quiz
Europe Medium Quiz
5. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 5
Europe Hard Quiz
o Selecting an answer from four options for a particular question in a quiz: options given as radio
buttons.
o Correct answer upon submitted response: player is notified that their answer is correct and game
state proceeds to next question.
o Incorrect answer upon submitted response: player is notified that their answer is incorrect and game
state proceeds only if the user has not run out of hangman chances, else the game will fail.
o Quit quiz: if user clicks on the “quit quiz” option, they will be first notified and if they choose okay
they will return to first application state: Main Menu, else if they choose “cancel” they will resume
the current question.
User wins the game:
o User got 100% of questions correct: will be directed to the end of game state which will notify the
results and score of the user and commend the user on achieving 100 precent.
o User passed, but didn’t get all of the questions correct: will be directed to the end of game state
which will notify the results and score of the user and commend the user on completing the quiz.
User fails the game:
o User ran out of chances for the hangman component: if this is the case, the player will be alerted and
the game will end, returning to the Main Menu game state.
IPO Chart:
Below is the SPA’s IPO chart, which stands for “Input, Processing & Output”. It is a table listing all of the possible
inputs the application will receive, all of the potential calculations/processing the application must perform, and all
of the possible output the application must display.
INPUTS PROCESSING OUTPUTS
Radio button responses Check continent How to play information
Difficulty selection Check difficulty Selected continent
Continent selection Generate quiz questions Selected difficulty
User confirmation of events Generate possible quiz responses Quiz question
Check answer Quiz number
Sum of score during game Quiz question responses
Generate hangman graphic Answers correct
Calculate and keep sum of correct
answers
Answers wrong
Calculate and keep sum of wrong
answers
Score
Check hangman progress Hangman stage
Quiz question image
6. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 6
Methods to Improve the Overall User-Interface/User-Friendliness, Application Aesthetics, Presentation
and User-Proofing of the Application:
Create and provide at least a general instructions guide or user manual for users to utilize and aid their
understanding in learning how to quickly and comfortably navigate and play the application. This guide will
be made available via the online application.
Ensure that the application has exploited the capabilities of CSS and/or higher versions of CSS, such as CSS3,
in order to greatly enhance the applications appearance, user-interface and overall feel for the user.
Create event or variable-specific alerts for the user throughout the various game states of the application.
For example, if the user wishes to exit during a quiz, provide a “Quit” button, but also confirm whether the
user wants to quit and as a result lose all of his or her progress and score on the quiz.
Screen Designs:
This section will specify the way in which the application (if run from an external storage device) can be located,
accessed and run. Please that this directive was created under Microsoft Windows 7 and the user-interface will
therefore consist of that Operating System (OS).
Step 1: Access to My Computer
Step 2: Locate and access the External Storage Device
7. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 7
Step 3: Locate the folder “MajorProj_JS”, enter it and then navigate and access “Around_The_World” folder. Once
there, locate the file, “atw.html”, click on it, and launch it – the application should now launch into a web browser.
Note that for optimum functionality for the application please ensure the web browser is Mozilla Firefox ver 6.0.2.
8. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 8
Phase 2bTop-Down Design Diagram
Below is an exported image (PNG format) of the Inspiration Diagram. The original inspiration file is bundled with the
“MajorProj_JS” folder, in which it is in a sub-directory from that folder called “Top-Down Design Diagram”.
9. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 9
Diagram Legend:
The graphic at the very top, with the “Score”, “Quiz Content” and “Current Hangman State” divisions, depicts
the overall intended user interface/layout of the application. However, because this is the initial design
phase, it may be the case that the final version of the product may have a slight different layout.
The red boxes/rectangles represent events and contain the specific event handler being used for that event.
The blue ovals denote functions used by the application, in which any values given within the parenthesis
indicate a parameter being passed.
The purple clouds symbolise game states in which the application enters at various stages. For example, a
game state would the Main Menu or at Continent Selection, and most important there is the In-Game State.
Phase 2c Algorithm Design
selectContinent()
replace HTML content from Main Menu with continentHTML
on mouse over a continent call showCont(contName)
when user clicks on a continent call selectDiff(continentName)
END
showCont(contName)
get current mouseover position on continent imagemap
return name of continent
END
selectDiff(continentSelected)
assign continentSelected parameter to global variable
replace HTML content with difficultyHTML
output difficulty buttons
when user clicks on a difficulty button call loadQuiz(cont, diff)
END
loadQuiz(continent, diffSelected)
assign diffSelected parameter to global variable
create variable to hold QuizTitleHTML
IF continent = Asia THEN
IF difficulty = Easy THEN
create variable to hold Quiz Content HTML
DO = 2 to 6
generate radio button options
send value of clicked radio option to chosenAnswer
ENDDO
IF quizQuestionPosition = 7 THEN
generate finish quiz submit button
when user clicks submit call checkAnswer()
ELSE
generate normal quiz submit button
when user clicks submit call checkAnswer()
ENDIF
ELSE IF difficulty = Medium THEN
create variable to hold Quiz Content HTML
DO = 1 to 5
generate radio button options
send value of clicked radio option to chosenAnswer
ENDDO
IF quizQuestionPosition = 7 THEN
generate finish quiz submit button
when user clicks submit call checkAnswer()
ELSE
10. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 10
generate normal quiz submit button
when user clicks submit call checkAnswer()
ENDIF
ELSE IF difficulty = Hard THEN
create variable to hold Quiz Content HTML
DO = 1 to 5
generate radio button options
send value of clicked radio option to chosenAnswer
ENDDO
IF quizQuestionPosition = 7 THEN
generate finish quiz submit button
when user clicks submit call checkAnswer()
ELSE
generate normal quiz submit button
when user clicks submit call checkAnswer()
ENDIF
ELSE IF continent = Europe THEN
IF difficulty = Easy THEN
create variable to hold Quiz Content HTML
DO = 2 to 6
generate radio button options
send value of clicked radio option to chosenAnswer
ENDDO
IF quizQuestionPosition = 7 THEN
generate finish quiz submit button
when user clicks submit call checkAnswer()
ELSE
generate normal quiz submit button
when user clicks submit call checkAnswer()
ENDIF
ELSE IF difficulty = Medium
create variable to hold Quiz Content HTML
DO = 1 to 5
generate radio button options
send value of clicked radio option to chosenAnswer
ENDDO
IF quizQuestionPosition = 7 THEN
generate finish quiz submit button
when user clicks submit call checkAnswer()
ELSE
generate normal quiz submit button
when user clicks submit call checkAnswer()
ENDIF
ELSE IF difficulty = Hard
create variable to hold Quiz Content HTML
DO = 1 to 5
generate radio button options
send value of clicked radio option to chosenAnswer
ENDDO
IF quizQuestionPosition = 7 THEN
generate finish quiz submit button
when user clicks submit call checkAnswer()
ELSE
generate normal quiz submit button
when user clicks submit call checkAnswer()
ENDIF
ENDIF
ENDIF
create variable to hold Quiz Subtitle HTML
concatenate HTML string variables and replace current HTML content
11. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 11
incrementquizQuestionPosition by 1
reset chosenAnswer to empty string
generate and replace scoreboard HTML with updated score
generate and replace current hangman state HTML with updated state
END
checkAnswer()
IF continent = Asia THEN
IF difficulty = Easy THEN
IF chosenAnswer = empty string
display alert to user to input value before proceeding
ELSE IF chosenAnswer = asiaQuizEz[quizQuestionPosition-1] THEN
display alert that answer is correct
increment score by 100
increment correctAns by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ELSE
display alert that user is incorrect
increment incorrectAns by 1
increment hangmanState by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ENDIF
ELSE IF difficulty = medium THEN
IF chosenAnswer = empty string
display alert to user to input value before proceeding
ELSE IF chosenAnswer = asiaQuizMed[quizQuestionPosition-1] THEN
display alert that answer is correct
increment score by 100
increment correctAns by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ELSE
display alert that user is incorrect
increment incorrectAns by 1
increment hangmanState by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ENDIF
ELSE IF difficulty = Hard THEN
IF chosenAnswer = empty string
display alert to user to input value before proceeding
ELSE IF chosenAnswer = asiaQuizHard[quizQuestionPosition-1] THEN
display alert that answer is correct
increment score by 100
increment correctAns by 1
IF quizQuestionPosition = 8; THEN
12. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 12
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ELSE
display alert that user is incorrect
increment incorrectAns by 1
increment hangmanState by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ENDIF
ENDIF
ELSE IF continent = Europe THEN
IF difficulty = Easy THEN
IF chosenAnswer = empty string
display alert to user to input value before proceeding
ELSE IF chosenAnswer = europeQuizEz[quizQuestionPosition-1] THEN
display alert that answer is correct
increment score by 100
increment correctAns by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ELSE
display alert that user is incorrect
increment incorrectAns by 1
increment hangmanState by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ENDIF
ELSE IF difficulty = medium THEN
IF chosenAnswer = empty string
display alert to user to input value before proceeding
ELSE IF chosenAnswer = europeQuizMed[quizQuestionPosition-1] THEN
display alert that answer is correct
increment score by 100
increment correctAns by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ELSE
display alert that user is incorrect
increment incorrectAns by 1
increment hangmanState by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ENDIF
13. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 13
ELSE IF difficulty = Hard THEN
IF chosenAnswer = empty string
display alert to user to input value before proceeding
ELSE IF chosenAnswer = europeQuizHard[quizQuestionPosition-1] THEN
display alert that answer is correct
increment score by 100
increment correctAns by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ELSE
display alert that user is incorrect
increment incorrectAns by 1
increment hangmanState by 1
IF quizQuestionPosition = 8; THEN
call endOfQuiz
ELSE
call loadQuiz(continent, difficulty)
ENDIF
ENDIF
ENDIF
ENDIF
IF hangmanState = 4 THEN
display alert to user that game is over
reload window to reset application to first state
ENDIF
END
endOfQuiz()
create variable to hold Quiz Title HTML
output score to HTML file
IF incorrectAns = 0 THEN
display message to user that quiz results are 100%
ENDIF
replace current HTML content with end of quiz HTML content
create return to menu button and when clicked call returnToMenu()
make scoreboard disappear
make current hangman state division disappear
END
returnToMenu()
reload window to reset application to first state
END
quitQuiz()
display message to user if they want to quit
IF confirmExit = true THEN
reload window to reset application to first state
ENDIF
END
howToPlay()
display alert message to user containing game instructions text
END
14. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 14
PHASE 3 Implementation
Phase 3a Implementation
Upon implementation of this major project, my SPA “Around The World”, has been broken down into three source
code documents: a HTML document, a JavaScript and a CSS document. Namely:
Source Code:
atw.html
script.js
style.css
The document “atw.html” is the HTML code of this application and it will simply provide the structure for the content
of the application as well as the divisions necessary to implement that structure. This document will also contain a
small amount of HTML content code in order to generate the first state of the application which is the home screen.
Because this is a Single Page Application, everything that is to be displayed on screen will be run through the
atw.html.
The document “script.js” is the JavaScript source code for the ‘Around the World’ application. It provides the
functionality of the entire application as well as holding the majority of quiz content because the design is premised
on a SPA and not a multiple page application. This source code document is therefore the most crucial element for
ensuring the overall application cohesiveness and communication with each module and process etc. This document
lists all the application’s functions, variables and their scopes.
The document “style.css” is simply the CSS source code for the application which is used by “atw.html” in that this
document denotes that appearance and feel of the application.
Please note that the source code of these three documents can be viewed by accessing the folder
“Around_The_World”. In order to view these files with syntax highlighting and proper indentation please utilize
code-editing software such as Microsoft Visual Web Developer 2010 Express or Notepad++, etc.
Phase 3b Documentation of Implementation (Complete User Manual)
This section contains the complete version of the user manual, which is inclusive of screenshots and other visual
elements that aid guide interpretation. However, please note that on the actual application, in the Main Menu game
state, there is a more basic text-based game instruction guide created with the purpose of offering a more simplified
and quick-to-read guide rather than the version of the guide below. The game is aimed at offering a fun and
innovative way to learn about geography through trivia quizzes – whether the players are students, teachers or
anyone else. The User Manual is therefore formulated to accommodate all those audiences:
USER MANUAL forAROUND THE WORLD: An Earthly Trivia
Main Menu/The User Interface:
This screenshot denotes the primary game state: The Main Menu. This screen will activate when the application
initiates for the first-time, when the user quits a quiz game or when the user has finished a quiz game and pressed
the ‘Return to Menu’ button at the end of game screen.
15. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 15
To access the application-based instruction guide, please hover your mouse over “How to Play” and click the button.
An alert will popup. This is the How to Play screen, as shown below:
Click “OK” to exit the popup and return to the Main Menu Screen.
Beginning the Game:
To begin the game, from the Main Menu Screen, hover your mouse over the “New Game” button and click it.
16. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 16
After clicking the New Game button, the application will proceed to the Continent Selection Screen (or game-state).
Here you may select the continent you wish to be quizzed on. To do so, simply however your mouse over a particular
continent and take note of the textbox below the world map image – this textbox displays the name of the continent
that your mouse is currently hovering over. For example, if you hover over the continent Asia (shown in red on the
screenshot below), the textbox will display “Asia”. See below: (Refer to Phase 4b for more details on this section).
Once you’ve selected a continent to be quizzed on, the application will proceed to the Difficulty Selection Screen (or
game-state). Here you will have to select the difficulty of the quiz on your chosen continent. To do so, simply click
the appropriate button:
17. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 17
In-Game:
After you have selected both the continent and difficulty the application will proceed to the quiz game screen (or in-
game state). This is the main screen for in-game interaction. Here, as shown below, there are several features of the
quiz game screen: Firstly, there is a quiz title and question number; below it is the question image (if playing on easy
difficulty), the question itself, and the four given responses (radio buttons) possible to answer the question. On the
left of the main content section is the score– this will keep count of all your correct answers; each correct answer
earns 100 points. On the right of the main content section is the Current Hangman State– this keeps track of the
number of incorrect answers the user has made by adding the next stage to the hangman after each incorrect
submission. In the middle section (the main content or quiz content) at the bottom there are two buttons: the
leftmost one, called “Submit and Go to Next Question”, is for once you’ve selected an answer from the four radio
button options, click it and the application will verify your answer before proceeding to the next question. See
below:
Verifying your answer:
If you haven’t selected a radio button option and clicked “Submit and Go to Next Question” an alert will popup,
asking you to input an answer before you proceed to the next question:
18. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 18
Otherwise, if you have selected an answer and clicked on “Submit and Go to Next Question”, an alert will popup
notifying you whether you got the answer right or wrong:
Either “Correct!” or “Incorrect!”
If you have reached your forth incorrect answer, as explained above, the game will end and an alert will popup. You
will also be return to the Main Menu:
Exiting the Game:
During a quiz game, the user may exit at any stage, simply click “Quit Quiz” - which is the rightmost button.
19. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 19
Completing the Quiz/End of the Game:
On the final quiz question , question 8, the “Submit and Go to Next Question” button will change to “Finish Quiz”
and upon submitting your answer and after5 a popup verifying its correctness, the application will proceed to the
final game state, the End of the Game Screen / Results Screen. This screen will display the quiz details (i.e. continent
and difficulty) as well as results of your performance throughout the quiz, stating the correct/incorrect questions you
got and your final score (display in the box element below). If you passed the quiz, but didn’t get 100% correct, the
following screen will be generated:
Otherwise, if you achieved 100% on the quiz, a message will be added, commending you on your achievement:
20. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 20
Once you click “Return to Menu”, you will be returned to the first and main game state, The Main Menu.
PHASE 4 Testing
In order to ensure the Single Page Application functions as it should, without bugs and any errors, a rigorous testing
regime had to be enforced during and after the code-writing phase. This testing phase helped eliminate any bugs
that may have been present within the source code (mainly the script.js). Below is a table that overviews the testing
process for Around The World SPA.
Date
Test
Description
Expected
Result
Actual Result
Source of
Bug/Issue
Action Taken
to Fix It
Date
Fixed
9/09/
2011
Trying to use JS to
replace HTML
content
HTML
div=“content”
should be
replaced with
the JS string
Original HTML
content
remained the
same
Used more
than one
“.innerHTML”
properties for
the same div
id.
Reduce JS
statement to
execute only 1
HTML DOM
property per div
being called.
10/09/
2011
10/09
Layout adjustment Main Menu
would appear in
proper formation
Menu buttons
weren’t in the
right place and
didn’t display
properly
Structure/hier
archy of
HTML
divisions
Adjustment HTML
divs to better
suited hierarchy –
i.e. left and right
divs go before
centre
10/09
11/09
Creating variable/s
to store the quiz
questions and
answers
Quiz questions
and answers
should be stored
with the answer
matching the
particular
question and its
list of options
(four).
Quiz held
questions, but
wasn’t holding
answers to
match the
particular
question.
Wasn’t using
multi-
dimensional
arrays
Created multi-
dimensional
arrays for every
quiz. i.e. within a
quiz question
array, for every
question, there
were four options
13/09
13/09
Trying to output
the question and
its details (options,
image, etc.)
Question should
display on page
along with the
options and
Question details
didn’t display at
all
JS string to
output details
did not
contain
Nested if
statements were
implemented to
check the
16/09
21. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 21
image conditions to
check which
question from
quiz to output
continent
selected, the
difficulty selected
and the current
quiz question
position.
13/09
Use cookies to hold
global variables
Global
information will
be retained by
cookies in
browser
Cookies weren’t
retaining values
properly
Cookies are
ineffective for
use on storing
data within a
single page
load – aimed
at sessions
Discard cookie
approach and
defined the
variables in the
JavaScript file as
global
13/09
14/09
Using JS global
variables to hold
key data
The global
variables will
retain key values
such as difficulty
selected until
page reload
As expected n/a n/a
n/a
15/09
Getting the image
map to output the
continents’ name
on mouse over
event
Names of
continents
display in
textbox
asynchronously
when user
hovers over the
image map with
mouse
Names weren’t
displaying
Sub-Function
used to display
the names was
placed inside
the
selectContinen
t() function
In order for it to
work, the sub-
function
showCont() must
be put outside
the parent
function. This is
because the
HTML processing
is being done
through JS
16/09
16/09
Testing to see if the
value of the
selected radio
button in a
question was
carried through to
check answer
After the user
clicks the submit
and proceed to
next question
button, the value
of the selected
radio button
should be sent to
checkAnswer()
for validation
No value was
sent
This is because
incorrect
convention
was being
used to send
the value
Created a global
variable
chosenAnswer to
hold the value
from the selected
radio button
upon submission
by using the
“this.value”
attribute on the
radio element.
17/09
17/09
Testing to see if
hangman graphic
was being updated
after each wrong
answer
Hangman
graphic would
update after
each question
and send an alert
if ran out of
chances
Hangman did
update but
didn’t send alert
when user ran
out of chances
the if
statement to
check the
value of the
hangman at
the end of
checkAnswer()
The hangman
status check was
placed at the very
end of the
checkAnswer()
function
17/09
17/09
Creating a check to
ensure that the
user doesn’t
proceed to the next
question without
selecting a radio
button
If the user hasn’t
select a radio
button when
clicking submit
an alert should
popup stating to
select a radio
No alert came up
when no radio
buttons were
selected and the
submit question
button was
clicked
The alert
didn’t come
up because
when using
the
chosenAnswer
variable to see
At the end of the
loadQuiz()
function, the
global variable,
chosenAnswer
was reset to an
empty string
18/09
22. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 22
button if it was
empty, it
wasn’t
because it
wasn’t cleared
after each call
of loadQuiz()
18/09
Testing to see if
alerts successfully
came up after each
question
submission to
notify the user
whether question
was right or wrong
If the user got a
question wrong,
an alert saying
incorrect should
be displayed and
vice versa if it
was correct
As expected n/a n/a
n/a
18/09
Test to ensure the
final question of a
quiz displays the
appropriate button
values
On the last
question of the
quiz, the button
“submit and go
to next question”
should be
changed to
“finish quiz!”
As expected n/a n/a
n/a
19/09
Testing to see if the
final game state (at
the end of a quiz) is
properly displayed
Once the user
clicked on “finish
quiz” on the last
question, they
should be
directed to the
end of the game
screen, showing
their final score
and results
As expected n/a n/a
n/a
PHASE 5 Evaluation
This evaluation is categorised into three headings: Application Evaluation, Process Evaluation and Possible
Improvements. The first part of the evaluation assesses whether the final version of the application or product has
met the stated goals and specifications listed in the design phase of this documentation. This section also evaluates
the performance, reliability and ease-of-use that the SPA has achieved. The second part of the evaluation phase is to
discuss the steps and stages throughout the design and development phases to ultimately determine the
effectiveness, success and discoveries made through those stages of the Software Development Cycle (SDC). Lastly,
the third category of the evaluation elaborates on the possible improvements that would have benefitted the SPA;
whether those improvements could have been done throughout the design and development phase or whether they
could be implemented in potential future versions of the application.
Application Evaluation
“Around The World” was developed to for the web browser, just as aimed in the original task specifications. The SPA
was also optimised for Mozilla Firefox version 6.0.2. This choice for particular browser optimisation was made
because it was found that Mozilla’s 6.0.2 version of Firefox offered the widest range of the browser feature support
such as CSS3 support and web developer tools such as an error console. “Around The World” also managed to
maintain the element of a user-friendly interface by implementing a sleek, modern and simplistic design, avoiding
23. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 23
potential confusion by users through not creating extensive and messy page content. As a result this will allow the
users to focus on the important elements of the application, such as the quiz itself, the score, and the hangman
status, of which are all crucial in-game components.
As stated in the “Expected Results” section of this documentation, by implementing these features and approaches
mentioned above, the game will in turn provide a positive and innovative learning experience for all audiences,
including students and teachers. The implementation of the hangman component within a quiz, aids in creating a
constructive learning atmosphere for students or a creative experience for audiences playing the game for leisure.
This is achieved because the hangman component in a quiz would add depth to the quiz by creating a balanced
pressure to do well in the quiz – in effect, this helps change the generic convention of trivia quizzes many users
might have been used to. Another feature that may add to the innovative rework of trivia quizzes that this game
offers is the inclusion of scores; the higher the score, the more it would vindicate a user’s knowledge – particularly
on the harder difficulties. As provisioned in the task specifications, this application may in turn assist students who
are studying social studies or simply geography as a subject.
By the end of the development phase, “Around The World” has resulted in being a fully functional web-based single
page application, successfully utilising HTML, JavaScript and CSS – just as intended in the specification. The
application has been ensured to use a wide variety of programming constructs and concepts as well as a lively blend
of creative elements to not only enhance the user’s experience, but also allow them to come away with something
society treasures: knowledge.
Process Evaluation
Throughout the process of creating this application, it was ensured that the entirety of this project was founded on
the programming premise that the “Software Development Cycle” offers, of which, in essence is ‘Design’, ‘Develop’
and ‘Evaluate’. Therefore, the implementation of the SDC would help keep the entire project on track and ensure
that especially within the design and development phases, the process of each was being handled efficiently,
constructively and with an open-mind for any ways to improve the project and its overall structure.
A proper approach to the design phase was crucial if a successful structure of functionality and layout for the
application was to be implemented. However, upon completion of the development and implementation phase, an
evaluation of the initial design approaches to the application suggests several opportunities for improvement.
Although the Top-Down Design charts helped provide a useful structure to the SPA, the pseudocode could have been
tweaked to give greater insight into approaching the processing requirements for this project. This tweak could have
been as simple as devoting more attention to designing a more cohesive and efficient structure of code before
proceeding to the code-writing stage.
Seeing as the greater purpose of the project was to demonstrate a full understanding of a number of coding
techniques and more importantly the SDC, it was decided to focus more effort in these areas rather than generate all
of the content for the stated quiz options. For example, during the continent selection game state, the user can
currently only select Europe and Asia to be quizzed on, of which, each contain a quiz of eight questions for every
difficulty, which are easy, medium and hard. As it should then be apparent that if all three quizzes was to be
developed for every continent of the world, the application would contain a very large quantity of code that holds
little to no functionality. Therefore, in order to meet stipulated specifications of the task, the development of the
project required more attention to a variety programming functionality rather than an assortment of content.
Possible Improvements
Since reaching the evaluation phase of the SDC, numerous improvements to the application have been thought of.
However, several were thought of during the development phase, but due to the constraints of time allocation and
resources available to develop this project, such improvements could not have been made with the final release of
the product. Nevertheless, all the considered improvements that could be made to this SPA are listed below:
24. 1 2 I P T : T e r m 3 M a j o r P r o j e c t – J a k e S k o r i c | P a g e 24
Extend Product Optimisation to Other Browsers:
If the application was optimised for more than just Firefox 6.0.2, then it could open the availability of the
application to a wider range of users.
Have quizzes on more continents:
Perhaps in any future versions of this application, the quiz content library could be extended to
accommodate quizzes for all the continents of the world, instead of just Europe and Asia.
Randomize Quizzes:
By making each question in the quiz asked at random, but not to be repeated during a quiz game, it would
allow for more replay-ability of quizzes and the game as a whole, and perhaps a more satisfying game
experience for users.
Have a player profile that keeps a record of the player’s statistics and progress throughout the game:
This could perhaps by the biggest improvement to the game, but it would also likely be the most difficult, on
the basis that using JavaScript to retain permanent data is extremely difficult without having ready access to
a database to store profile on. However, there may be alternatives, such as writing the data to a text file
within the index directory of the application. If this venture was possible, the another world of opportunities
and enhancements could be derived from it, such as an experience-point system for each registered player
that after a certain level of points earned by each quiz (by using the “score” variable) the result could be
added on to their total collection of points and the user could earn a level-up. Each level up could have a
specific name, such as level 1 would be called ‘new traveller’, and level 2 could be called ‘travel guru’, etc.
After or within the ‘End of Game’ screen, include a list that displays all the incorrectly answered questions
and compare the incorrect answer with the correct one, complete with an elaboration of the correct
answer beside it:
Beside each of these quiz question breakdowns, a statistic that displays the percentage of the users who got
those questions right and wrong could also be included. However, for this to work, the above improvement
for player profiles might have to be implemented.
Improve overall aesthetic feel of the game by creating more customised message boxes, buttons, and
other event-driven elements:
By doing this, users could create a more personal attachment to the game, because of more variety in the
artistic presentation of the content and application itself.
Including sounds, music and effects to the application and it gameplay:
Including music for the main menu or effects and other sounds during a quiz may be the gentle touch
required to boost a user’s fondness and appreciation of the application.
Including a more extensive and visually explained user manual in the actual application:
By having a more visually based user manual, users might find it easier to understand the game and its
dynamics. Although a visual manual is included in this documentation, the application itself only has a brief
text-based alert message version of the user manual. Perhaps an improvement for this could to be to include
a link at the end of the already-existing text-based manual to a full and visually-based user manual for users
interested in further reading of the game guide.