CTSPlanner
Sign-in not configured
Computing Science

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.