powered by
Center for Curriculum and Transfer Articulation
Web Scripting with Python
Course: CIS166AF

First Term: 2007 Summer I
Lec + Lab   3 Credit(s)   4 Period(s)   3.7 Load  
Subject Type: Occupational
Load Formula: S


Description: Introduction to web scripting with Python. Web application development using HTML, Python and Structured Query Language (SQL)



MCCCD Official Course Competencies
1. Explain the concept of client/server configurations including the benefits of each. (I)
2. Explain the role of server-side and client-side programming languages in the design of interactive, dynamic web pages. (I)
3. Discuss advantages and disadvantages for standalone (shell) and web scripting (I)
4. Design and develop scripts to manage program state. (I, VI)
5. Explain the concept of static versus dynamic content. (II)
6. Describe the benefits and disadvantages of open source solutions. (III)
7. Develop scripts using various Python language components that include state management and security features. (IV, V, VI, VII)
8. Use SQL to access a relational database for dynamic content presentation. (VIII)
9. Describe the role of Python in developing web services. (IX)
MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements.
 
MCCCD Official Course Outline
I. Internet Scripts and Internet Applications
   A. Concepts of the client/server paradigm
      1. Client/server overview
      2. The client role in internet applications and scripts
      3. The server role in internet applications and scripts
   B. Program and Script Design
      1. Documentation and specification
      2. Pseudocode
      3. State diagram
      4. Modular design fundamentals
      5. Coding standards
      6. MVC (model-view-control) design concepts
      7. Shell scripts
II. Static Content versus Dynamic Content
   A. Static content
   B. Dynamic content
   C. Benefits and limitations of each
III. Open Source Solutions
   A. Concepts of open source
   B. Advantages and disadvantages of open source
   C. Open source options for Python
IV. The Python Language
   A. Data types
   B. Operators
   C. Expressions
   D. Control structures
   E. Functions
   F. Classes and objects
V. HTTP Requests
   A. GET method
   B. POST method
   C. Headers
   D. CGI Module
VI. Program State
   A. Concept of state when web is stateless
   B. Program state in global web applications versus local applications
   C. Cookies using Python
   D. Python sessions
   E. URL encoding session variables
VII. Security
   A. HTTP Authentication
   B. Python Security
      1. Session Management
         a. Creation
         b. Management/validation of session variables
         c. Destruction
      2. User input validation (regular expressions, type checking etc.)
VIII. Relational Databases
   A. Fundamental concepts
   B. Structured Query Language
      1. Creating, altering and deleting tables
      2. Inserting, updating and deleting rows
      3. Building queries
   C. Python database functions and variables
   D. Databases supported by Python
IX. Web Services
   A. SOAP (Simple Object Access Protocol)
   B. WSDL (Web Services Description Language)
   C. XML-RPC (Extensible Markup Language - Remote Procedure Call)
 
MCCCD Governing Board Approval Date:  4/24/2007

All information published is subject to change without notice. Every effort has been made to ensure the accuracy of information presented, but based on the dynamic nature of the curricular process, course and program information is subject to change in order to reflect the most current information available.