The Internal Assessment for Computer Science is an opportunity for you to showcase your algorithmic and technical prowess at developing software intended to solve a legitimate, real world problem for someone.
Approximately 30 hours of class time will be devoted to the Internal Assessment. Beyond that it is expected you will contribute at least the same amount of your own time towards the project.
My IA handbook is a thorough 30 page guide through each deliverable, filled with valuable notes from moderators and past experience of things students did well / not so well. Read it carefully.
The following supplemental resources will also be required.
- Proposal - Complete the proposal and submit to me for review. I will have a one-to-one discussion with every student reviewing their proposal before you commence. Once approved, you must discuss with me if you wish to make major changes (such as changing your technology stack).
- Technology stack recommendations
- Client nomination form (pdf)) - Have your client sign and then return to me.
- IB official template for your submission (zip)
Past exam IA's with feedback comments are available for STC students here.
- Past IA's (you must be logged in to your STC google account to access)
For the class of 2021
- Draft IA due: Monday 7 December 2020
- Final IA due: Monday 8 February 2021
- App project ideas - NEW FOR CLASS OF 2022 - Well worth a look
- Mega Project List - 110 problems
- I Need Practice Programming - 49 Ideas for Game Clones to Code
- Awesome Deep Learning Project Ideas
- 40 Side Project Ideas for Software Engineers
GUI options for Python projects
- Flaskwebgui - The Python equivilant to using Electron. Use a Chromium render engine to create a GUI that contains a website. Allows full flexibility in appearance/style because it's just CSS.
- Flask - Create a proper website and host it online. Make it responsive and it will work perfectly on any phone or laptop. Create it as a PWA and it can install as an offline app on the phone.
- Tkinter - The built-in, native method of creating GUI's with Python. Suitable for Windows/Mac/Linux projects. Uses OS style widgets such as textboxes, buttons, context menus.
- Pygame - Game engine. Does not have OS widgets, the only things that appear on the screen are what you draw/create.
- Kivy - Create cross-platform UI apps. Similar to Pygame in that it does not have OS widgets available. Can create Android/iOS.
- Beeware - Create cross-platform UI apps with access to OS widgets. Can create Android/iOS.