Web applications standards: Difference between revisions

From Computer Science Wiki
No edit summary
No edit summary
Line 17: Line 17:
|-
|-
! Assessment Statement  !! Big Idea
! Assessment Statement  !! Big Idea
|- style="background-color:#E6F9E6;"
| colspan="2" | Design
|- style="background-color:#E6F9E6;"
|- style="background-color:#E6F9E6;"
| colspan="2" |'''Inquiring and Analyzing'''
| colspan="2" |'''Inquiring and Analyzing'''
Line 65: Line 62:
| colspan="2" | '''Computational thinking, problem-solving and programming'''
| colspan="2" | '''Computational thinking, problem-solving and programming'''
|-
|-
|Demonstrate skill and knowledge to decompose tasks into smaller, manageable parts||  
|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||  
|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||  
|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||  
|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||  
|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||  
|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||  
|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)||  
|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.||  
|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||  
|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||  
|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||  
|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. ||
|Interpret the flow of execution of algorithms and predict their outcomes. || [[Computational thinking, problem-solving and programming | Computational Thinking]]
|- style="background-color:#E6F9E6;"
|- style="background-color:#E6F9E6;"
| colspan="2" | '''How the web works'''
| colspan="2" | '''How the web works'''
Line 95: Line 92:
|Distinguish between the internet and World Wide Web (web)|| [[Web Science]]
|Distinguish between the internet and World Wide Web (web)|| [[Web Science]]
|-
|-
|Describe how the web is constantly evolving||  
|Describe how the web is constantly evolving|| [[Web Science]]
|-
|-
|Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS||  
|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||  
|Identify the characteristics of a uniform resource identifier (URI) URL|| [[Web Science]]
|-
|-
|Describe the purpose of a URL||  
|Describe the purpose of a URL|| [[Web Science]]
|-
|-
|Describe how a domain name server functions||  
|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)||  
|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||  
|Outline the different components of a web page|| [[Web Science]]
|-
|-
|Explain the importance of protocols and standards on the web||  
|Explain the importance of protocols and standards on the web|| [[Web Science]]
|-
|-
|Describe the different types of web page||  
|Describe the different types of web page|| [[Web Science]]
|-
|-
|Explain the differences between a static web page and a dynamic web page||  
|Explain the differences between a static web page and a dynamic web page|| [[Web Science]]
|-
|-
|Explain the functions of a browser||  
|Explain the functions of a browser|| [[Web Science]]
|-
|-
|Evaluate the use of client-side scripting and server-side scripting in web pages||  
|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||  
|Describe how web pages can be connected to underlying data sources|| [[Web Science]]
|-
|-
|Evaluate the structure of different types of web pages||  
|Evaluate the structure of different types of web pages|| [[Web Science]]
|-
|-
|Explain the charactersitics of a web server||  
|Explain the characteristics of a web server|| [[Web Science]]
|- style="background-color:#E6F9E6;"
|- style="background-color:#E6F9E6;"
| colspan="2" | HTML
| colspan="2" | '''HTML'''
|-
|-
|Demonstrate knowledge and skill in developing and saving||  
|Demonstrate knowledge and skill in developing and saving|| [[HTML]]
|-
|-
|Demonstrate knowledge and skill in working between local and remote systems||  
|Demonstrate knowledge and skill in working between local and remote systems|| [[HTML]]
|-
|-
|Demonstrate knowledge and skill in tags, attributes and elements||  
|Demonstrate knowledge and skill in tags, attributes and elements|| [[HTML]]
|-
|-
|Demonstrate knowledge and skill in page titles||  
|Demonstrate knowledge and skill in page titles|| [[HTML]]
|-
|-
|Demonstrate knowledge and skill in paragraphs||  
|Demonstrate knowledge and skill in paragraphs|| [[HTML]]
|-
|-
|Demonstrate knowledge and skill in headings (the six levels of headings)||  
|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)||  
|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)||  
|Demonstrate knowledge and skill in links (how to makes links to other pages, and elsewhere)|| [[HTML]]
|-
|-
|Demonstrate knowledge and skill in images||  
|Demonstrate knowledge and skill in images|| [[HTML]]
|-
|-
|Demonstrate knowledge and skill in tables how and when to use tabular data||  
|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||  
|Demonstrate knowledge and skill in forms, including text boxes and other user-input|| [[HTML]]
|- style="background-color:#E6F9E6;"
|- style="background-color:#E6F9E6;"
| colspan="2" | CSS
| colspan="2" | CSS
|-
|-
|Define CSS||  
|Define CSS|| [[CSS]]
|-
|-
|Discuss structure of CSS and the cascade||  
|Discuss structure of CSS and the cascade|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using selectors||  
|Demonstrate knowledge and skill using selectors|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using values and units||  
|Demonstrate knowledge and skill using values and units|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using text properties||  
|Demonstrate knowledge and skill using text properties|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using basic visual properties||  
|Demonstrate knowledge and skill using basic visual properties|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using padding, borders and margins||  
|Demonstrate knowledge and skill using padding, borders and margins|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using colors, borders and backgrounds||  
|Demonstrate knowledge and skill using colors, borders and backgrounds|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using floating and positioning||  
|Demonstrate knowledge and skill using floating and positioning|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using box model||  
|Demonstrate knowledge and skill using box model|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using text effects||  
|Demonstrate knowledge and skill using text effects|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using 2D/3D transformations||  
|Demonstrate knowledge and skill using 2D/3D transformations|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using multiple column layout||  
|Demonstrate knowledge and skill using multiple column layout|| [[CSS]]
|-
|-
|Demonstrate knowledge and skill using user interface||  
|Demonstrate knowledge and skill using user interface|| [[CSS]]
|- style="background-color:#E6F9E6;"
|- style="background-color:#E6F9E6;"
| colspan="2" | Databases
| colspan="2" | Databases
|-
|-
|Discuss the need for databases.||  
|Discuss the need for databases.|| [[Databases]]
|-
|-
|Outline the differences between data and information.||  
|Outline the differences between data and information.||  

Revision as of 14:03, 12 August 2016

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.

A note

Concepts answer the question: What does a computer scientist need to know? Practices answer the question: How do people do computer science? (source)

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
Assessment Statement Big Idea
Inquiring and Analyzing
Explain and justify the need for a solution to a problem for a specified client/target audience
Identify and prioritize the primary and secondary research needed to develop a solution to the problem
Analyse a range of existing products that inspire a solution to the problem
Develop a detailed design brief which summarizes the analysis of relevant research
Developing Ideas
Develop a design specification which clearly states the success criteria for the design of a solution
Develop a range of feasible design ideas which can be correctly interpreted by others
Present the final chosen design and justify its selection
Develop accurate and detailed planning drawings/diagrams and outline the requirements for the creation of the chosen solution.
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
Demonstrate excellent technical skills when making the solution
Follow the plan to create the solution, which functions as intended
List the changes made to the chosen design and plan when making the solution
Present the solution as a whole
Evaluating
Outline simple, relevant testing methods, which generate data, to measure the success of the solution
Outline the success of the solution against the design specification
Outline how the solution could be improved
Outline the impact of the solution on the client/target audience
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.
Outline the differences between an information system and a database.
Describe the use of transactions, states and updates to maintain data consistency (and integrity).
Define the term database transaction.
Explain concurrency in a data sharing situation.
Explain the importance of the ACID properties of a database transaction.
Describe the two functions databases require to be performed on them.
Explain the role of data validation and data verification.
Explain data modeling
Apply understanding of entity relationship diagramming
Define entity relationships
Use unique identifiers and normalization


References[edit]