FAQ¶
Is this a programming course?¶
Programming is necessary, but the main subject is the engineering of software: requirements, design, collaboration, quality, testing, process, delivery, and evolution.
Which programming language should the project use?¶
Use the language or framework specified for the semester. If teams may choose, prefer a stack the team can test automatically and run reproducibly.
Do diagrams need to be perfect UML?¶
Use UML accurately when the assignment requires UML. In design discussions, a clear lightweight diagram is often more valuable than a visually complex diagram with ambiguous meaning.
How much documentation is enough?¶
Document decisions that future developers would otherwise have to rediscover. Avoid both extremes: undocumented systems and documents that merely repeat the source code.
Is code coverage a grade for correctness?¶
No. Coverage indicates which code executed during tests; it does not prove that assertions were meaningful or that important behaviors were tested.
Can AI generate my project?¶
The course assesses engineering understanding and evidence. Any permitted AI-generated contribution still needs review, testing, integration, explanation, and accountability.