Prerequisites: (IS 117 or IT 202) and (CS 100, CS 113, or CS 115). IS 218 is strongly encouraged as additional foundation knowledge. This course discusses the concepts and skills required to plan, design and build advanced websites, with a focus on sophisticated user interaction enabled by programming the web browser (such as Internet Explorer or Chrome). Such programming is known as client-side scripting. These interactive websites utilize forms to gather user inputs, and vary both the content and display of the webpages based on the current user tasks and preferences. This includes designing and dynamically changing tabs and menus, as well as expanding and contracting sections of pages. Students will develop a thorough understanding of website usability (designing effective sites that people like, security and user privacy, browser capability (ensuring websites work on every major web browser), and the tools and skills that web developers use to add interactive features to websites. These skills include Javascript (for programming interactive features), the Document Object Model or DOM (specifying the internal structure of web pages), JQuery (to access information utilizing this internal structure, create animations and generally streamline Javascript), browser variables (providing information about the browser characteristics), HTML input forms, form validation (ensuring correctness of user input), securing user input (to ensure user privacy), cookies (tracking user information), basic communication with the web server (which processes the information users input into forms), and AJAX ( which integrates many of these technologies). The course will be taught in a lab to ensure hands-on experience and will include substantial design and development projects.