Programming and Application Foundations (Coursera)

Offered by Illinois Tech,
Programming and Application Foundations (Coursera)

This course introduces the students to the creation and deployment of modern, standards-compliant web pages written in HTML, CSS, and JavaScript in the context of the client-server architecture of the web. The course also covers the fundamentals of programming in a modern programming language, basic data modeling, database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

The course aims to provide the students with an end-to-end understanding of web application development, from front-end to back-end and deployment.
At the end of this course, students will be able to:
• Create and style web pages using HTML and CSS.
• Add interactivity and functionality to web pages using JavaScript.
• Use web development tools and frameworks to simplify and enhance web development.
• Describe the client-server model and the HTTP protocol.
• Use a modern programming language to write scripts and programs.
• Apply basic programming concepts such as variables, data types, operators, expressions, control
structures, functions, and objects.
• Use data structures and algorithms to solve problems and manipulate data.
• Design, implement, and query relational databases using SQL.
• Connect web pages to databases using server-side scripting.
• Deploy web applications to a web server and a cloud platform.

What you'll learn
How to develop an end-to-end web application using database and deploy to cloud managing source control

Syllabus

Module 1: Introduction to Web Development and HTML/CSS Basics
Welcome to Programming and Application Foundations! In Module 1, we will discuss the fundamentals of web application development and focus on front-end development of standard compliant web pages using HTML and CSS. The first lesson discusses the basic ingredient of a web application. We learn about HTML in the second lesson and learn about styling the html pages with CSS.

Module 2: JavaScript Basics
In this module we will introduce JavaScript which is a powerful programming language that is widely used for web development. It is a lightweight and interpreted language that can be used to create interactive and dynamic web pages. The module is broken down into three sections to introduce the basic concepts of JavaScript, how it is used to manipulate the document object model and using JavaScript to handle events which that makes a web page interactive.

Module 3: Web Development Tools and Frameworks
This module is designed to introduce various tools and frameworks that are commonly used in web development. This includes discussion of Integrated Development Environments (IDEs), frameworks, libraries, and popular web frameworks like React and Angular.

Module 4: Client-Server Model and HTTP
A web application involves the client (Browser) and a server that serves pages to the client to provide an interactive experience. In this module we will discuss the client- server architecture, the communication protocol used between the client and the server to deliver dynamic content and the request / response cycle that initiates the conversation from the client (Request) and the response sent by the Server along with the metadata.

Module 5: Programming Fundamentals
Developing a web application requires writing programs on the server side. In this module we will discuss concepts like data types, variable, programming languages, control structures and flow like For, While etc. You will learn about declaring and manipulating data using programming languages.

Module 6: Data Structures and Algorithms, Relational Database Concepts, SQL, and Database Management
To develop interactive applications, you need to store data, access it, modify it and use it. In this module, we will focus on the fundamentals of databases, tables, columns, relationships, constraints and data modeling. You will learn about Data Definition Language, Data Manipulation Language, Data Query Language and Data Control Language. We will also explore NoSQL as an alternative to traditional relation database management systems and the use cases for them.

Module 7: Server-Side Scripting
To deliver interactive and dynamic web applications, we need to access the data, apply business logic and product content to construct the web pages. In this module we will discuss how to access data from database, convert the data into meaningful information for the web pages to consume. This process of server-side programming using frameworks like React, Angular, Vue etc. are discussed in this module.

Module 8: Web Application Project Development and Deployment
Web application is a collection of processes starting from gathering user requirements, developing prototypes, designing the application, developing, testing, deploying, monitoring and maintaining them. In this module we will discuss tools and technologies that will help us in each phase of the process. Use of mockup tools, source control, frameworks, IDEs and CI / CD tools are discussed in this module.

Summative Course Assessment
This module contains the summative course assessment that has been designed to evaluate your understanding of the course material and assess your ability to apply the knowledge you have acquired throughout the course. You will have a hands-on exercise to design, build, and deploy a basic web application with data interactivity.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Ordered Data Structures (Coursera) Coursera
University of Illinois at Urbana-Champaign

Ordered Data Structures (Coursera)

In this course, you will learn new data structures for efficiently storing and retrieving data that is structured in an ordered sequence. Such data includes an alphabetical list of names, a family tree, a calendar of events or an inventory organized by part numbers. The specific data structures covered by this course include arrays, linked lists, queues, stacks, trees, binary trees, AVL trees, B-trees and heaps. This course also shows, through algorithm complexity analysis, how these structures enable the fastest algorithms to search and sort data.

Jun 10th 2026
4 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 9th 2026
5-12 Weeks
Algorithms on Strings (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Algorithms on Strings (Coursera)

World and internet is full of textual information. We search for information using textual queries, we read websites, books, e-mails. All those are strings from the point of view of computer science. To make sense of all that information and make search efficient, search engines use many string algorithms. Moreover, the emerging field of personalized medicine uses many search algorithms to find disease-causing mutations in the human genome.

Jun 8th 2026
4 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Jun 8th 2026
5-12 Weeks
Cloud Computing Concepts, Part 1 (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cloud Computing Concepts, Part 1 (Coursera)

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more!

Jun 8th 2026
5-12 Weeks
Java Programming: Principles of Software Design (Coursera) Coursera
Duke University

Java Programming: Principles of Software Design (Coursera)

Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator.

Jun 8th 2026
4 Weeks
Algorithmic Toolbox (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Algorithmic Toolbox (Coursera)

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).

Jun 8th 2026
5-12 Weeks
AWS Cloud Technical Essentials (Coursera) Coursera
AWS

AWS Cloud Technical Essentials (Coursera)

Are you in a technical role and want to learn the fundamentals of AWS? Do you aspire to have a job or career as a cloud developer, architect, or in an operations role? If so, AWS Cloud Technical Essentials is an ideal way to start. This course was designed for those at the beginning of their cloud-learning journey - no prior knowledge of cloud computing or AWS products and services required!

Jun 9th 2026
5-12 Weeks
Data Structures (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Data Structures (Coursera)

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments.

Jun 8th 2026
5-12 Weeks
The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera) Coursera
University of California, Irvine

The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera)

The Raspberry Pi is a small, affordable single-board computer that you will use to design and develop fun and practical IoT devices while learning programming and computer hardware. In addition, you will learn how to set up up the Raspberry Pi environment, get a Linux operating system running, and write and execute some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDE (integrated development environments) for the Raspberry Pi and how to trace and debug Python code on the device.

Jun 8th 2026
4 Weeks
Foundations of Objective-C App Development (Coursera) Coursera
University of California, Irvine

Foundations of Objective-C App Development (Coursera)

An introduction to the Objective-C programming language. This will prepare you for more extensive iOS app development and build a foundation for advanced iOS development topics. Objective-C programming requires a Mac laptop or desktop computer. An iOS device is optional if the learner is willing to working exclusively with the simulator. Some learners have been able to work with an OS X virtual machine on Windows, but explaining how to do that is beyond the scope of this course.

Jun 8th 2026
4 Weeks