We may earn an affiliate commission when you visit our partners.
Course image
Raj Krishnan

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.

Read more

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 .

Enroll now

What's inside

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.
Read more
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Intended for beginners, this course builds a solid foundation in web application development
Covers modern, industry-standard technologies used in web development
Provides practical experience through hands-on projects
Explores foundational concepts in web development, from front-end to back-end
Requires familiarity with basic programming concepts

Save this course

Save Programming and Application Foundations to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Programming and Application Foundations with these activities:
Read 'Head First Java'
Reading 'Head First Java' will provide you with a comprehensive introduction to the Java programming language.
Show steps
  • Start by reading Chapter 1 to get an overview of Java.
  • Move on to subsequent chapters to learn about core Java concepts, such as data types, variables, operators, and control structures.
Complete MySQL Tutorial
Completing the MySQL tutorial will equip you with the essential knowledge and skills to work with MySQL databases.
Browse courses on Database Management
Show steps
  • Find an online MySQL tutorial for beginners.
  • Go through the tutorial to learn about creating and managing databases, tables, and records.
  • Practice writing SQL queries to retrieve and manipulate data.
Practice CSS Selectors
Practicing CSS selectors will reinforce your understanding of how to select elements on a web page and apply styles to them.
Browse courses on CSS Selectors
Show steps
  • Find an online CSS selector playground.
  • Start practicing with simple selectors like element types, class names, and IDs.
  • Gradually move on to more complex selectors, such as combinators and pseudo-classes.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Build a Simple Web Page
Creating a simple web page from scratch will help you apply the concepts of HTML and CSS and see how they work together.
Show steps
  • Choose a simple web page layout.
  • Create an HTML document and write the basic structure of the page.
  • Add content to the page using HTML elements like headings, paragraphs, and images.
  • Style the page using CSS to make it visually appealing.
  • Test the web page in a browser and make necessary adjustments.
Follow JavaScript Tutorials
Following guided tutorials will provide you with practical examples and hands-on experience in writing JavaScript code.
Show steps
  • Find online JavaScript tutorials for beginners.
  • Start with tutorials that cover the basics of JavaScript, such as variables, data types, and operators.
  • Move on to tutorials that demonstrate more advanced concepts, like functions, arrays, and objects.
SQL Practice Problems
Solving SQL practice problems will help you improve your skills in writing efficient and effective database queries.
Show steps
  • Find an online SQL practice platform.
  • Start practicing with simple queries to get familiar with the SQL syntax.
  • Gradually move on to more complex queries involving joins, subqueries, and aggregation functions.
Develop a Database Schema
Designing a database schema will help you apply the principles of data modeling and create a structured and efficient database.
Browse courses on Database Design
Show steps
  • Identify the entities and relationships in your application.
  • Create a conceptual data model using an entity-relationship diagram.
  • Translate the conceptual model into a physical database schema using SQL.
Participate in a Hackathon
Participating in a hackathon will challenge you to apply your skills in a team environment and build a project within a limited time frame.
Browse courses on Full-stack Development
Show steps
  • Find a hackathon that aligns with your interests and skill level.
  • Register for the hackathon and form a team.
  • Come up with an idea for your project and develop a plan for implementation.
  • Build and present your project during the hackathon.

Career center

Learners who complete Programming and Application Foundations will develop knowledge and skills that may be useful to these careers:
Web Developer
Developing and maintaining websites is part of everyday life for a Web Developer. To complete these tasks, web developers need a foundational understanding of programming languages like HTML, CSS, and JavaScript. They also need to be well-versed in the client-server model and HTTP protocol, skills which are directly taught in this course. Furthermore, knowledge of relational database systems like SQL, which is also covered, can give developers an advantage in creating highly efficient and interactive web applications.
Front-End Developer
Front-End Developers are responsible for the user-facing side of web applications and websites. Thus, they spend much of their time creating and designing attractive, functional interfaces. This course can help prepare someone for this role by teaching them HTML and CSS, two of the most common front-end coding languages. Furthermore, this course teaches JavaScript, a versatile programming language that is essential for adding interactivity to web pages.
Back-End Developer
Back-End Developers, unlike front-end developers, primarily code and maintain the server-side of a website or application, which is the functionality that users don't see. They need to have a strong foundation in programming fundamentals like data types, variables, and control structures, which are provided by this course. Furthermore, Back-End Developers often work closely with databases, so this course's coverage of SQL is also highly relevant.
Database Administrator
Database Administrators ensure that their organizations' databases are up and running smoothly. In this role, professionals need to understand data modeling and database design, both of which are covered in-depth by this course. They also need a working knowledge of SQL, which is a querying language discussed in this course.
Data Analyst
Data Analysts clean, analyze, and interpret data, after which they make recommendations based on that data. They use a combination of programming languages, statistical computing, and data mining to perform these tasks. This course may be useful for aspiring Data Analysts as it teaches a modern programming language, SQL, and database management, all of which are used by data analysts.
Software Engineer
Software Engineers apply engineering principles to the design, development, deployment, and maintenance of software systems. To do so, they may use any number of programming languages or frameworks, which is why this course does not provide a perfect fit. However, this course does teach JavaScript, a popular programming language, as well as programming fundamentals and data structures. Overall, this course can help teach some of the foundational skills needed to become a Software Engineer.
Computer Systems Analyst
Computer Systems Analysts study an organization's current computer systems and procedures, and develop plans to improve them. They may design new systems or modify existing ones, ensuring that they meet the organization's needs. This course can help teach aspiring Computer Systems Analysts the programming fundamentals and database management skills needed to be effective in this role.
Information Security Analyst
Information Security Analysts protect computer networks and systems from unauthorized access, use, disclosure, disruption, modification, or destruction. They need to have a strong understanding of programming languages and database management, as those are two of the most common targets of cyberattacks. This course can help aspiring Information Security Analysts by teaching them both of these subjects.
Business Intelligence Analyst
Business Intelligence Analysts collect, analyze, interpret, and present data to help organizations make better decisions. They need to have a strong understanding of data analysis and programming, both of which are covered by this course.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. They need to have a strong foundation in programming and data analysis, which are both taught in this course.
Project Manager
Project Managers plan, execute, and close projects, which involves overseeing the work of software development teams. Though not a perfect fit, this course does teach some of the skills that a Project Manager needs, such as programming fundamentals, database management, and web development tools and frameworks.
Technical Writer
Technical Writers create instruction manuals, technical reports, and other documentation to communicate complex technical information. They need to have a strong understanding of the subject matter they are writing about, as well as the ability to write clearly and concisely. This course can help aspiring Technical Writers learn about web development and database management, two common subjects that they may need to write about.
Quality Assurance Analyst
Quality Assurance Analysts test software to identify bugs and ensure that it meets the requirements of the user. They need to have a strong understanding of programming and testing techniques, both of which are covered by this course.
User Experience Designer
User Experience Designers research, design, and evaluate the user experience of products and services. They need to have a strong understanding of human-computer interaction principles, as well as the ability to create prototypes and user interfaces. This course may be useful for aspiring User Experience Designers as it teaches them HTML and CSS, two of the most common front-end coding languages.
Computer Programmer
Computer Programmers write, test, and maintain the code that makes computer programs work. They need to have a strong understanding of programming languages and data structures, both of which are covered by this course.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programming and Application Foundations.
Comprehensive guide to JavaScript and jQuery, two of the most popular programming languages for web development. It covers everything from the basics of JavaScript to advanced topics like AJAX and mobile development.
Great introduction to HTML and CSS, two of the core technologies for building web pages. It is written in a clear and concise style, with plenty of examples and exercises to help you learn.
Great introduction to Node.js, a popular JavaScript runtime environment for building web applications. It covers everything from the basics of Node.js to advanced topics like scaling and security.
Comprehensive guide to MySQL, one of the most popular database management systems in the world. It covers everything from the basics of MySQL to advanced topics like replication and performance tuning.
Classic guide to design patterns, covering everything from the basics of design patterns to advanced topics like creational and structural patterns.
Practical guide to agile development in C#, covering everything from the basics of agile development to advanced topics like test-driven development and continuous integration.
Classic guide to software project management, covering everything from the basics of project management to advanced topics like risk management and team dynamics.
Comprehensive guide to computer programming, covering everything from the basics of programming to advanced topics like algorithms and data structures.
Comprehensive guide to operating systems, covering everything from the basics of operating systems to advanced topics like process management and memory management.
Comprehensive guide to computer networks, covering everything from the basics of computer networks to advanced topics like routing and switching.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Programming and Application Foundations.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser