We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Programming and Application Foundations

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

Coming soon We're preparing activities for Programming and Application Foundations. These are activities you can do either before, during, or after a course.

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