CSE 3210: Server-side Scripting 1
Students add to their ability to craft dynamic Web sites by exploring the fundamentals of server-side scripting. In the process, they add to their understanding of Internet scripting by employing databases as a repository for the information to be displayed by their sites. Students learn how to analyze, modify, write and debug algorithms and server-side scripts that use simple databases.
Theory
Demonstrate an understanding of the key features of server-side environments and server-side scripting
- compare and contrast server-side scripting with dynamic client-side scripting including:
- outline the limitations of dynamic client-side scripting including security and quality of experience issues
- outline the advantages of server-side scripting including broader features available, developer control of application environment, greater interactivity, scalability and maintainability
- outline the disadvantages of server-side scripting
- describe how client-side and server-side scripting can and should be used to complement one another
- describe two Web applications made possible by server-side scripting approaches
- describe a server-side language and compare it with one or more client-side languages
- describe the system architecture of a typical server-side environment including:
- describe and represent the multitiered nature of a typical server-side environment
- describe the role played and capabilities needed by Web server software in a typical server-side environment
- describe the role played and capabilities needed by database and/or other information managers in a typical server-side environment
- describe the role played by the server-side scripting language in a typical server-side environment
- represent how a request from a client would be handled in a typical multitiered server-side environment
Describe the processes and characteristics of a server-side environment
- describe the various tiers that make up an environment including:
- identify the Web server software used in an environment and describe the role(s) it/they will be required to play
- identify the database manager and/or other information managers used in an environment and describe the role(s) it/they will be required to play
- identify the server-side scripting language(s) used in an environment and describe the role(s) it/they will be required to play
- identify and describe at least one significant task or application that a server-side environment could be used to carry out
Practical
Use appropriate techniques to design applications for use in a server-side scripting environment
- outline the intent of the application and determine if that intent can be advantageously realized through the use of a server-side environment including:
- determine the data handling requirements of the application, and determine if the application and information tiers of an environment are capable of handling those requirements
- determine the input/output requirements of the application, and determine if the client tier of an environment is capable of handling those requirements
- use an appropriate design technique to write the necessary algorithm(s) including:
- use an appropriate technique to represent the relationship among the modules
- write more detailed algorithms for each module and identify the pre- and post-conditions and program control of flow mechanisms required for any subprograms
- test the developing algorithm with appropriate data using a “fail-on-paper” process
- revise the algorithm, as required
Write and debug the scripts required to implement a server-side application
- demonstrate the ability to use an appropriate server-side scripting language environment
- convert the algorithms into scripts consisting of collaborating modules that reflect the structure of the algorithm including:
- use appropriate subprograms and/or objects to implement the various sections of the algorithm
- maintain an appropriate balance between the coupling or dependency and cohesion or focus of the modules
- pass data between the modules without unintended side-effects
- use internal and external documentation
- execute the script, and track and eradicate errors
- compare the results of the script’s execution with the intent of the algorithm and modify, as required
Competencies and Skills
You will also be evaluated on your basic competencies such as your ability to:
- communicate
- manage information
- use numbers
- think and solve problems
- demonstrate positive attitudes and behaviours
- be responsible
- be adaptable
- learn continuously
- work safely
- work with others
- participate in projects and tasks