OIT 307/ OIT 218: Web Programming 1.0 INTRODUCTION Many applications nowadays work really well as a web application. Web programming is the practice of writing applications that run on a web server and can be used by many different people Web programming allows you to turn a simple, static HTML page into a dynamic masterpiece. It allows others to interact with your web site and use the application on any computer with Internet access. It is often easier than programming applications that will run directly on the computer. It allows you to make or edit anything dynamic on your website, such as a forum, a guestbook, or even a form submission. This course will help you understand, what web programming is and why you might want to do it. 2.0 Main The course aimed at providing a hands-on programming experience and to equip students with concepts and skills to develop a database backed, dynamic and feature-rich Web site. 3.0 Key At the end of this course you should be able to: (i) Understand database application, (ii) Develop database-backed dynamic Web site, (iii)demonstrate JavaScript programming skills for designing dynamic pages, (iv) Develop server side scripts using PHP, (v) Install and configure a web server on Windows platforms, (vi) Manage user s privileges and roles for databases. (vii) Understand the difference between client and sever side processing. (viii) Understand fundamental concepts and principles of web programming and relational database systems. 4.0 COURSE DESCRIPTION The course covers the use of programming language with PHP and the concepts of database with MySQL. Students will learn the techniques of gathering data from users through Web forms, storing data in a database on the server, retrieving data from database, formatting and displaying the data on the browser. Solutions for practical online services such as session management and user authentication are also discussed.
5.0 COURSE CONTENT The contents of this course is outlined I a way that a student must follow in order to understand all groups of web programming languages. All web technologies and how they relate in developing dynamic web pages are discussed and grouped into twenty lectures. LECTURE 5.1: INTRODUCTION This lecture covers three major topics; Internet and World Wide Web, Client/Server Fundamentals, static and dynamic web content. The chapter introduces one of the most significant innovations of the past half century the Internet. The Internet is defined, and the history of the Internet is detailed. Student will learn about Internet service providers and online services, connecting to the Internet, how data travels the Internet, and Internet addresses. The World Wide Web, search engines, and multimedia on the Web are explained. This lecture introduces to students key concepts and providing interactive exercises. All the basics of web design, from creating web pages to publishing them online, are explored in-depth. a) Describe what is web programming and the importance in dynamic websites b) Explain what is the difference between Static and Dynamic pages c) What is Navigation? d) Explain the advantage of Navigation in WebPages e) Differentiate WEB PAGE & WEB SITE. f) Explain the Structure of HTML Program g) Explain what is Hyperlink and how they are created? h) Explain in brief site organization model THE INTERNET AND WORLD WIDE WEB Client/Server Fundamentals STATIC AND DYNAMIC WEB CONTENT
(i) Readings: Learning Web Design, 2E: A Beginner's Guide to HTML, Graphics, and Beyond, by Jennifer Niederst, Publisher: O'Reilly & Associates, Bk&CD edition, Published (2003), ISBN 0596004842 LECTURE 5.2: DOCUMENT OBJECT MODEL (DOM) AND INTERFACE This lecture introduces the Document Object Model (DOM). The DOM gives access to all the elements on a web page. Inside the browser, the whole web page paragraphs, forms, tables, etc. is represented in an object hierarchy. Students will learn to use JavaScript to create, modify and remove elements in the page dynamically. This section begins by formally introducing the concept of DOM nodes and DOM trees. Then properties and methods of DOM nodes and cover additional methods of the document object are discussed. Also discussion on how to dynamically change style properties, which enables you to create many types of effects, such as userdefined background colors and animations will be done. Then, a diagram of the extensive object hierarchy, with explanations of the various objects and properties will be presented. a) Identify the Objects attributes and Methods of the web page b) Define DTD (Document Type definition). c) Understand DOM and how does it relate to XML d) Describe the elements of each HTML form e) Describe the different components required for server-side web application. THE DOCUMENT OBJECT MODEL (DOM) FORMS Introduction to MySQL Readings: Koch, Peter-Paul (May 14, 2001). "The Document Object Model: an Introduction". Digital Web Magazine. Retrieved January 10, 2009.
Readings: Le Hégaret, Philippe (2002). "The W3C Document Object Model (DOM)". World Wide Web Consortium. Retrieved January 10, 2009. LECTURE 5.3: XHTML AND CSS This lecture begins with an introduction XML, CSS and Revision on JavaScript. Without using authoring tools, students will then learn how to hand code web pages that comply with current W3C standards. To develop styled web pages, student will learn how to use the W3C's standards for Cascading Style Sheets (CSS). To develop accessible web pages, students will learn how to implement code that meets accessibility standards, students will learn how to read and integrate JavaScript into web pages. a) Explain alert method of window object in java script b) Explain external Style Sheet c) Understand how to create a comment in JavaScript d) Explain the different primitive types in JavaScript. e) Understand JavaScript functions f) Explain advantages and disadvantages of External Style Sheets g) Understand what is the CSS Box Model h) Understand what is meant by cascading style sheets i) Identify the Benefits of XHTML Introduction to XHTML Introduction to CSS Exploring JavaScript Readings: HTML, XHTML and CSS All-In-One For Dummies, 2nd Edition, by Andy Harris, Published November 2010, ISBN: 978-0-470-53755-8
LECTURE 5.4: PHP AND MYSQL This lecture gives a student a solid introduction to using MySQL database with PHP programming language to build database driven websites. Students will learn the SQL language and master database design principles. It provides the basic skills to create three-tiered data applications such as websites that require user login/authentication, websites with automated web content, interactive websites. To develop web applications that involve business logic and basic database operations, students will learn how to evaluate server-side scripting technology and develop server-side scripts using appropriate tools. (a) Understand the full form of PHP (b) Understand of Structure of a PHP Script (c) Write codes used in PHP to connect to MySQL database (d) Displaying Content in a Web Page (e) Understand PHP Error Messages (f) PHP Functions and Objects (g) Querying a MySQL Database with PHP (h) Use Cookies in PHP (i) Use Sessions in PHP Introduction to PHP Working with Files in PHP Using PHP in Practice Cookies, Sessions, and Authentication Readings: Web Database Applications with PHP and MySQL, 2nd Edition, by Hugh E. Williams, David Lane, Publisher: O'Reilly & Associates, 2nd edition, Published (2004), ISBN 0596005431
Readings: PHP and MySQL Web Development 3rd Edition, by Luke Welling, Laura Thomson, Publisher: Sams, Paperback, 3rd Bk&CD edition, Published September 2004, ISBN 0672326728 LECTURE 5.5: SEVER SIDE SCRIPTING AND TECHNOLOGIES This Lecture provides introductions and examples on server-side web scripting. Students will learn Web scripting processing architecture overview, processing steps of server-side scripting, event handling scripts, and script code returns new script code. Different server side scripts languages and technologies like Ajax, JQuery, Perl and CGI will be covered in this lecture. a) Define Ajax and how it is implemented b) Identify and explain the technologies combined in Ajax c) Explain how asynchronous processing is handled using Ajax d) Describe the formats and protocols used by AJAX e) Explain about XMLHttpRequest object f) Understand how to create and use JQuery g) Explain all feature of Perl h) Explain the major difference between Perl and PHP i) To Identify and understand CGI environment variables Using Ajax Getting started with jquery CGI Basics Introduction to Perl
Readings: Programming Perl, Fourth Edition by Tom Christiansen, brian d foy & Larry Wall, with Jon Orwant; Published by O Reilly Media, Inc., September 1996; ISBN: 978-0-596-00492-7 Readings: jquery Cookbook: Solutions & Examples for jquery Developers 1st Edition by Cody Lindley ISBN-13: 978-0596159771 LECTURE 5.6: WEB SECURITY AND PROGRAMMING PROJECT This lecture introduces Web application security, explains common security terminology and presents a set of security principles. It presents an overview of the security process and explains why a holistic approach to security that covers multiple layers including the network, host and application, is required to achieve the goal of hack-resilient Web applications. This lecture also introduces and defines host configuration categories and application vulnerability categories. It also discuss security requirements in web tier and enterprise tier applications. Students will learn solutions for different categories of threats in web-enabled security implementations. Finally, students will learn how to assess and apply modern website design principles in the area of web technology, Internet marketing, usability and accessibility. a) Understanding Security Threats b) Understanding Security Roles c) Developing a Security Policy d) Understanding Authentication e) Creating a Secure Environment f) Programming Securely in PHP g) Building and Processing Dynamic Forms h) Building a Login Application Regular Expression and Pattern Matching Using Multimedia in website WEB SECURITY
Readings: Web Security, Privacy & Commerce, 2nd Edition By Simson Garfinkel, Gene Spafford, Publisher: O'Reilly Media, November 2001, 1-800-889-8969 Learning Strategy: Through Face to Face sessions, practical session, ODL mode. Assessment Strategy The assessment procedures and the assessment criteria will follow OUT examination regulations for undergraduate courses. The following regulations will apply for the assessment of the programme: The coursework assessment shall consist of continuous assessment; timed tests (25%) Assignment (15%), Practical (20%) and an examination 40%. The minimum pass mark for any course shall be the grade C or 40% REFERENCES (ii) Learning Web Design, 2E: A Beginner's Guide to HTML, Graphics, and Beyond, by Jennifer Niederst, Publisher: O'Reilly & Associates, Bk&CD edition, Published (2003), ISBN 0596004842 (iii) Web Database Applications with PHP and MySQL, 2nd Edition, by Hugh E. (iv) (v) (vi) Williams, David Lane, Publisher: O'Reilly & Associates, 2nd edition, Published (2004), ISBN 0596005431 PHP and MySQL Web Development 3rd Edition, by Luke Welling, Laura Thomson, Publisher: Sams, Paperback, 3rd Bk&CD edition, Published September 2004, ISBN 0672326728 HTML for the World Wide Web with XHTML and CSS: Visual QuickStart Guide, by Elizabeth Castro, Publisher: Peachpit Press, 5th edition, Published 2002, ISBN 0321130073 JavaFX: Developing Rich Internet Applications by Jim Clarke Jim Connors, Eric J. Bruno Publisher : Publication Date: June 11, 2009 ISBN: 013701287X
(vii) Ajax, Rich Internet Applications and Web Development for Programmers by P Deitel, H Deitel; ISBN: 0131587382 (viii) Mobile Web Development: Building mobile websites, SMS and MMS messaging, mobile payments, and automated voice call systems with XHTML MP, WCSS, and mobile AJAX; by Nirav Mehta; Publisher: Packt ; Publishing (February 6, 2008); ISBN-10: 1847193439 (ix) HTML, XHTML and CSS All-In-One For Dummies, 2nd Edition, by Andy Harris, Published November 2010, ISBN: 978-0-470-53755-8 Programming Perl, Fourth Edition by Tom Christiansen, brian d foy & Larry Wall, with Jon Orwant; Published by O Reilly Media, Inc., September 1996; ISBN: 978-0-596-00492-7 (x) jquery Cookbook: Solutions & Examples for jquery Developers 1st Edition by Cody Lindley ISBN-13: 978-0596159771 (xi) Web Security, Privacy & Commerce, 2nd Edition By Simson Garfinkel, Gene Spafford, Publisher: O'Reilly Media, November 2001, 1-800-889-8969