Web applications standards: Difference between revisions

From Computer Science Wiki
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
These are the PROPOSED standards used in the course for web applications. The standards are framed by a draft version of the K-12 computer science framework. The standards borrow from ideas in IB computer science course, from CSTA standards, the W3 consortium, and from professional web developers. In many cases, the standards are pulled from industry leaders. For example, the databases standards are used (with permission) from Oracle and the PHP programming standards are used (pending permission) from the creator of PHP, Rasmus Lerdorf.
== Introduction ==


A note
When we ask, "What should a student know and be able to do?" related to web applications, these standards answer the question.
 
Concepts answer the question: What does a computer scientist need to know?
Practices answer the question: How do people do computer science? (source)
 
Concepts and practices that we will cover in this course:
 
'''Concepts:'''
 
* Computing Devices and Systems
* Networks and Communication
* Data and Information
* Programs and Algorithms
* Impact and Culture
 
'''Practices:'''
 
* Recognizing and representing computational problems
* Developing abstractions
* Creating computational artifacts
* Testing and iteratively refining
* Fostering an inclusive computing culture
* Communicating about computing
* Collaborating with computing


== Essential Understandings ==
== Essential Understandings ==
Line 32: Line 9:
* Understand the foundations of the web  
* Understand the foundations of the web  
* Apply a design process to build quality web applications   
* Apply a design process to build quality web applications   
* Apply computational thinking to problems, designs and solutions  
* Apply computational thinking to problems, designs and solutions
* UIX and user interface (advanced students only)
* Build quality web application


== Categories of standards ==  
{| style="width: 95%; font-size: 12px;" class="wikitable sortable"
|-
! Assessment Statement  !! Big Idea
|- style="background-color:#E6F9E6;"
| colspan="2" |'''Inquiring and Analyzing'''
|-
|Explain and justify the need for a solution to a problem for a specified client/target audience|| [[Design]]
|-
|Identify and prioritize the primary and secondary research needed to develop a solution to the problem|| [[Design]]
|-
|Analyse a range of existing products that inspire a solution to the problem|| [[Design]]
|-
|Develop a detailed design brief which summarizes the analysis of relevant research|| [[Design]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''Developing Ideas'''
|-
|Develop a design specification which clearly states the success criteria for the design of a solution|| [[Design]]
|-
|Develop a range of feasible design ideas which can be correctly interpreted by others|| [[Design]]
|-
|Present the final chosen design and justify its selection|| [[Design]]
|-
|Develop accurate and detailed planning drawings/diagrams and outline the requirements for the creation of the chosen solution.|| [[Design]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''Creating the Solution'''
|-
|Outline a plan, which considers the use of resources and time, sufficient for peers to be able to follow to create the solution|| [[Design]]
|-
|Demonstrate excellent technical skills when making the solution|| [[Design]]
|-
|Follow the plan to create the solution, which functions as intended|| [[Design]]
|-
|List the changes made to the chosen design and plan when making the solution|| [[Design]]
|-
|Present the solution as a whole|| [[Design]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''Evaluating'''
|-
|Outline simple, relevant testing methods, which generate data, to measure the success of the solution|| [[Design]]
|-
|Outline the success of the solution against the design specification|| [[Design]]
|-
|Outline how the solution could be improved|| [[Design]]
|-
|Outline the impact of the solution on the client/target audience|| [[Design]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''Computational thinking, problem-solving and programming'''
|-
|Demonstrate skill and knowledge to decompose tasks into smaller, manageable parts|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Create solutions for each part of a decomposed unit|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Demonstrate skill and knowledge to reducing complexity to define main idea|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Demonstrate skill and knowledge to organize resources to simultaneously carry out tasks to reach a common goal|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Demonstrate skill and knowledge to gather appropriate information for a task|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Demonstrate skill and knowledge in making sense of data, finding patterns, and drawing conclusions|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Demonstrate skill and knowledge in depicting and organizing data in appropriate graphs, charts, words, or images|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Demonstrate skill and knoweldge in creating an algorithm (a series of ordered steps taken to solve a problem or achieve some end)|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Demonstrate skill and knowledge to use modeling and simulation to represent and understand natural phenomena.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Create a representation or model of a process|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Discuss the value of abstraction to manage problem complexity|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Explain how sequence, selection, iteration, and recursion are building blocks of algorithms|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
|Interpret the flow of execution of algorithms and predict their outcomes. || [[Computational thinking, problem-solving and programming | Computational Thinking]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''How the web works'''
|-
|Distinguish between the internet and World Wide Web (web)|| [[Web Science]]
|-
|Describe how the web is constantly evolving||  [[Web Science]]
|-
|Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS||  [[Web Science]]
|-
|Identify the characteristics of a uniform resource identifier (URI) URL||  [[Web Science]]
|-
|Describe the purpose of a URL||  [[Web Science]]
|-
|Describe how a domain name server functions||  [[Web Science]]
|-
|Identify the characteristics of the internet protocol (IP) transmission control protocol (TCP) file transfer protocol (FTP)||  [[Web Science]]
|-
|Outline the different components of a web page||  [[Web Science]]
|-
|Explain the importance of protocols and standards on the web||  [[Web Science]]
|-
|Describe the different types of web page||  [[Web Science]]
|-
|Explain the differences between a static web page and a dynamic web page||  [[Web Science]]
|-
|Explain the functions of a browser||  [[Web Science]]
|-
|Evaluate the use of client-side scripting and server-side scripting in web pages||  [[Web Science]]
|-
|Describe how web pages can be connected to underlying data sources||  [[Web Science]]
|-
|Evaluate the structure of different types of web pages||  [[Web Science]]
|-
|Explain the characteristics of a web server||  [[Web Science]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''HTML'''
|-
|Demonstrate knowledge and skill in developing and saving|| [[HTML]]
|-
|Demonstrate knowledge and skill in working between local and remote systems|| [[HTML]]
|-
|Demonstrate knowledge and skill in tags, attributes and elements|| [[HTML]]
|-
|Demonstrate knowledge and skill in page titles|| [[HTML]]
|-
|Demonstrate knowledge and skill in paragraphs|| [[HTML]]
|-
|Demonstrate knowledge and skill in headings (the six levels of headings)|| [[HTML]]
|-
|Demonstrate knowledge and skill in lists (how to define ordered and unordered lists)|| [[HTML]]
|-
|Demonstrate knowledge and skill in links (how to makes links to other pages, and elsewhere)|| [[HTML]]
|-
|Demonstrate knowledge and skill in images|| [[HTML]]
|-
|Demonstrate knowledge and skill in tables how and when to use tabular data|| [[HTML]]
|-
|Demonstrate knowledge and skill in forms, including text boxes and other user-input|| [[HTML]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''CSS'''
|-
|Define CSS|| [[CSS]]
|-
|Discuss structure of CSS and the cascade|| [[CSS]]
|-
|Demonstrate knowledge and skill using selectors|| [[CSS]]
|-
|Demonstrate knowledge and skill using values and units|| [[CSS]]
|-
|Demonstrate knowledge and skill using text properties|| [[CSS]]
|-
|Demonstrate knowledge and skill using basic visual properties|| [[CSS]]
|-
|Demonstrate knowledge and skill using padding, borders and margins|| [[CSS]]
|-
|Demonstrate knowledge and skill using colors, borders and backgrounds|| [[CSS]]
|-
|Demonstrate knowledge and skill using floating and positioning|| [[CSS]]
|-
|Demonstrate knowledge and skill using box model|| [[CSS]]
|-
|Demonstrate knowledge and skill using text effects|| [[CSS]]
|-
|Demonstrate knowledge and skill using 2D/3D transformations|| [[CSS]]
|-
|Demonstrate knowledge and skill using multiple column layout|| [[CSS]]
|-
|Demonstrate knowledge and skill using user interface|| [[CSS]]
|- style="background-color:#E6F9E6;"
| colspan="2" | '''Databases'''
|-
|Discuss the need for databases.|| [[Databases]]
|-
|Outline the differences between data and information.|| [[Databases]]
|-
|Outline the differences between an information system and a database.|| [[Databases]]
|-
|Describe the use of transactions, states and updates to maintain data consistency (and integrity).|| [[Databases]]
|-
|Define the term database transaction.|| [[Databases]]
|-
|Explain concurrency in a data sharing situation.|| [[Databases]]
|-
|Explain the importance of the ACID properties of a database transaction.|| [[Databases]]
|-
|Describe the two functions databases require to be performed on them.|| [[Databases]]
|-
|Explain the role of data validation and data verification.|| [[Databases]]
|-
|Explain data modeling|| [[Databases]]
|-
|Apply understanding of entity relationship diagramming|| [[Databases]]
|-
|Define entity relationships|| [[Databases]]
|-
|Use unique identifiers and normalization|| [[Databases]]
|}


==References==


These are categories of standards we have in this class.
<references />


* [[Design Process]]
[[Category:Standards]]
* [[Computational thinking, problem-solving and programming]]
[[Category:2016-2017 School Year]]
* [[Clean Thinking, Clean Code]]
[[Category:Middle School]]
* [[PHP | Programming in PHP]]
* [[SQL | Programming in SQL]]
* [[HTML | Programming in HTML]]
* [[CSS | Programming in CSS]]
* [[Javascript | Programming in Javascript, JQuery and JQuery UI]]
* [[Databases]]
* [[Operating Systems]]
* [[Apache | The Apache Web Server]]
* [[How the Web works]]
* [[Security]]

Latest revision as of 05:30, 14 August 2016

Introduction[edit]

When we ask, "What should a student know and be able to do?" related to web applications, these standards answer the question.

Essential Understandings[edit]

When this course is over, students will have the skills and knowledge to:

  • Understand the foundations of the web
  • Apply a design process to build quality web applications
  • Apply computational thinking to problems, designs and solutions
  • Build quality web application
Assessment Statement Big Idea
Inquiring and Analyzing
Explain and justify the need for a solution to a problem for a specified client/target audience Design
Identify and prioritize the primary and secondary research needed to develop a solution to the problem Design
Analyse a range of existing products that inspire a solution to the problem Design
Develop a detailed design brief which summarizes the analysis of relevant research Design
Developing Ideas
Develop a design specification which clearly states the success criteria for the design of a solution Design
Develop a range of feasible design ideas which can be correctly interpreted by others Design
Present the final chosen design and justify its selection Design
Develop accurate and detailed planning drawings/diagrams and outline the requirements for the creation of the chosen solution. Design
Creating the Solution
Outline a plan, which considers the use of resources and time, sufficient for peers to be able to follow to create the solution Design
Demonstrate excellent technical skills when making the solution Design
Follow the plan to create the solution, which functions as intended Design
List the changes made to the chosen design and plan when making the solution Design
Present the solution as a whole Design
Evaluating
Outline simple, relevant testing methods, which generate data, to measure the success of the solution Design
Outline the success of the solution against the design specification Design
Outline how the solution could be improved Design
Outline the impact of the solution on the client/target audience Design
Computational thinking, problem-solving and programming
Demonstrate skill and knowledge to decompose tasks into smaller, manageable parts Computational Thinking
Create solutions for each part of a decomposed unit Computational Thinking
Demonstrate skill and knowledge to reducing complexity to define main idea Computational Thinking
Demonstrate skill and knowledge to organize resources to simultaneously carry out tasks to reach a common goal Computational Thinking
Demonstrate skill and knowledge to gather appropriate information for a task Computational Thinking
Demonstrate skill and knowledge in making sense of data, finding patterns, and drawing conclusions Computational Thinking
Demonstrate skill and knowledge in depicting and organizing data in appropriate graphs, charts, words, or images Computational Thinking
Demonstrate skill and knoweldge in creating an algorithm (a series of ordered steps taken to solve a problem or achieve some end) Computational Thinking
Demonstrate skill and knowledge to use modeling and simulation to represent and understand natural phenomena. Computational Thinking
Create a representation or model of a process Computational Thinking
Discuss the value of abstraction to manage problem complexity Computational Thinking
Explain how sequence, selection, iteration, and recursion are building blocks of algorithms Computational Thinking
Interpret the flow of execution of algorithms and predict their outcomes. Computational Thinking
How the web works
Distinguish between the internet and World Wide Web (web) Web Science
Describe how the web is constantly evolving Web Science
Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS Web Science
Identify the characteristics of a uniform resource identifier (URI) URL Web Science
Describe the purpose of a URL Web Science
Describe how a domain name server functions Web Science
Identify the characteristics of the internet protocol (IP) transmission control protocol (TCP) file transfer protocol (FTP) Web Science
Outline the different components of a web page Web Science
Explain the importance of protocols and standards on the web Web Science
Describe the different types of web page Web Science
Explain the differences between a static web page and a dynamic web page Web Science
Explain the functions of a browser Web Science
Evaluate the use of client-side scripting and server-side scripting in web pages Web Science
Describe how web pages can be connected to underlying data sources Web Science
Evaluate the structure of different types of web pages Web Science
Explain the characteristics of a web server Web Science
HTML
Demonstrate knowledge and skill in developing and saving HTML
Demonstrate knowledge and skill in working between local and remote systems HTML
Demonstrate knowledge and skill in tags, attributes and elements HTML
Demonstrate knowledge and skill in page titles HTML
Demonstrate knowledge and skill in paragraphs HTML
Demonstrate knowledge and skill in headings (the six levels of headings) HTML
Demonstrate knowledge and skill in lists (how to define ordered and unordered lists) HTML
Demonstrate knowledge and skill in links (how to makes links to other pages, and elsewhere) HTML
Demonstrate knowledge and skill in images HTML
Demonstrate knowledge and skill in tables how and when to use tabular data HTML
Demonstrate knowledge and skill in forms, including text boxes and other user-input HTML
CSS
Define CSS CSS
Discuss structure of CSS and the cascade CSS
Demonstrate knowledge and skill using selectors CSS
Demonstrate knowledge and skill using values and units CSS
Demonstrate knowledge and skill using text properties CSS
Demonstrate knowledge and skill using basic visual properties CSS
Demonstrate knowledge and skill using padding, borders and margins CSS
Demonstrate knowledge and skill using colors, borders and backgrounds CSS
Demonstrate knowledge and skill using floating and positioning CSS
Demonstrate knowledge and skill using box model CSS
Demonstrate knowledge and skill using text effects CSS
Demonstrate knowledge and skill using 2D/3D transformations CSS
Demonstrate knowledge and skill using multiple column layout CSS
Demonstrate knowledge and skill using user interface CSS
Databases
Discuss the need for databases. Databases
Outline the differences between data and information. Databases
Outline the differences between an information system and a database. Databases
Describe the use of transactions, states and updates to maintain data consistency (and integrity). Databases
Define the term database transaction. Databases
Explain concurrency in a data sharing situation. Databases
Explain the importance of the ACID properties of a database transaction. Databases
Describe the two functions databases require to be performed on them. Databases
Explain the role of data validation and data verification. Databases
Explain data modeling Databases
Apply understanding of entity relationship diagramming Databases
Define entity relationships Databases
Use unique identifiers and normalization Databases

References[edit]