New Building Website

CSA 252 Web Application Programming (3 credits)

Catalog description:

An introduction to programming concepts and practices for creating applications which use the web as the delivery platform. Students will learn technologies including HTML, Javascript, AJAX, client side programming and server side scripting to create interactive web applications.  Not an elective for computer science and systems analysis majors.

Prerequisites: CSA 153 or CSA 163 or CSA 174

CSA 252 is a third-tier course in the CSA2 "Computer Programming" thematic sequence.

Computer software plays an important role in our daily lives: Our mobile phones, laptop computers, online banking, Internet applications such as YouTube, video games and movies, cars, and almost all aspects of daily life are touched by software. In your personal and professional life you will utilize computer software. It is also likely that you will select, or even influence the design of, software that is used in your professional or personal life. This thematic sequence will give you a deep understanding of how software works and is created, its limitations, and its potential. You will be able to read software and therefore be able to make informed decisions when selecting or participating in the design of business, scientific, or information systems that utilize computer software.

The CSA2 thematic sequence consists of both of the following introductory computer programming courses...

  • CSA 174, Fundamentals of Programming and Problem Solving
  • CSA 271, Object-Oriented Programming

Followed by one of the following courses...

  • CSA 274, Data Abstraction and Data Structures
  • CSA 252, Web Application Programming
  • CSA 283, Data Communications and Networks

CSA 252 is a course in which you extend basic programming skills developed in a first-semester programming course into interactive web applications targeted at small web sites.



CSA 252 is a third-tier course in the CSA4 "Web and Game Applications" thematic sequence.

Given the prevalence of computing devices, it is important that we understand what computers do and how they do it. The web game applications thematic sequence is designed to provide students with an understanding of how computer software is created and designed and how it functions to make possible popular applications such as computer games and the World Wide Web. Courses in the sequence provide an introduction to fundamental programming concepts.  These concepts are applied to create computer games and web applications.

The CSA4 thematic sequence consists of one of the following introductory computer programming courses...

  • CSA 153, Introduction to C/C++ Programming
  • CSA 163, Introduction to Computer Concepts and Programming
  • CSA 174, Fundamentals of Programming and Problem Solving

Followed by both of the following courses...

CSA 252 is a course in which you extend basic programming skills developed in a first-semester programming course into interactive web applications targeted at small web sites.


Learning Outcomes

Below are the learning outcomes for this course.  Miami Plan foundation courses and thematic sequence courses address some or all of the Four Principles of Liberal Education: Thinking Critically, Understanding Contexts, Engaging with Other Learners, and Reflecting and Acting.  These principles are not simply additional "topics" that are covered during the course.  Rather, they are perspectives and ways of reasoning that are essential to all the content of the course.  Learning outcomes that address these principles are indicated in the table.  Liberal Education Principles (LEP) Key: T=Thinking Critically, U=Understanding Contexts

Learning Outcomes:

LEP

CSA 252.1: Discuss and apply network standards and terminology needed to define web-based applications
CSA252.1.1    Discuss the source of Internet standards (e.g. Internet Engineering Task Force)
CSA252.1.2    Define terminology related to the Internet and web sites.
CSA252.1.3    Apply standards needed to implement web applications such as domain naming, IP addresses

U

CSA 252.2: To explain and demonstrate the overall architecture of a web-based application
CSA 252.2.1   Explain the different roles and responsibilities of clients and servers for a range of possible applications.
CSA 252.2.2   Explain and demonstrate a practical understanding between Web servers and browsers.
CSA 252.2.3   Discuss security issues and strategies in an enterprise-wide web-based application.
CSA 252.2.4   Identify and compare current web technologies (e.g., browers, web-servers, N-tier architectures, middleware, markup languages, scripting languages, the applet concept, etc.)

U

CSA 252.3: To design and program client-side applications.
CSA 252.3.1   Identify current technologies and standards for implementing client-side applications.
CSA 252.3.2   Design and write web-sites using current languages (e.g. HTML and CSS).
CSA 252.3.3   Design and write client side programs that handle simple events using current languages like JavaScript and DHTML.
CSA 252.3.4   Design and implement a simple interactive web-based, database-driven web site,  (e.g. a simple web form that collects information from the client and stores it in a database on the server).

T

CSA 252.4: To design and program server-side applications.
CSA 252.4.1   Identify current technologies and standards for implementing server-side applications.
CSA 252.4.2   Explain application interaction patterns..
CSA 252.4.3   Explain and implement applications using sessions.
CSA 252.4.4   Explain alternatives for error handling

T

CSA 252.5: To select and use appropriate support tools for web site creation and web management.
CSA 252.5.1   Illustrate how interactive client-server web applications of small size can be built using different web technologies.
CSA 252.5.2   Identify appropriate support tools for web site design and implementation.
CSA 252.5.3   Select from a range of tools that will ensure an efficient approach to implementing various client-server possibilities.

 

Required topics:

  • Week 1: Introduction, basic Web Processing, Servers & Browsers.
  • Week 2: HTML
  • Week 3: CSS
  • Week 4: Javascript, Cookies
  • Week 5: Javascript & Exam1
  • Week 6: Javascript Objects
  • Week 7: DHTML:
  • Week 8: Introduction to Server Side Programming:
  • Week 9: PHP
  • Week 10: Databases
  • Week 11: Databases & Exam
  • Week 12: Databases
  • Week 13: Sessions & Applications
  • Week 14: AJAX
  • Week 15:  Ajax