CSE3210 Server-Side Scripting 1
Advanced · 1 credit · BIT - Business, Admin, Finance and IT
- Description
- 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.
- Prerequisite
- CSE2210: Client-side Scripting 3 CSE2110: Procedural Programming 1 CSE2120: Data Structures 1
- Parameters
- Access to appropriate computer equipment, software, support materials and the Internet. Specifically, students must have access to a scripting environment that includes access to a Web server, a database management system and a server-side scripting language.
- Supporting courses
- CSE3010: Computer Science 3 CSE3110: Iterative Algorithm 1 CSE3120: Object-oriented Programming 1 and/or any Advanced project course involving object-oriented programming
Outcomes The student will:
1 demonstrate an understanding of the key features of server-side environments and server-side scripting
1.1 compare and contrast server-side scripting with dynamic client-side scripting including:
1.1.1 outline the limitations of dynamic client-side scripting including security and quality of experience issues
1.1.2 outline the advantages of server-side scripting including broader features available, developer control of application environment, greater interactivity, scalability and maintainability
1.1.3 outline the disadvantages of server-side scripting
1.1.4 describe how client-side and server-side scripting can and should be used to complement one another
1.1.5 describe two Web applications made possible by server-side scripting approaches
1.1.6 describe a server-side language and compare it with one or more client-side languages
1.2 describe the system architecture of a typical server-side environment including:
1.2.1 describe and represent the multitiered nature of a typical server-side environment
1.2.2 describe the role played and capabilities needed by Web server software in a typical server-side environment
1.2.3 describe the role played and capabilities needed by database and/or other information managers in a typical server-side environment
1.2.4 describe the role played by the server-side scripting language in a typical server-side environment
1.2.5 represent how a request from a client would be handled in a typical multitiered server-side environment
2 describe the processes and characteristics of a server-side environment
2.1 describe the various tiers that make up an environment including:
2.1.1 identify the Web server software used in an environment and describe the role(s) it/they will be required to play
2.1.2 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
2.1.3 identify the server-side scripting language(s) used in an environment and describe the role(s) it/they will be required to play
2.1.4 identify and describe at least one significant task or application that a server-side environment could be used to carry out
3 use appropriate techniques to design applications for use in a server-side scripting environment
3.1 outline the intent of the application and determine if that intent can be advantageously realized through the use of a server-side environment including:
3.1.1 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
3.1.2 determine the input/output requirements of the application, and determine if the client tier of an environment is capable of handling those requirements
3.2 use an appropriate design technique to write the necessary algorithm(s) including:
3.2.1 use an appropriate technique to represent the relationship among the modules
3.2.2 write more detailed algorithms for each module and identify the pre- and post-conditions and program control of flow mechanisms required for any subprograms
3.3 test the developing algorithm with appropriate data using a “fail-on-paper” process
3.4 revise the algorithm, as required
4 write and debug the scripts required to implement a server-side application
4.1 demonstrate the ability to use an appropriate server-side scripting language environment
4.2 convert the algorithms into scripts consisting of collaborating modules that reflect the structure of the algorithm including:
4.2.1 use appropriate subprograms and/or objects to implement the various sections of the algorithm
4.2.2 maintain an appropriate balance between the coupling or dependency and cohesion or focus of the modules
4.2.3 pass data between the modules without unintended side-effects
4.2.4 use internal and external documentation
4.3 execute the script, and track and eradicate errors
4.4 compare the results of the script’s execution with the intent of the algorithm and modify, as required
5 demonstrate basic competencies
5.1 demonstrate fundamental skills to:
5.1.1 communicate
5.1.2 manage information
5.1.3 use numbers
5.1.4 think and solve problems
5.2 demonstrate personal management skills to:
5.2.1 demonstrate positive attitudes and behaviours
5.2.2 be responsible
5.2.3 be adaptable
5.2.4 learn continuously
5.2.5 work safely
5.3 demonstrate teamwork skills to:
5.3.1 work with others
5.3.2 participate in projects and tasks
6 create a transitional strategy to accommodate personal changes and build personal values
6.1 identify short-term and long-term goals
6.2 identify steps to achieve goals
Program of Studies 2009. Source document, © Alberta Education.