Web applications are everywhere from Amazon to Zoom. And Web applications run on data.
In this NCEA Level 1 Module you'll become a Full Stack Developer! Don't worry, we'll be keeping it really simple and there will be plenty of time to learn these technologies and get things wrong. But you'll need to persevere and stick with. It will be worth it.
You will use Python for server code, SQL to interface with a database and HTML/CSS for the User Interface. You'll also be using github to keep track of your code, as you develop, test and enhance your application.
Term 1 is spent learning the skills you'll need in the main project without any risk or assessment.
Term 2 is the main project with one github repo and one development log. This is split into a design phase, followed by three sprints of development.
The sprints are seperated by study for the external and a derived grade exam in term three.
The external is held during the NCEA exam period.
It is highly recommended that you have experience in Python, HTML/CSS and SQL.
The following two sections serve as refreshers and you should quickly work through them to hep you to tackle the "Flask Introduction" Section.
Unit 4: Flask Assessment
(approximately 16 weeks)
Now you will put all that learning in practice and design and develop your own web application on any topic you choose.
Your Github repository and your development log will be assessed for the bulk of the credits available. This must include design, development, project management, testing and reflection.
NCEA Assessments:
AS91892: Use advanced techniques to develop a database (4)
AS91893: Use advanced techniques to develop a digital media outcome (4)
AS91896: Use advanced programming techniques to develop a computer program (6)
AS91897: Use advanced processes to develop a digital technologies outcome (6)
Total Credits: 20
Course Length: Full Year
Suggested Timetable:
ALL of Term 1 should be gaining foundational knowledge in the "Learning" section. Particularly if the kids have not done the level one learning.
It's best you set checkpoints of learning for each of the sections to help keep your students on track. You could ask them to submit screenshots of their progress or their test scores. All sections have OPTIONS! So either let the kids choose or choose for them but you do not need to expect them to do them all (unless they are superhuman)
Term 2: First 2-3 weeks on the Design and Planning part of their Document. Check this BEFORE MOVING ON!
Term 2+3: Development Phase. 3 Sprints of 4 weeks with testing at the end of each sprint.
NCEA Assessments:
AS91892: Use advanced techniques to develop a database (4)
AS91893: Use advanced techniques to develop a digital media outcome (4)
AS91896: Use advanced programming techniques to develop a computer program (6)
AS91897: Use advanced processes to develop a digital technologies outcome (6)
AS91898 (External): Demonstrate understanding of a computer science concept (3)
Total Credits: 23
Software requirements:
Any Web Browser (eg Chrome, Edge, Firefox or Safari)
Visual Studio Code: https://code.visualstudio.com/
Python: https://www.python.org/downloads/
Git: https://git-scm.com/downloads
SQlite Studio: https://sqlitestudio.pl/
The world of computer science and programming is rapidly changing. The use of AI, software and algorithms have impacts on people, both positively and negatively. We have a responsibility to understand those impacts and be responsible creators. Writing code for humans, making interfaces that consider how humans think and interact, and being responsible with our data are all part of this course.
Building software is not like building a house or a bridge. Software is more fluid and you can iterate quickly and keep the clients involved throughout the development. Agile development is a recognized and widely used development process that you will use in this course. It will involve planning, testing and trialling in an iterative manner and adapting to what you learn as you develop your outcomes.
Programs are everywhere. You are reading this on a webpage and someone had to write the code behind it. And data sits in behind it all. This course gives you the freedom to solve problems. You'll choose a purpose and a problem to solve in both your database outcome and your webpage development projects and you'll be prepared to combine those technologies in the future to develop full stack web applications.
Algorithms and Computer Science fills the area of software engineering. Decomposition of problems and writing algorithms to achieve your goals is heavily integrated into this course. Programming, Data and Human Computer Interaction are the backbone of what you will do throughout the year.