Create a 5 minute video presentation exploring the ethical issue provided to you by the teacher. You must include extensive research of about 7 - 10 sources. Include footnotes and full bibliography. This assignment will be assessing your research skills and ability to discuss an issue from multiple perspectives.
Due Week 4 Monday Feb 15 - Term 1
Each person in your group must record their own video of a maximum of 5 minutes
It must include an overview if the project and an analysis of the data that you completed. In addition you must also mention how you worked with your partner to analyse the data and explain your contribution to the project.
Due Week 8 - Term 1
Due Tuesday Week 3, Term 2
SELECT
FROM
WHERE
order by (asc, desc)
Database Queries Practice: Transport
Import the SQL database into PHPMyAdmin - call the table "transport"
Create a query to answer each of the following questions
Display all data in the dataset
Display all data in the dataset where gender = "Male"
Display all in the dataset where transport = "Bus" and age = 15
Display the first and last name of students who walk to school and are under 15 years old
Display a count of how many students use each mode of transport
Insert additional data records into the database table using an insert statement
Example:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Download a copy of the worksheet
Create a data Dictionary
Draw a Entity Relationship Diagram
Build Database - Watch videos below
Enter in some mock data into the database
Design a PHP form to enter and validate data and commit a new record of data to the table
Create an output html table page of all the data in your sports_activities table
Display Data from the database in a HTML table on a web page
Upload data from a CSV document into a database table using an online form
Create a drop down list with values from a table in the database (Dynamic drop down list)
Extra Sources
Build a basic HTML Menu for page Navigation and user interface - https://www.w3schools.com/css/css_navbar.asp
Additional Form validation with feedback - 3 tutorials - https://www.youtube.com/watch?v=g7x4JO0YW1s
Full Code Example for School Nominations DB
Example Presentation Template for Video submission
Set up Database in PHPMyAdmin
Display MySQL data in HTML Table
(with multiple table relationships)
Form Entry to mySQL Database
Import Data from a CSV Document
Due Date - Monday Week 8 Term 2
SQL Practice Activity - Nominations Database
Import the emailed tables that have been emailed to you.
Answer the following questions in SQL. Test in phpMyAdmin.
1. Display a count next to each sport name of how many students have nominated (all year levels)
2. Display a count next to each sport name of how many Year 7 students have nominated for each sport
3. Display a count next to each sport of how many Year 8 boys across all sports have nominated
4. Sum up all the subscriptions for each sport and display grouped by sport
5. Sum up all subscriptions for all sports
6. Count how many boys and how many girls have nominated for each sport
3. Create a basic graph in JavaScript. See videos below.
1.
select sports.activity_name,count(sports.activity_id) as COUNT
from nominations
inner join sports on nominations.activity_id = sports.activity_id
group by sports.activity_id
order by sports.activity_name
2.
select sports.activity_name,count(sports.activity_id) as COUNT
from nominations
inner join sports on nominations.activity_id = sports.activity_id
where nominations.year_level = 7
group by sports.activity_id
order by sports.activity_name
3.
select sports.activity_name,count(sports.activity_id) as COUNT
from nominations
inner join sports on nominations.activity_id = sports.activity_id
where nominations.year_level = 8 and nominations.gender like 'male'
group by sports.activity_id
order by sports.activity_name
4.
select sports.activity_name,sum(nominations.subscription) as sum
from nominations
inner join sports on nominations.activity_id = sports.activity_id
group by sports.activity_id
order by sports.activity_name
5.
select sum(nominations.subscription) as total from nominations
6.
select sports.activity_name,count(nominations.gender) as count
from nominations
inner join sports on nominations.activity_id = sports.activity_id
where nominations.gender like 'female'
group by sports.activity_id
order by sports.activity_name
select sports.activity_name,count(nominations.gender) as count
from nominations
inner join sports on nominations.activity_id = sports.activity_id
where nominations.gender like 'male'
group by sports.activity_id
order by sports.activity_name
Links to code examples for Project
Template for basic Graph.js column graph in JavaScript - Use as a base template
Details on creating a dynamic graph with custom functions
PowerPoint Template for Presentation
Graph.js Template explained for java script
Create a graph of data using a custom data set
Create a dynamic graph with a search feature
Week 4
Class tutorial on graph.js and dynamic graphing with search - see videos above
Introduction to the project 4
Start design of application for the dashboard
Think about the graphs and data that you would like to show and display
Think about the filters that you could apply to make your tool innovative
<?php
include('connect.php');
//global vars
$year = 0;
//two arrays for graph data
$sports =[];
$count =[];
$title = "<h1>Graph - All</h1>";
//check to see if form submitted and if value is all or a specific year level
if(isset($_REQUEST['year'])&&intval($_REQUEST['year'])!=0){
$year = intval($_REQUEST['year']); // get year in variable convert to number
//update title
$title = "<h1>Graph - ".$year."</h1>";
//sql with inserted variable year
$sql = "select sports.activity_name, count(nominations.activity_id) as count
from nominations
inner join sports on nominations.activity_id = sports.activity_id
where nominations.year_level = {$year}
group by sports.activity_name";
//anything else search all years - no criteria
}else{
//update title
$title = "<h1>Graph - All Years</h1>";
//search all year levels
$sql = "select sports.activity_name, count(nominations.activity_id) as count
from nominations
inner join sports on nominations.activity_id = sports.activity_id
group by sports.activity_name";
}
//run the sql query based on sql search above
$results = $conn->query($sql);
while($row=mysqli_fetch_assoc($results)){
array_push($sports, $row["activity_name"]);
array_push($count, $row["count"]);
}
//Convert php array into JS array formatting. Needs a php array and output type I=int S= String
//Note that this is a custom function in replacement of using echo json_encode($arr)
function printArray($arr,$type){
$output ='[';
for($i =0;$i<count($arr);$i++){
if($type == 'I'){
$output.=$arr[$i].',';
}else{
$output.="'".$arr[$i]."',";
}
}
$output.="]";
echo $output; //return output to where the function was called
}
?>
<html>
<head>
<!--Insert to chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.3/dist/Chart.min.js"></script>
</head>
<style>
/* Set layout area in style for each graph */
#layout {
width: 400px;
height: 400px;
}
</style>
<body>
<!-- Update the title based in form input -->
<?php echo $title;?>
<!-- Set up a form that submits to the same page we are on using php call server php self -->
<!-- Using a get fucntion which will allow us of directly linking to a graph search -->
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="get">
<label for ="year">Select Year Level</label>
<select name = "year">
<!-- These values could be a dynamic drop down list but static in this example -->
<option value=0 selected>All Year Levels</option>
<option value=7>Year 7</option>
<option value=8>Year 8</option>
<option value=9>Year 9</option>
<option value=10>Year 10</option>
<option value=11>Year 11</option>
<option value=12>Year 12</option>
</select>
<button type="submit">Search Year Level</button>
</form>
<!-- Graph Area -->
<div id="layout">
<canvas id="myChart" width="400" height="400"></canvas>
</div>
</body>
</html>
<script>
//example of array format needed to chart.js object
var labels = ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'];
var counts = [12, 19, 3, 5, 6, 6];
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar', //pie,line
data: {
// run the print array on PHP variable sport names - return in string format with ' '
labels: <?php printArray($sports, 'S');?>, ////OR <?php echo json_encode($sports)?>
datasets: [{
label: 'Number of Student Nominations',
// run the print array on PHP varibale count - return in integer format
data: <?php printArray($count, 'I');?>, //OR <?php echo json_encode($count)?>
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: true,
maintainAspectRatio: true,
scales: {
yAxes: [{
scaleLabel: {
display: true,
labelString: 'Student Count'
}
}],
xAxes: [{
scaleLabel: {
display: true,
labelString: 'Activities'
}
}]
}
}
});
</script>
<!-- Example of using links or buttons - replace form with links -->
<a href="links.php">All Years</a> |
<a href="links.php?year=7">Year 7</a> |
<a href="links.php?year=8">Year 8</a> |
<a href="links.php?year=9">Year 9</a> |
<a href="links.php?year=10">Year 10</a> |
<a href="links.php?year=11">Year 11</a> |
<a href="links.php?year=12">Year 12</a>
Stage 2 Digital Technologies – Task 4 Checklist
Computational Thinking Outcomes
CT1 Application of computational thinking concepts and techniques to identify and deconstruct problems of interest.
CT4 Application of skills and processes to develop solutions to problems of interest.
Development and Evaluation Outcomes
DE1 Design and creation of digital solutions or a prototype.
DE2 Application of iterative development, testing, modification, and documentation of a digital solution or prototype.
DE3 Evaluation of the effectiveness of a digital solution or prototype.
Refer to the images of the assessment criteria for more information on the DigiTech Page
Notes:
· Video - maximum 5 minutes
· Include a PowerPoint with key points for planning and then jump to examples of your code, web page and iteration document.
· Expand upon any points in your PowerPoint. Write a separate script.
· You may wish to use the template below or reorder to best suit your product and way of presenting.
1. Introduction – clearly state the outcomes of your project (30 seconds)
a. Break down each outcome into smaller chunks
b. Show that you have deconstructed the problem and thought about the end user
2. Planning / Iterative Cycle (90 seconds)
a. Show evidence of planning include flow charts and pseudo code, queries and working drawings of the user interface – pick a couple of important computational aspects of your solution and explain.
3. Development & Code (2 minutes)
a. Talk about the developments of the project – you can use your journal. Talk about the process where did you start, why did you make changes, where did you get too (in your screen cast jump to your word doc to show evidence of the development and explain why changes were made?)
b. Show your code working – validate data is being displayed correctly for each outcome.
c. Show and explain aspects of specific processing code – visually want to see your code, scroll through so the moderator can see evidence.
4. Evaluation (45 seconds - 1 minute)
a. Evaluate critically:
i. What worked well and why?
ii. Refer back to your goals at the start of the project. Did you achieve them?
iii. What didn’t work so well and why? How could it be improved?
iv. How well does this application assist the end user?
v. Discuss any feedback from others and how this impacted the design?
vi. What could be improved upon? Compare and contrast to other solutions.
Hand up all work in a zipped folder named SACENO-2DGT20-AT1-Task 4
Term 2 Week 8 - Term 3 - Start of Week 4
Working in pairs you are to choose a local problem and a client that you can communicate with. After discussing the problem with the client you will work together to design and build a digital solution which includes a relational database and accessed online.
Each person in the group is to be responsible for the certain aspects of the project and its features. Each student must plan and code their own aspects of the project, however can work with their partner to get advice, plan and help out with the code.
The project will use an iterative project development cycle where you design, develop and evaluate multiple times during the development of the solution. This will involve checking back in with your client and getting their feedback to make sure the solution will be suitable.
You will present your project together to the client towards the end of the project. Evidence must be supplied.
Each student will then put together a 5 minute video each of what they contributed to the project by discussing the planning, code and evaluation of product and in addition will reflect on their own collaboration with their partner and client. This evidence could include shared docs, emails, GIT comments and a personal journal.
You will have 6 weeks to complete this task.
The more successful responses commonly:
· clearly showed deconstruction of problem and computational thinking before solution was developed
· emphasised key parts of code rather than speaking through what each type of variable was and what it held
demonstrated iterative development and testing
· had completed prototypes/products which were shown to be working
· had open ended tasks which allowed the students to define their own problem
· had a clear outline of what the individual role students had in the collaborative project
· provided evidence of collaborating with, and presenting to, a target audience
· videos and evidence presented by individual student
· individual student videos clearly identify and demonstrate effectiveness and own role in the collaborative project
· students included discussions about how they worked with their group and provided documentation in forms such as: meeting minutes, file sharing directory screenshots, team timelines, program version commits (GitHub)
· well organised groups were able to allocate a specific part of the program to each individual student which enabled them to meet all required performance standards
· addressed all assessed performance standards
· differentiated between explanation of code and demonstration of the program
· had a clear evaluation section
· students were able to clearly refer to a client they were producing a product for in their presentation.
The less successful responses commonly:
· showed limited computational thinking
· collaboration roles of students not clear in the evidence provided
· no supporting evidence of collaboration
· did not clearly identify student’s own roles and contributions and did not stick to the prescribed time limit stated in the subject outline of maximum 5 minutes
· multiple students in the same video evidence provided. Evidence should be individualised
· not contributing in any way to creating code (computational thinking or actual software programming), hence student could not show evidence of CT4: Application of skills and processes to develop solutions to problems of interest and DE3: Evaluation of the effectiveness of a digital solution or prototype
· had a pre-defined problem as a part of the task which limited the scope for students to define and solve issues – no client conversation and/or group discussion demonstrated to identify scope and issues to then refine a problem
· did not mention, or provide evidence of, having worked with a target audience
· provided very little, if any, evidence of Computational Thinking Skills; the focus was purely on Development and Evaluation.
Media Department - Simon
Develop a more effective way of booking media equipment each day that provides a live view of what's available during bookings. Currently the media department is using an excel sheet each week to track equipment and plan bookings
Sports Attendance Tracking - Sports Coach
The school and local community sport coaches need to keep track of player attendance and availability for matches each week. Currently this is a paper based system. When players are unavailable they contact the coach via text or email. This system is ineffective and at times can get too much to manage. Maybe an electronic attendance and availability schedule system could be generated.
Student Organisation - Year level coordinator
Students at the college need more effective strategies to manage their busy schedules and stay on top of each of their tasks. Could a solution be created to enable students to effectively organising their weeks, due dates and other things in their lives?
Pedal Prix Track Training Booking System (AI) - Mr Smart
Requests by riders are currently made via an online form. The coordinator then manually places students into a blocked schedule. This process is time consuming. There are limitations as some families have multiple students who need to be on at the same time in different trikes. Communication of the roster is important along with the ability to share students apologies if unable to attend.
Sport stats tracker for a team or coach
Budgeting App for a department, club or business
Point of sale (cash register) for a market stall
...
Choose a local problem which has a stakeholder and develop a Digital Solution.
Investigate the problem. Interview and create a mind map of the solution
Draw mock up designs of the pages and annotate
Create and ER Diagram and Data Dictionary
Create flow charts and Pseudocode
Code the project. Take screen shots along the way to record iterations
Test the code regularly
Get others to test and provide feedback, including the client where possible. Record these interactions in some way
Read through the document to get an overview of the assessment conditions. You will need to create two video files.