Client Side Scripting for the Web

Course number: 
CIS 3344
Semester: 
Fall 2016
Prerequisites: 

CIS 2229 and CIS 3309

Textbooks: 
Students use resources from the internet (no textbook).
Topics covered: 
  • HTML and CSS (including CSS positioning)
  • Responsive Web Design (makes a web page usable on various screen sizes , e.g., cell phone, computer screen)
  • JavaScript (code that runs in the browser, can access the HTML Document Object Model, and can invoke Ajax calls to server side Web APIs)
  • jQuery, a library of javaScript functions that manages inconsistencies that exist between various browsers, making javaScript more robust and reliable for client side functionality (and less lines of code for you to write)
  • Ajax, a technique whereby javaScript makes asynchronous calls to Web APIs
  • XML and JSON, two formats for data that is sent over the internet.
  • Setting up a Database: using a data modeling tool to create and populate a (mySql) database, basic SQL statements (Select, Insert, Update, Delete)
  • Creation of Server-Side Web APIs to respond to client side requests to get and/or update data
  • Angular Introduction, followed by an Angular project (several weeks allocated)
Course goals: 
By the end of this course, students should be able to:
  • Use HTML and CSS to create a basic web page layout.
  • Use a CSS framework (such as bootstrap) to create a more sophisticated layout.
  • Code a layout using responsive design techniques (without using a CSS framework). Responsive design means creating a page that becomes "mobile friendly" when viewed from a small device. 
  • Write advanced javaScript programs that can coexist with javaScript frameworks, using concepts like namespaces and "class coding". "Class coding" techniques mimic class creation, even though javaScript does not have classes - everything is an object.   
  • Write jQuery code. JQuery is a javasScript library which allows you to write less code and not have to worry about inconsistencies of javaScript behavior between browser versions. 
  • Write javaScript/jQuery code that makes calls to 3rd party Web API providers (like google or twitter). 
  • Using a tool such as MySqlWorkbench, create and populate a database with data.
  • Write "back end" Web APIs that access a database and provide JSON to the client code (javaScript) that invoked it.
Attendance policy: 
Attendance is not manditory, however, labs are due each week and a quiz is given every week. If a student does not keep up with labs and lectures, they will not be able to get a passing grade in the class.
Accomodations for Students with Disabilities: 
Any student who has a need for accommodation based on the impact of a documented disability, including special accommodations for access to technology resources and electronic instructional materials required for the course, should contact me privately to discuss the specific situation by the end of the second week of classes or as soon as practical. If you have not done so already, please contact Disability Resources and Services (DRS) at 215-204-1280 in 100 Ritter Annex to learn more about the resources available to you. I will work with DRS to coordinate reasonable accommodations for all students with documented disabilities. (http://www.temple.edu/studentaffairs/disability/accommodations/).
Student and Faculty Academic Rights and Responsibilities: 
Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has a policy on Student and Faculty and Academic Rights and Responsibilities (Policy #03.70.02) which can be accessed through the following http://policies.temple.edu/PDF/99.pdf.