CS4640 - Fall 2021 - Programming Languages for Web Applications
NOTE: This page is a work-in-progress as we approach the semester. Course details may change.
COVID-19 Course Policy Short-Notes
Updates: We will be following University policy, while also requesting that we respect and care for each other (and our families). For now:
Masking
- Masks are required in class for the duration of the class meeting
- No eating or drinking in Rice 130
- If you forget your mask:
- I will have a limited number of disposable masks
- You are welcome to watch the live stream or recording outside of the classroom
General Information
- Class will be recorded and live streamed (on Zoom)
- If you feel unwell:
- Please stay home and watch the live stream
- I will happily work with you–if you stay home–to make sure there is no impact to your grade
- If you are on the waiting list, please:
- Do not come to the first meeting (we’ll work on it with space constraints)
- Watch the live stream of the first day
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