# AH Session 1 : Project Pitfalls

## Recording of full tutorial for session 1

<details>

<summary>Overview of full tutorial recording</summary>

*generated by NoteBookLM*

This tutorial reviewed common pitfalls and best practices for Advanced Higher Computing Science projects, focusing on analysis, design, and implementation across database, software, and web development.  Key issues included&#x20;

* insufficient detail in project documentation, particularly regarding "golden threads,"&#x20;
* advanced higher concepts, and&#x20;
* design specifications (e.g., missing query designs, pseudocode, data flow diagrams, and error handling).

</details>

{% hint style="info" %}
You may prefer to watch the content as a series of clips.
{% endhint %}

{% embed url="<https://youtu.be/9E8tYmi88C8>" %}

<details>

<summary>Summary notes from the full tutorial</summary>

*Generated by NoteBookLM*

*<mark style="background-color:$warning;">Timings are approximate since video has been edited)</mark>*

* **Meeting Overview**: The meeting focused on common pitfalls and best practices for Advanced Higher Computing Science projects, specifically addressing analysis, design, and implementation stages for database and software development projects.  Significant conclusions included the importance of meticulously documenting “golden threads” throughout project documentation (00:31:29) (00:36:01), and the need for detailed descriptions in analysis, emphasizing the use of advanced higher concepts and their application within the projects (00:36:46).  Furthermore, they discussed design flaws in database projects, including the omission of query designs, pseudocode, and database attribute types in data dictionaries (00:55:00) (00:59:46).  They also highlighted issues in software design, such as overly complex project scopes and insufficient detail regarding data flow, algorithms, and error messages (01:02:44) (01:05:17). Finally, web development issues were addressed, focusing on the need for sufficient detail in the underlying processes of user interface design, and the use of external CSS (01:17:19).  These conclusions were reached through collaborative discussion among David Jack, Debbie Kennedy, Mr. Reavey, Maggie Tuohy, Michelle Brodie, and Fiona Jorgenson. .
* **Golden Threads and Marking**: Debbie Kennedy and David Jack discussed the importance of “golden threads,” which are the consistent application of requirements, design, and implementation throughout the entire project (00:31:29) (00:36:01). They stressed the significance of documenting these threads to achieve full marks, especially noting the substantial mark allocation (37 marks) for consistent documentation across all stages.  A new template was shared to assist students in tracking requirements and evidence (00:32:25) (00:36:01).
* **Analysis Pitfalls**:  The discussion highlighted several analysis pitfalls.  One key issue was a lack of detail in describing advanced higher concepts, often resulting in students simply copying information from the course document without elaboration (00:36:46).  Another issue was the insufficient breakdown of subtasks and the omission of relevant resources in project plans (00:37:34).  They underscored the importance of detailed descriptions in analysis, illustrating how to enhance vague statements, like "using a 2D array," by specifying its application in the project (e.g., "a 2D array to store the leaderboard") and linking it to relevant algorithms (00:39:29).
* **Database Design Pitfalls**:  Fiona Jorgenson identified frequent design mistakes in database projects.  These included neglecting to include query designs for each query, including unnecessary queries in the implementation, failing to integrate advanced higher data structures with algorithms, and the omission of pseudocode for database connections (00:55:00) (00:57:42).  They also emphasized the necessity of using advanced higher database attribute types instead of application-specific ones (01:00:40).
* **Software Design Pitfalls**: Fiona Jorgenson detailed several issues.  One recurring problem was attempting overly complex projects, leading to incompletion (01:02:44).  Other significant errors included applying advanced higher algorithms to inappropriate data structures (e.g., using a 1D array instead of a 2D array) (01:07:44), omitting top-level designs with data flow diagrams (01:05:17), insufficiently documenting the consideration of requirements at the design stage, and neglecting error messages related to input validation in the design (01:06:26).  The importance of ensuring that the pseudocode is not simply reverse-engineered from the code itself was also stressed (01:11:45). The difference between validation and verification was explained, and the need for careful consideration of these concepts emphasized (01:13:40).
* **Web Design Pitfalls**: Debbie Kennedy focused on web design, noting that while implementation is typically well-handled, the underlying processes of user interface design often lack detail (01:17:19).  The importance of clarifying underlying processes, including validation, and the use of external CSS were emphasized.  The suggestion was made that the design documentation should be sufficiently detailed to allow a development team to easily create software from it (01:19:52).
* **Design Stage Issues**: Fiona Jorgenson and Debbie Kennedy noted a common issue where developers implemented functionality but lacked detailed design documentation (01:21:06).  They also discussed challenges with media queries, suggesting one UI design for full browser size and supplemental information on triggers and effects, possibly using comparison tables (01:22:51).  The need for clear site navigation diagrams showing session variables and page transitions was emphasized, with a requirement to include "post" information for page-to-page data transfer (01:23:50) (01:25:35).  The importance of using pseudocode for PHP, aligning with functional requirements, was also highlighted (01:26:22).
* **Web Implementation Issues**:  Debbie Kennedy identified three key areas needing attention in web implementation:  media queries not being in external CSS, lack of evidence showing media query functionality (missing screenshots of different sizes) (01:28:08), and misunderstanding of session variables, leading to incorrect handling of form elements and passwords (01:29:07).
* **Database Implementation Issues**:  Debbie Kennedy and David Jack discussed the need for evidence showing the database matches the design, suggesting screenshots of design view for proprietary software like Access (01:33:06). They also highlighted the critical need for "before" and "after" screenshots to demonstrate the effect of database queries (01:34:04).
* **Software Implementation Issues**: Fiona Jorgenson reported that while candidates generally did a good job with software implementation, there was a lack of evidence for connectivity when using built-in interfaces and insufficient evidence of ongoing testing during debugging (01:36:43). They stressed the importance of highlighting key algorithms, structures, and connections for easier marking (01:38:02).
* **Testing Issues**: Fiona Jorgenson noted that while most candidates performed the tests in their test plans, some failed to describe the results (01:40:42).  They emphasized the need to provide evidence for aesthetic requirements mentioned in the analysis stage (01:41:56), along with evidence for game play, final scores, algorithm application, query results (including "before" and "after"), and error messages (01:43:10).  The importance of using functional and user requirements as a basis for the test plan, including normal, extreme, and exceptional test data, was also highlighted (01:44:32).  Finally, they stressed the need for realistic personas with detailed technical abilities (01:46:26).
* **Evaluation Issues**:  David Jack and Fiona Jorgenson observed a tendency for candidates to rush through the evaluation section (01:49:16).  Common mistakes included a lack of discussion on future maintenance (corrective, perfective, and adaptive) and the tendency to discuss maintenance in abstract terms rather than applying it to their project (01:49:49).  They stressed the importance of honesty, acknowledging limitations and unmet requirements (01:53:53), and avoiding generic statements of project success without supporting evidence (01:55:36).
* **Overall Feedback and Next Steps**: The session concluded with a discussion of teacher feedback and future plans.  Debbie Kennedy proposed in-person sessions focusing on PHP and database connections, while acknowledging the need to consider other potentially more beneficial topics for future meetings (02:02:05).  The importance of the "KISS" principle (Keep It Simple, Stupid) was also reiterated, advising against overly complex projects that detract from the core Advanced Higher principles (01:57:14).  Concerns about sharing exemplar projects due to potential replication were addressed, with a suggestion to potentially share smaller code extracts (01:59:05).  A consensus emerged on the need to provide class-wide, not individual, feedback to prevent reverse engineering and ensure the work remains students' own (02:00:43).  Finally, there was a discussion on the challenges of balancing student creativity with the constraints of the Advanced Higher curriculum and assessment (02:08:37) (02:12:06).
* **Peer Review and Collaboration**: The group discussed the extent to which students could collaborate on their projects.  They concluded that while students could not complete each other's work (02:19:30), they could engage in peer review and discussions to improve their understanding (02:20:17) (02:21:41).  They agreed that such collaboration, as long as it doesn't involve copying or plagiarism, can lead to better learning outcomes (02:20:17) (02:24:03).
* **Learning Through Dialogue and Visualization**:  Participants highlighted the value of students discussing their projects and visualizing each other's code (02:21:00) (02:24:03).  Brendan McCart emphasized the importance of students imagining how an algorithm works in a different context, developing a deeper understanding than simply examining their own code (02:21:41).  They noted that observing similarities in different projects, even with varied scenarios, fosters deeper understanding (02:24:03).

</details>

***

### Clips from recording of Session 1

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><strong>1 Overview</strong> </p><ul><li>Golden Threads</li></ul></td><td><a href="/files/WEflbjX4seFbqZZG067m">/files/WEflbjX4seFbqZZG067m</a></td><td><a href="/pages/efNv9GtWXIiRtLi7J2F5">/pages/efNv9GtWXIiRtLi7J2F5</a></td></tr><tr><td><p><strong>2 Course Report feedback</strong></p><ul><li>Analysis</li></ul></td><td><a href="/files/SjSaivA7PNlJ3RMS38U3">/files/SjSaivA7PNlJ3RMS38U3</a></td><td><a href="/pages/Z9wEJj2GjNsDDG0sBsH9">/pages/Z9wEJj2GjNsDDG0sBsH9</a></td></tr><tr><td><p><strong>3 Course Report feedback</strong></p><ul><li>Design</li></ul></td><td><a href="/files/8MH16rPvUryTrn2zohvX">/files/8MH16rPvUryTrn2zohvX</a></td><td><a href="/pages/ittqaHAvtdrSP7AiPoHa">/pages/ittqaHAvtdrSP7AiPoHa</a></td></tr><tr><td><p><strong>4 Course Report feedback</strong> </p><ul><li>Software Development</li></ul></td><td><a href="/files/AH2h2WgqkuqNjc8KDbdN">/files/AH2h2WgqkuqNjc8KDbdN</a></td><td><a href="/pages/IQyVISDWuQHYVnTJwiiC">/pages/IQyVISDWuQHYVnTJwiiC</a></td></tr><tr><td><p><strong>5 Course Report feedback</strong></p><ul><li>Web Development 1</li></ul></td><td><a href="/files/Rn800h53wpivNpu3pGEW">/files/Rn800h53wpivNpu3pGEW</a></td><td><a href="/pages/R2q0XyV7C8xOKy0Iy5pH">/pages/R2q0XyV7C8xOKy0Iy5pH</a></td></tr><tr><td><p><strong>6 Course Report feedback</strong></p><ul><li>Web Development 2</li></ul></td><td><a href="/files/Y3XJbUedANERJxMqsynw">/files/Y3XJbUedANERJxMqsynw</a></td><td><a href="/pages/u89C76pAR0bZLMFLCZWp">/pages/u89C76pAR0bZLMFLCZWp</a></td></tr><tr><td><p><strong>7 Course Report feedback</strong></p><ul><li>Implementation</li></ul></td><td><a href="/files/I2e8JqogXpYUpDJVdHj7">/files/I2e8JqogXpYUpDJVdHj7</a></td><td><a href="/pages/UmIIjWzNqS5F2mwhje32">/pages/UmIIjWzNqS5F2mwhje32</a></td></tr><tr><td><p><strong>8 Course Report feedback</strong></p><ul><li>Testing</li></ul></td><td><a href="/files/jWOUMIthtrik99K9kPOA">/files/jWOUMIthtrik99K9kPOA</a></td><td><a href="/pages/5HiByixNRW9FcdIFn3Nn">/pages/5HiByixNRW9FcdIFn3Nn</a></td></tr><tr><td><p><strong>9 Course Report feedback</strong></p><ul><li>Evaluation</li></ul></td><td><a href="/files/xwkJFdqhoQB4qqDGXNAf">/files/xwkJFdqhoQB4qqDGXNAf</a></td><td><a href="/pages/BTVbpkeHGQT4fB0oRg3y">/pages/BTVbpkeHGQT4fB0oRg3y</a></td></tr></tbody></table>

***

### Additional content derived from original recording by generative AI tools

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><strong>Overview of full recording</strong></p><ul><li>(5:28)</li></ul></td><td><a href="https://images.unsplash.com/photo-1679083216051-aa510a1a2c0e?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw1fHxnZW5haXxlbnwwfHx8fDE3NTY3MzkwMDh8MA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1679083216051-aa510a1a2c0e?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw1fHxnZW5haXxlbnwwfHx8fDE3NTY3MzkwMDh8MA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td><td><a href="/pages/RTOPbiUd1Iym1QtBR6QF">/pages/RTOPbiUd1Iym1QtBR6QF</a></td></tr></tbody></table>

### SWAG from Session 1

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Golden Threads checklist</td><td><a href="https://images.unsplash.com/photo-1728484702497-45aa51dda672?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw0fHxnb2xkZW4lMjB0aHJlYWRzfGVufDB8fHx8MTc1NjczMDU0Mnww&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1728484702497-45aa51dda672?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw0fHxnb2xkZW4lMjB0aHJlYWRzfGVufDB8fHx8MTc1NjczMDU0Mnww&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td><td><a href="/pages/WCHHFYbvgYAwO1j30e93">/pages/WCHHFYbvgYAwO1j30e93</a></td></tr><tr><td>Query Design templates</td><td><a href="https://images.unsplash.com/photo-1530435460869-d13625c69bbf?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwzfHx0ZW1wbGF0ZXxlbnwwfHx8fDE3NTY3MjY0MDh8MA&#x26;ixlib=rb-4.1.0&#x26;q=85">https://images.unsplash.com/photo-1530435460869-d13625c69bbf?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHwzfHx0ZW1wbGF0ZXxlbnwwfHx8fDE3NTY3MjY0MDh8MA&#x26;ixlib=rb-4.1.0&#x26;q=85</a></td><td><a href="/pages/jxrdis63EnInnkjWSXKU">/pages/jxrdis63EnInnkjWSXKU</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://upskilling.stacs.scot/advanced-higher-support/tutorial-recordings-and-clips/ah-session-1-project-pitfalls.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
