Y12 Unit 0 - Class Structure
Y12 Unit 1 - Computational Thinking
Y12 Unit 2 - Networks
Y12 Unit 3 - OOP
Y12 Unit 4 - System Fundamentals
Abstract Data Structures (HL) Year 13 Unit

Criterion A Sample

It’s important that you follow the rubric for the IA. Below is a high-scoring sample that we have created for you. You may use the same format but you can increase/decrease the length of each section as you see fit.

Criterion A

Introduction/Scenario

My client is a Computer Science teacher at my school. For the past few years, he has developed a curated website that helps students study for their IB exam in CS. He distributed the website as a zip file and the students open it in their browser when they want to review past papers. This website can be updated multiple times a year with new exams that have been released by the IB. Current issues are (See A1 for interview transcript):

  1. Updates are not easy to distribute.
  2. Students might end up having multiple versions of the files.
  3. The website is limited to static HTML.
  4. The website uses a PDF-HTML conversion tool that is not very accurate.
  5. Adding new practice questions is impossible
  6. There is no search feature, so sometimes it is hard to find what you are looking for.

<insert picture of the current product here>

My client wants a solution that will be hosted online, be password protected and allow him to manage users. Furthermore, he would like for the website to have an “add a question” feature, flashcard practice and a search bar. Finally, instead of using a PDF-HTML converter, he would like for there to be a database that holds question information in plain text. (See A1)

Justification

I have proposed to address all of the concerns that my client has and create a dynamic website using HTML, CSS and the Django framework. By using Django, I will be able to use python classes to store data in a database and provide a simple interface to create new Question objects, which will be displayed in HTML and CSS. Django will also let me build dynamic sections of the website, where a user can type in a search term and I can look through that database for that term. By using Django’s dynamic web features, I can create the flashcard feature using one template that can display information about any of the questions. Finally, Django provides the ability to create user accounts and have an admin backend to add/remove new users.

To host the application I will be using Heroku, which provides deployment directly from Github, making it easy to make changes and push them automatically from the teacher’s computer and scales as needed (Heroku).

I’ve found that a mobile solution will no meet the needs of my client and his students. The limited amount of screen space alone would make it hard to navigate through the product. Also, I could use Flask instead of Django, but Django’s powerful admin console will be important for user management.

I believe this application will meet the needs of my client and his students. It will provide a backend that is easily scalable and maintainable. My client will be able to add new questions easily in the future and he will not have to distribute the website files manually. Finally, his students will benefit from having a user account where they can personalize the website. This will help when revising for exams by using the search and flashcard features and possibly saving hard-to-remember questions.

Success Criteria

Accessibility:

  • Support for Chrome Browser magnifiers and readers.

Functionality:

  • A search bar that will find results in titles and question text.
  • An administration panel to create and remove users.
  • An online hosted database.
  • Flashcards that show random questions from user-selected topics
  • Deployment through Git and Github to the web host.
  • Users can change their password.
  • Users can save/star a question for future use.
  • A table with all of the past IB papers from 2014 to 2020.
  • A course guide page with question links sorted by topic and subtopic, all IBCS Topics included.
  • A page that shows all starred questions.

Security:

  • Only the teacher can create accounts
  • Accounts will not hold any private information about users, including:
    • Personal Names
    • Personal Identification Numbers issued by the government
    • Location
    • Browsing history
    • Age
    • Gender
    • Race.

Word Count: 448