CS4640 - Programming Languages for Web Applications

COVID-19 Course Policy

When we return to the classroom, we will be following University policy, while also requesting that we respect and care for each other (and our families). For now:

Masking: Updated 3/25/2022

General Information

For more COVID-19 Q&A and links, please see the COVID-19 section of the syllabus.

Course Overview

Course Overview: Web development is constantly changing as our use of the world wide web (WWW) has shifted from information presentation to direct customer sales (e-commerce) to enterprise applications to information gathering to mobile sites and apps. The amount and complexity of software–and the number of programming languages–has steadily been increasing. Many new technologies and frameworks have emerged everyday. Have you ever wondered what technologies, frameworks, or architectural styles you should use? How about what programming languages to be familiar with for software development for web applications? After graduation, what languages will be popular or in demand? How will you keep up with web development technologies?

In this course, we will focus on the fundamental concepts of web development and how they can be applied to develop reliable and usable web software, regardless of the technologies, lanuages, or frameworks. Even though we will emphasize the concepts, you will develop dynamic web software with several commonly used programming languages and technologies. Over the semester, you will work on user interface design, front end development, back end development, and web-based information retrieval and processing.

Course Description: Presents programming languages and implementations used in developing web applications. Both client and server side languages are presented as well as database languages. In addition, frameworks that enable interactive web pages are discussed as well as formatting languages. Language features and efficiencies including scoping, parameter passing, object orientation, just in time compilation and dynamic binary translation are included.

Prerequisites: CS 2150 (or DSA2) with a grade of C- or higher (or Covid CR). A willingness to learn and participate in a small-group project.

Languages Covered

We will discuss in detail and use the following languages (and formats): HTML, CSS, Javascript, PHP, SQL, JSON

We may mention other languages (and formats) in passing, including: SGML, XML, XHTML, LESS, SASS/SCSS, Markdown, JSON-LD, SPARQL, Perl, Ruby, Go, NodeJS