CS290 Proposed
From
Contents |
Prefix & proposed course number
CS 290
Web Application Development
Proposed course description
Overview This course is designed to give students the skills needed to implement a dynamic, interactive website. This will cover concepts related to layout, client side interaction and server side scripting.
Topics Layout and Styling
- HTML 5
-
- Differences from previous version of HTML
- Validation of HTML 5 documents
- CSS
-
- Selectors
- Pseudoclasses
Client Side Interactions
- JavaScript
-
- Basic use of the language
- Debugging
- Ajax
-
○ Purpose of asynchronous calls ○ Loading and parsing data using an asynchronous call
- JSON objects
- JavaScript libraries
-
- jQuery
Server Side Scripting
- PHP
-
- Basic use
- Debugging
- Sessions
- GET and POST requests
- Interaction with a database
- SQL
-
- Basic introduction
- Use of the language
-
- Table creation and deletion
- Inserting and deleting
- Selection and updating
Usability
- Basic concepts of learnability, memorability and efficiency
- Prototyping for user feedback
Scalability
- Client side vs server side operations
- Caching
Security
- Introduction to various kinds of attacks
-
- SQL injection
- Cross site scripting
- Man in the middle
- Design considerations to mitigate risks
Assignments There will generally be assignments that separately cover layout, client side interaction and server side scripting along with a final project that requires students to combine all of these concepts to make a fully functional website. Students should be exposed to 3rd party libraries so after they have been introduced to the different languages they are asked to write a howto guide involving the use of a 3rd party library or API that is related to web development.
Proposed course outcomes (3-5 outcomes)
Measurable Student Learning Outcomes: At the completion of the course, students will be able to… 1. Understand and discuss the language of the Internet and web page authoring 2. Discuss best practices in web site security, user interface design, content management, and new issues 3. Envision, design, prototype, produce, test, and promote a web site that uses
Compliant HTML and CSS Dynamic navigation Embedded media Database-driven structure and content Forms with dynamic user interaction