Web Programming is a course that explores the principles of creating applications for the Internet. The Internet is a complex client-server environment in which data, programs, or services reside on servers scattered throughout the network, and users access these resources from their computers using web browsers. Therefore, web programming usually considers technologies for writing programs both for servers (for server-side data processing: PHP) and programs that run in the browser (Javascript, AJAX) and so-called rich RIA Internet applications (Silverlight technology). It is also important to understand the basic protocols of exchange between server and client – for example, the HTML markup language, the concept of URL, etc.
While studying web programming, you will be trained in the following areas: 3-level web-application architecture, program development stages, Apache server peculiarities, RNR capabilities, variables, constants, data types, arrays and functions, control constructs, working with strings, form data processing, introduction to Cookie, database design, introduction to MySQL DBMS, SQL language basics, RNR scripting.
Trainees will be able to get a job in web-design studios, advertising companies, printing companies, information publishing houses, as well as in many other spheres.
Course curriculum
- JavaScript and DHTML
- Fundamentals of creating dynamic, interactive Web resources. JavaScript basics
- Overview of the main client Web-technologies, history of their development, peculiarities of use.
- Issues of compatibility of client Web-technologies with different types and versions of browsers.
- The area of effective use of JavaScript and DHTML technologies.
- Toolkits for development of client Web-applications.
- The main Internet resources devoted to the issues of using client Web-technologies.
- The concept of scripting language. Overview of the main client scripting languages.
- Basic concepts of JavaScript scripting language, its purpose. History of origin and development. The main versions and features of implementation and support in different browsers.
- Features of embedding JavaScript scripts in HTML-documents.
- Output the results of JavaScript script in HTML-document.
- Features of JavaScript syntax.
- Using variables in JavaScript, expressions and operations.
- Input testing
- Checking and starting the Apache server
- Creating a simple one-page site from ready-made files
- Working with HTTP protocol – Cookies, response headers
- Session and persistent cookies
- Writing and reading cookies
- Setting Content-Type (Content-Type header)
- Prohibit and allow caching (Cache-Control and Expires headers)
- Navigating to other pages (Redirects and Location header)
- Page retries (Refresh header)
- Basic Authentication (RFC2617)
- File operations, sessions, mail handling
- Sessions
- Functions for working with files
- Functions for working with directories
- Uploading files to the server
- Mail functions
- Practical work: guestbook with saving data to a file
- Basics of working with databases
- General information about databases
- General information about SQL
- MySQL server installation
- MySQL Server Utilities
- Using MySQL server with PHP applications
- PHP functions for working with MySQL server
- Connecting to MySQL server
- Selecting and processing results
- Practical work: guestbook with saving data in the database
- Modules for working with MySQL server
- Modules mysql and mysqli
- Effective work with MySQL server
- Inheritance
- Access methods
- Exception Handling Scheme try/catch/throw
- Abstract classes and methods
- Interfaces
- Final methods and classes
- Class constants
- Static class properties
- Static class methods
- Keyword instanceof
- Functions autoload() Methods of accessing object properties Overloading of non-existing methods Iterators Constants __METHOD, CLASS
- __toString() method
- Using PHP 5 and SQLite together
- Introduction to Web Services
- Working with PHP 5 Web Services
- SOAP Extension
- Using the SOAP Extension
- Graphics, Network Programming
- Graphics Generation Issues in PHP 5
- Using GD2 Extension
- Network Functions
- Connecting to remote hosts via sockets
- Secure and Insecure Input Information
- MySQL 5
- Installing and Starting MySQL Server 5
- MySQL Server 5 Purpose and Description
- MySQL 5 server installation
- MySQL 5 server files overview
- Lab work: Installing MySQL Server 5
- Data Schemes Overview INFORMATION_SCHEMA
- Indexes and Constraints Adding and Removing Indexes
- Lab Work: Creating Relationships on the Server
- Data manipulation operators
- Lab work: filling the database from external files
- SQL language: data manipulation
- Data selection
- WHERE, ORDER predicates (clauses)
- Aggregation functions (aggregates)
- Sampling restriction
- Laboratory work: Data selection with aggregation of values
- Data grouping
- HAVING predicate
- Lab work: Data selection with grouping
- Table Merge
- Lab work: Internal table joins
- Query Merge and Data Consolidation
- Joining Queries
- Using subqueries and value sets
- Lab work: Using federated queries
- Temporary Tables and Views
- Updating and Deleting Data
- Lab Work: Data Manipulation
- Stored Procedures and Triggers
- Assigning stored procedures
- Server Configuration Optimization
- Lab work: Optimizing the laboratory database and performance testing