Web applications standards

From Computer Science Wiki
Revision as of 13:59, 12 August 2016 by Mr. MacKenty (talk | contribs)

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
Design
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
Create solutions for each part of a decomposed unit
Demonstrate skill and knowledge to reducing complexity to define main idea
Demonstrate skill and knowledge to organize resources to simultaneously carry out tasks to reach a common goal
Demonstrate skill and knowledge to gather appropriate information for a task
Demonstrate skill and knowledge in making sense of data, finding patterns, and drawing conclusions
Demonstrate skill and knowledge in depicting and organizing data in appropriate graphs, charts, words, or images
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 knowledge to use modeling and simulation to represent and understand natural phenomena.
Create a representation or model of a process
Discuss the value of abstraction to manage problem complexity
Explain how sequence, selection, iteration, and recursion are building blocks of algorithms
Interpret the flow of execution of algorithms and predict their outcomes. (See CS constructs progression chart for appropriate complexity.) Clarification: Algorithms can be expressed using natural language, flow and control diagrams, comments within code, and pseudocode
How the web works
Distinguish between the internet and World Wide Web (web)
Describe how the web is constantly evolving
Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS
Identify the characteristics of a uniform resource identifier (URI) URL
Describe the purpose of a URL
Describe how a domain name server functions
Identify the characteristics of the internet protocol (IP) transmission control protocol (TCP) file transfer protocol (FTP)
Outline the different components of a web page
Explain the importance of protocols and standards on the web
Describe the different types of web page
Explain the differences between a static web page and a dynamic web page
Explain the functions of a browser
Evaluate the use of client-side scripting and server-side scripting in web pages
Describe how web pages can be connected to underlying data sources
Evaluate the structure of different types of web pages
Explain the charactersitics of a web server
HTML
Demonstrate knowledge and skill in developing and saving
Demonstrate knowledge and skill in working between local and remote systems
Demonstrate knowledge and skill in tags, attributes and elements
Demonstrate knowledge and skill in page titles
Demonstrate knowledge and skill in paragraphs
Demonstrate knowledge and skill in headings (the six levels of headings)
Demonstrate knowledge and skill in lists (how to define ordered and unordered lists)
Demonstrate knowledge and skill in links (how to makes links to other pages, and elsewhere)
Demonstrate knowledge and skill in images
Demonstrate knowledge and skill in tables how and when to use tabular data
Demonstrate knowledge and skill in forms, including text boxes and other user-input
CSS
Define CSS
Discuss structure of CSS and the cascade
Demonstrate knowledge and skill using selectors
Demonstrate knowledge and skill using values and units
Demonstrate knowledge and skill using text properties
Demonstrate knowledge and skill using basic visual properties
Demonstrate knowledge and skill using padding, borders and margins
Demonstrate knowledge and skill using colors, borders and backgrounds
Demonstrate knowledge and skill using floating and positioning
Demonstrate knowledge and skill using box model
Demonstrate knowledge and skill using text effects
Demonstrate knowledge and skill using 2D/3D transformations
Demonstrate knowledge and skill using multiple column layout
Demonstrate knowledge and skill using user interface
Databases
Discuss the need for 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]