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

Coursera

Programming and Application Foundations

Illinois Institute of Technology via Coursera

Overview

Unlock Unlimited Opportunities: Get 50% Off Your First Month of Coursera Plus
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. 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. Software Requirements: Visual Studio Code; Use of CodeSpace recommended to build and test web applications - https://github.com/features/codespaces; MySQL - https://dev.mysql.com/downloads/workbench/ Other tools as specified in the modules .

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.

Taught by

Raj Krishnan

Reviews

Start your review of Programming and Application Foundations

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.