Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Programming Languages for Web Applications

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?

Getting Connected

Instructor: Robbie Hott

  • Email: jrhott_at_virginia.edu
  • Office: Rice 210
  • Office Hours:
    • Mondays 3-5pm
    • Thursdays 4-5pm

Overview

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 CS 3140 with a grade of C- or higher. 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