Skip to content
Study Hall
Lesson 5 of 7Software Development & the CPT
Unit 7 · Lesson 5 of 7

The Culminating Project, Society and Careers

Scoping a project you can actually finish, the environmental cost of computing, the research areas shaping the field, and where computing leads after Grade 11.

7 min read12 practice questionsAsk AI about this →

Key things to remember

  1. 1Scope a project by sorting features into must, should, could and will-not have, and build strictly in that order.
  2. 2A milestone must be provable by running something, not by an estimate of how complete it feels.
  3. 3Reserve about a fifth of your time for testing, fixing and documentation.
  4. 4Manufacturing a device usually costs more energy than the electricity it will consume in its whole life, so extending lifespan is the strongest environmental lever.
  5. 5E-waste contains both hazardous materials and recoverable metals, so it must go to a designated recycling program.
  6. 6Ontario pathways include university computer science or engineering, college programming and IT, combined transfer routes, and certification.

A culminating performance task is a program you design and build yourself, from an idea to a working demonstration. The single most common reason one goes badly is not difficulty — it is scope. Pick a problem small enough that the core of it could be working within the first quarter of the time you have, then write the features down in priority groups and build strictly in that order. When time runs short, and it will, you drop from the bottom of the list rather than abandoning a half-built feature in the middle.

PriorityMeaningExample for a quiz program
Must haveWithout it there is no projectLoad questions, ask them, check answers, report a score
Should haveClearly better with itStore scores between runs, shuffle the question order
Could haveOnly if everything else is doneTimed questions, a difficulty setting, a graphical interface
Will not haveWritten down explicitly so it stops tempting youOnline multiplayer, accounts, a mobile version
Writing the fourth row down is what protects the first row.
Build one thin slice end to end first
Make a version that reads one question, asks it, checks the answer and prints a score — then stop and make sure it runs. A working skeleton can be extended in any direction. A collection of finished pieces that has never been assembled cannot be demonstrated at all.

Break the project into milestones that are each provable by running something. "Work on the data structure" is not a milestone, because it can be 90 percent done forever. "The program loads a file of questions and prints them" is a milestone: it either runs or it does not. Then plan backwards from the deadline and leave the final fifth of your time for testing, fixing and documentation, because that work always exists and is always underestimated.

MilestoneProof it is doneShare of the time
Requirements and designIPO chart, pseudocode and a list of test cases exist15 percent
Thin slice runningOne question asked and answered end to end20 percent
Must-have features completeEvery must-have item demonstrably works30 percent
Should-have featuresAdded one at a time, re-testing after each15 percent
Testing, fixing, documentationFull test set passes; code is commented and named clearly20 percent

Losing work is a self-inflicted wound and it is entirely preventable. Keep the project in one folder, with each source file named exactly after the class it contains. Keep a dated copy every time something significant starts working, and never edit that copy — when a change breaks everything and you cannot see why, being able to return to the last version that ran is the difference between an hour lost and a weekend lost. Back up to a second location, because one copy is no copies. Version control such as Git does all of this properly and records why each change was made. And never rename a file to finalFINAL2: dates sort, adjectives do not.

What to have ready for a demonstration
A demonstration should show the program running on prepared data, including at least one invalid input being rejected gracefully. Have the design documents, the test cases with their results, and a one-sentence explanation of any feature you chose not to build. Being able to say what you left out, and why, shows you controlled the scope rather than ran out of time.

Computing is not weightless. Every device consumes electricity while it runs, took energy and mined materials to manufacture, and becomes waste at the end of its life. Manufacturing dominates: for a typical laptop, making it accounts for far more energy than the years of electricity it will ever draw, which reorders the whole list of what actually helps — keeping a device in service longer beats almost any efficiency measure. Data centres deserve a separate mention, because they are where cloud services, streaming and machine learning actually run, and their two big costs are the computing itself and the cooling needed to remove the heat it produces. Efficiency there is measured by comparing total facility power with the power delivered to the computers alone; the closer that ratio is to 1, the less is wasted on everything other than computation.

Most of a device’s environmental cost is paid before you ever switch it on.Raw materialsmining copper, gold, rare earthsManufactureenergy and water intensiveUseelectricity over 3–6 yearsEnd of lifereuse · repair · recycle · landfillrecovered materials close the loopWhat e-waste contains:lead in solder, mercury in backlights, cadmium in batteries, brominated flame retardants in plasticsWhy it is not just garbage:one tonne of circuit boards holds far more gold than one tonne of ore — recycling is mining done indoors.
Fig 1From raw materials through manufacture and use to recovery or landfill, and the loop back into new products.
Policy or practiceWhat it doesWhy it matters
Power management: sleep and hibernateDrops idle draw from tens of watts to a fewMost machines are idle far more than they are used
Turning displays off when idleA monitor is often the largest single draw at a workstationCosts nothing and needs no hardware change
Extending device lifespanRepair, upgrade the memory or drive, reinstall rather than replaceAvoids the manufacturing energy of a whole new device
Responsible e-waste recyclingRecovers copper, aluminium, gold and rare metals; keeps lead and mercury out of landfillOntario has designated drop-off programs for exactly this
Efficient code and right-sized hardwareLess computation means less energy for the same resultScales enormously when the program runs on many machines
Data-centre efficiencyCooling design, waste-heat reuse, siting near low-carbon electricityMuch of Ontario's supply is low-carbon, which changes a centre's footprint as much as any efficiency measure
Electronic waste is hazardous, not ordinary garbage
Devices contain lead, mercury, cadmium and flame retardants that leach out of landfill, alongside copper, aluminium and gold worth recovering. They also contain your data, so wipe storage before disposal. Municipal and retailer take-back programs exist specifically so that none of this ends up in household waste.
Research fieldThe core ideaWhere you already meet it
Machine learningPrograms that improve at a task by finding patterns in data, instead of being given explicit rulesSpeech recognition, recommendations, translation, medical image analysis
Quantum computingUsing quantum states to explore many possibilities at once, for a narrow class of problems classical machines find intractableStill experimental; its main near-term effect is driving new encryption standards
CybersecurityProtecting systems and data from attack, and designing systems that stay safe when something failsEncryption on every website you visit, two-factor login, security updates
Human-computer interactionStudying how people actually use systems and designing to fit that, including accessibilityInterface design, screen readers, voice assistants, usability testing
BioinformaticsApplying computing to biological data such as genomes and protein structuresGenetic testing, drug discovery, tracking how a virus changes

These fields are worth knowing about now because they change what a programmer's job involves. Machine learning shifts effort from writing rules to gathering and checking data, which brings new responsibilities around bias and privacy. Quantum computing threatens some current encryption, which is why new standards are already being deployed. Cybersecurity has moved from a specialism to something every developer is expected to understand, and human-computer interaction keeps the field honest about the fact that software exists for people to use.

Where TEJ3M can lead.TEJ3M → TEJ4M (Grade 12 Computer Engineering Technology)Apprenticeshipelectronics / electrical technician3–5 yr on the job + in-schoolCollege diplomacomputer engineering technician (2 yr)or technologist (3 yr)University degreecomputer engineering, software eng.4 yr, needs 4U Advanced Functions + Calculus + PhysicsCertificationCompTIA A+, Network+, Cisco CCNAstacks on top of any of the aboveIn Ontario, "technician" is a 2-year diploma and "technologist" a 3-year one; P.Eng. requires an accredited degree plus licensing.
Fig 2Routes from secondary school into computing: university, college, apprenticeship and direct certification.
PathwayTypical lengthWhat it leads to
University — computer science4 years, often with co-opSoftware development, research, machine learning, security; strong mathematics content
University — software or computer engineering4 to 5 years, accreditedSystems and embedded work, and a route toward professional engineer status
College — computer programming or IT2 to 3 years, applied focusDeveloper, analyst, network or support roles; fastest route into practical work
College and university combinedTransfer and degree-completion agreementsCollege skills plus a degree, often with credit for completed work
Certification and self-directed studyMonths, ongoingNetworking, cloud, security and support roles where certifications are recognized
RoleWhat the work is actually like
Software developerTurning requirements into code, reviewing others' code, and maintaining systems already in use
Data analyst or data scientistCleaning and combining data, finding patterns, and explaining findings to people who will act on them
Cybersecurity analystMonitoring systems, investigating incidents, and hardening software before it is attacked
Network or systems administratorKeeping infrastructure running, planning capacity, and restoring service when it fails
Game or interactive developerProgramming with tight performance limits, alongside artists and designers
UX designer or researcherStudying how people use a system and redesigning it around what they actually do
Every one of these routes values the same starting evidence: finished programs, readable code, and the ability to explain your decisions.

Worked examples

Reveal one step at a time and try to beat it to the next line.

Example 1
A student proposes a multiplayer online game with accounts and a graphical interface for a project lasting six weeks. Rescope it into something that can be finished.
Example 2
A desktop computer draws 120 W in use and 3 W asleep. It is currently left on 24 hours a day. Calculate the energy over 30 days, then for a policy of 8 hours awake and 16 hours asleep, and state the saving.
Example 3
A working laptop is three years old and feels slow. Compare replacing it with upgrading it, on environmental grounds.

Where marks get lost

  • Choosing a project by how impressive it sounds rather than by whether its core can be running early.
  • Setting milestones that cannot be proven by running something, so progress can only be guessed at.
  • Leaving no time for testing and documentation, which guarantees both are done badly or not at all.
  • Keeping a single copy of the project on one machine, so one failure or one bad edit erases everything.
  • Assuming a newer device is greener, when manufacturing is the largest part of a device's lifetime energy.

Flashcards 10

What is the most common reason a culminating project fails?
What makes a good milestone?
Roughly how much of the schedule should be reserved for testing and documentation?
Why keep dated copies of working versions?
+ 6 more

Practice

1
Order the milestones of a well-planned culminating project.
  1. 1Full testing, fixes and documentation
  2. 2Should-have features added one at a time
  3. 3All must-have features complete
  4. 4Requirements, design and a written test plan
  5. 5A thin slice running end to end
2
A computer draws 120 W and is left on for 24 hours a day. How many kilowatt hours does it use in 30 days?
kWh
3
The same 120 W computer is set to sleep at 3 W for 16 hours a day and run for 8. How many kilowatt hours does it use in one day?
kWh
4
Which stage of a laptop's life typically consumes the most energy?
5
Match each emerging research area to its core idea.
Machine learning
Quantum computing
Cybersecurity
Bioinformatics
6
Why write down a "will not have" list when scoping a project?
7
Name one reason a device should go to a designated e-waste program rather than household garbage.
8
Which is a genuine milestone rather than a vague task?
9
Which Ontario pathway is the most direct route into applied developer and support work?
10
Order these actions by how much they reduce computing's environmental impact, from most to least.
  1. 1Enable sleep and display power management on every machine
  2. 2Replace a working device with a newer, more efficient model
  3. 3Recycle the device responsibly at the end of its life
  4. 4Keep a working device in service for two extra years through repair and upgrade
11
What is the main purpose of keeping dated copies of versions that worked?
12
What should a project demonstration include, beyond the program working on ordinary data?

Spot a mistake on this page? Let us know