DIG101A-2024
See also: teaching-implementation, Year 9/10 curriculum
Curriculum#
2 units
-
dig101a-2024-u1 - Enhancing Digital Solutions with OOP
Introduction and application of OOP to enhance sustainability projects - dig101a-2024-u2 - Developing Complex Digital Solutions
Application of advanced programming concepts to develop enhanced solutions
tools
-
Embeddable Python, including a block based - Thonny - simple IDE for learning Python
Delivery Plan#
Term 1#
Week | Commencing | Lesson 1 | Lesson 2 | Lesson 3 |
---|---|---|---|---|
1 | 22/01/2024 | dig101a-u1l1 | ||
2 | 29/01/2024 | |||
3 | 05/02/2024 | |||
4 | 12/02/2024 | |||
5 | 19/02/2024 | |||
6 | 26/02/2024 | |||
7 | 05/03/2024 | |||
8 | 12/03/2024 | |||
9 | 19/03/2024 | |||
10 | 26/03/2024 |
Random thoughts and planning#
Teaching ideas#
Teaching tools#
- ACARA assessment task uses Spyder IDE - the Conda distribution is likely more flexibl
Project ideas#
Systems development
- Some sort of distributed, ?generative? art that includes user input and keeping safe?
- Implementing a suite of animations/interactive systems for teaching mathematics (etc)
- Streamlit/Javascript (Material) projects around public data - for the Lockyer Community
QCAA planning document suggests four units
-
Websites
Respond to brief "be creative" by designing website to "change the world"
- user experience
- data compression
- content/presentation
- Gamification
Learn about gamification and design a user experience (and implement it) for a game. Implement it. Test and predict results.
-
Big data
Big data in the context of organisations...create a digital solution with big data.
-
IoT
Explore smart farming IoT etc...
Data
- ACARA sample assessment focuses on the data aspect using a combination of sample task and assessment task using Excel and Python to examine data
Python programming ideas#
Looking for a creative coding idea with Python that starts with basic Python and touches on OOP.
- Creative coding in Python book - apparently used in schools
- Damon Murtagh - secondary teacher teaching Python - range of useful sites
- Including OOP with rooms etc.
From Grok to real programming#
Need to take basics in Grok into building actual Python programs - stepping stone to assessment
-
nbviewer - way to share Jupyter notebooks
a web application that lets you enter the URL of a Jupyter Notebook file, renders that notebook as a static HTML web page, and gives you a stable link to that page which you can share with others. nbviewer also supports browsing collections of notebooks (e.g., in a GitHub repository) and rendering notebooks in other formats (e.g., slides, scripts). - Code club projects
Includes a range of "cards"/projects specific to Python (etc). From Raspberry PI and provides a code editor that might be interesting. But these soon get fairly complicated and high level. Might be useful to guide what I show the students??
-
Code wars - Practice code katas
-
Code guppy more creative computing oriented, but with javascript - is a coding platform.
-
Project examples - list of ideas - some fairly boring
But some - analyse my Netflix usage might be interesting. Does use Jupyter Notebooks, pandas so advanced. Very advanced. But there is some notion of objects with pandas???
Hour of Python - various short challenges and tutorials#
-
Visual introduction is a lesson that follows the Grok learning model (largely) using Turtles, but does explicitly establish Turtles as objects. Turtle graphics as a way to introduce OOP. Perhaps as a segue into OOP.
-
- Create a fcace programming a robot
- Variables and boxes and related - could be a useful self-assessment
-
[Classic CS unplugged] - Collection of unplugged activities - from a book avilable as PDF - other resources available
- Binary numbers (with cards) - looks good, could be used with Crackers
- Image representation
Curriculum resources#
Curriculum Content#
Summary
- should develop and modify innovative digital systems
- from analysis, design (user experience and implementation)
- OSMEN with complex data - turning into document: content, structure and presentation
- collaborate on and manage agile projects
- apply privacy principles to manage digital footprints
Digital systems (K&U)#
AC9TDI10K01 - h/w and s/w manage, control, and secure access to data in networked digital systems
Data representation (K&U)#
- HTML/CSS etc?? AC9TDI10K02 - represent documents online as content (text), structure (markup) and presentation (styling) and explain why such representations are important
- AC9TDI10K03 - investigating simple data compression techniques
Acquiring, managing and analysing data (process & production skills)#
Echoes of OSMEN
- AC9TDI10P01 develop techniques to acquire, store and validate data from a range of sources
- AC9TDI10P02 analyse and visualise data interactively using a range of software - to draw conclusions, make predictions, trends and outliers
- AC9TDI10P03 model and query entities
Investigating and defining#
Is this really how user stories should be developed?
- AC9TDI10P04 define and decompose real-world problems with design criteria and by interviewing stakeholders to create user stories
Generating and designing#
Design a system of some sort both user experience and implementation - link with the user stories above.
- AC9TDI10P05 design algorithms involving logical operators and represent them as flowcharts and pseudocode
- AC9TDI10P06 validate algorithms and programs by comparing output against a range of test cases
- AC9TDI10P07 design and prototype the user experience of a digital system
- AC9TDI10P08 generate, modify, communicate and critically evaluate alternative designs
Producing and implementing#
- AC9TDI10P09 implement, modify & debug modular programs, applying selected algorithms and data structures, including in an OOP language
Evaluating#
- AC9TDI10P10 - evaluate existing and student solutions against design criteria, user stories, possible future impact and opportunities for enterprise
Collaborating and managing#
- AC9TDI10P11 - select and use emerging digital tools and advanced features to create and communicate features to create & communicate interactive content for a diverse audience
- AC9TDI10P12 - use simple program management tools to plan/manage individual and collaborative agile projects, accounting for risks and responsibilities.
Privacy and security#
- AC9TDI10P13 - develop cyber security threat models and epxlore software, user or software supply chain vulnerabiity
- AC9TDI10P14 - apply Australian Privacy Principles to critique and manage the digital footprint that existing systems and student solutions collect