CS 382 DATABASE-DRIVEN WEBSITES Instructor: Dr. Xenia Mountrouidou CS382 1.

Slides:



Advertisements
Similar presentations
HTTP Request/Response Process 1.Enter URL ( in your browser’s address bar. 2.Your browser uses DNS to look up IP address of server.com.
Advertisements

The Internet Useful Definitions and Concepts About the Internet.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
CMSC389P: Introduction to PHP, MySQL and Apache
ECA 228 Internet/Intranet Design I Intro to the Web.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
INTRO TO GRAPHIC DESIGN IN THE NEW MEDIA ART468. What is a Web Designer?  A web designer creates websites.  When working as a designer, your clients.
Web Design Basic Concepts.
Overview of HTML. Three Different Approaches  Text editor like Notepad  HTML editor such as: –KompoZer –DreamWeaver –Microsoft Expression Web –iWeb.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
CSE 154 LECTURE 1: BASIC HTML AND CSS. The Internet Wikipedia: a connection.
The WWW Willem Visser RW334. Internet A global network of networks connecting computers using the internet protocol.
CMPT Web Programming Introduction and Basic HTML.
CSCI 323 – Web Development Chapter 1 - Setting the Scene We’re going to move through the first few chapters pretty quick since they are a review for most.
ISE 390 Dynamic Web Development Introduction. Who am I? Richard McKenna Phone: Office: CS Room 1436 Office.
How the Web Works. WWW – part of the Internet (others: , FTP, Telnet) Loaded to a Server | Viewed in a Browser (Client) Client: Request & Render.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
Computer Concepts 2014 Chapter 7 The Web and .
CS 299 – Web Programming and Design CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang.
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
CS490 Web Design, AJAX, JQuery
CS 380 WEB PROGRAMMING Instructor: Xenia Mountrouidou CS380 1.
CS 150 PERSONAL PRODUCTIVITY USING TECHNOLOGY Instructor: Dr. Xenia Mountrouidou.
CNIT 132 Intermediate HTML and CSS Course Overview.
CS 355 – PROGRAMMING LANGUAGES Dr. Xenia Mountrouidou Assistant Professor Computing Science Jacksonville University.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Chapter 1: Introduction to Web
CS 450 MODELING AND SIMULATION Instructor: Dr. Xenia Mountrouidou (Dr. X)
CS 150 PERSONAL PRODUCTIVITY USING TECHNOLOGY Instructor: Xenia Mountrouidou.
2013Dr. Ali Rodan 1 Handout 1 Fundamentals of the Internet.
Web Mastering Module Internet Fundamentals. What is the Internet? –Global network of networks –Communicating using same set of rules (protocols/languages)
CIS 1310 – HTML & CSS 1 Introduction to the Internet.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Web Engineering we define Web Engineering as follows: 1) Web Engineering is the application of systematic and proven approaches (concepts, methods, techniques,
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
1 Welcome to CSC 301 Web Programming Charles Frank.
1 CS6320 – SW Engineering of Web- Based Systems L. Grewe.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Grade 9 Human Sexuality Course. Self-concept Self-concept: According to our textbook, self- concept is the mental image you have about yourself. It is.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Web Technologies Lecture 1 The Internet and HTTP.
CSE 154 LECTURE 1: BASIC HTML AND CSS. The Internet Wikipedia: a connection.
Department of Computer Science, Florida State University CGS 3066: Web Programming and Design Spring
JavaScript and Ajax (Internet Background) Week 1 Web site:
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
IN THIS LESSON WE WILL REVIEW THE STRUCTURE OF THE INTERNET AND HOW BROWSERS ASSEMBLE WEBSITES BASED ON INSTRUCTIONS THEY RECEIVE FROM SERVERS. Internet.
CS 380 WEB PROGRAMMING Instructor: Xenia Mountrouidou CS380 1.
Lesson 1: HTML and the Web Instructor: Mrs. KIM Lang.
Web Page Design The Basics. The Web Page A document (file) created using the HTML scripting language. A document (file) created using the HTML scripting.
CIS 1203 Web Technologies Introduction to the Internet and the WWW.
National College of Science & Information Technology.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang
Web Programming Language
CISC103 Web Development Basics: Web site:
JavaScript and Ajax (Internet Background)
Chapter 1 Introduction to HTML.
Developing Web-Based Applications
Department of Computer Science, Florida State University
CS222 Web Programming Course Outline
CISC103 Web Development Basics: Web site:
CMPT 241 Web Programming Instructor: Tina Tian.
Introduction and Basic HTML
CGS 3066: Web Programming and Design Fall 2019
Presentation transcript:

CS 382 DATABASE-DRIVEN WEBSITES Instructor: Dr. Xenia Mountrouidou CS382 1

Who am I?  Dr. X  PhD at North Carolina State University  Worked for IBM  Post doc at College of William and Mary  Scuba diver, manga comics collector, science fiction reader. CS382 2

Course Objectives  At the end of this class you will be able to:  Design and implement a professional database-driven website  Develop interactive websites with PHP and Ruby on Rails  Design and interface with a MySQL database through PHP and Ruby on Rails  Understand the performance and security issues with database-drive websites CS382 2

Why did you take CS 382? CS382 4

Why do you need CS 382?  The majority of professional webpages use a database… or multiple databases  Examples?  Software development:  Middleware  Web development  Cloud computing CS382 4

Lectures  Check the schedule in the class webpagewebpage  All slides are posted but may be revised accordingly  Read the syllabus and policies carefully  Reading and labs will be posted online  You will need to prepare for hands on class exercises CS382 6

Lectures  Lectures will be interactive. This means:  You will need to study the new material before every lecture (slides, book, and online material)  We will have a lab on every lecture… which means coding CS382 6

How to get help  Join my office hours: M/W/F 9:00-10:30 am at Merritt Penticoff 203  Or set an appointment with me via  Use the recommended textbooks (on Blackboard, Documents):  PHP and MySQL Web Development, 4th Edition (Developer's Library Series), by Luke Welling, Laura Thomson  Agile Web Development with Rails, by Sam Ruby CS382 7

Office hours and help-My schedule CS382 9 Color code: green – available, purple – in class, black – available by appointment only, red – please do not disturb

Grading Labs10% Project40% Homework30% Final exam20% Total100% CS382 8  Homework and Programming projects will be posted online on the class webpage

How to be successful in this class  Complete all homework assignments  On time!  Practice with coding:  Codeacademy:  W3Schools:  Codeschool: redux redux CS382 11

How to be successful in this class  If you like tutorials: CODE!! Don’t just read  Good PHP tutorials eginners/ eginners/  Good Ruby tutorials:  Good Rails tutorials: CS382 12

How to be successful in this class  Dedicate time, work smarter not harder:  Ask immediate feedback  Do not just read, try to explain what you read… to your grandma!  Check the StudyHacks blog:  linear-algebra-in-10-days-astounding-experiments-in- ultra-learning/#more linear-algebra-in-10-days-astounding-experiments-in- ultra-learning/#more-2537 CS382 13

Programming Project  You can start working on this from the first week of the class  Design and implementation of a professional website with a database:  Professional Style  Interactive  I will post some topics  You may complete the project in teams of two CS382 9

Programming Project  Your project should have the following features: 1. Use a Server-Side Framework – PHP or Ruby 2. Database – use MySQL database (you may have to create it)  You may use a template for the page appearance or design your own    CS382 9

Programming Projects 1. Outreach website with database 2. Entertainment website with database: Movies Songs Art from JU (performances, works of art) 3. E-commerce website Pet store Book store 4. Blog Microblogging Technology blog 5. More project ideas: CS382 9

Homework  It will involve:  Applying what we learned in class  Clean design and coding  Clear documentation (README files)  Homework will be completed individually CS382 17

Policies  Cheating means “submitting, without proper attribution, any computer code that is directly traceable to the computer code written by another person.”  Or even better:  “Any form of cheating, including concealed notes during exams, copying or allowing others to copy from an exam, students substituting for one another in exams, submission of another person’s work for evaluation, preparing work for another person’s submission, unauthorized collaboration on an assignment, submission of the same or substantially similar work for two courses without the permission of the professors. Plagiarism is a form of Academic Misconduct that involves taking either direct quotes or slightly altered, paraphrased material from a source without proper citations and thereby failing to credit the original author. Cutting and pasting from any source including the Internet, as well as purchasing papers, are forms of plagiarism.”  Students earn F for any homework assignment that they have cheated.  A second cheating attempt will be escalated to the chair of the Division with consequences on the student’s graduation. CS382 18

Policies  You may discuss homework problems with classmates, after you have made a serious effort in trying the homework on your own.  You can use ideas from the literature (with proper citation).  You can use anything from the textbooks/notes.  The code you submit must be written completely by you. CS382 19

Policies  Read the collaboration policy carefully.  Late policy:  2% is reduced by every day the homework is late CS382 20

Principles of Pair Programming CS382 10

Principles of Pair Programming  All I Really Need to Know about pair programming I Learned in Kindergarten  Share everything.  Play fair.  Don’t hit people.  Put things back where you found them.  Clean up your own mess.  Don’t take things that aren’t yours.  Say you’re sorry when you hurt somebody. CS382 12

Principles of Pair Programming  Wash your hands before you eat.  Flush.  Warm cookies and cold milk are good for you.  Live a balanced life – learn some and think some and draw and paint and sing and  Dance and play and work every day some.  Take a nap every afternoon.  When you go out into the world, watch out for traffic, hold hands and stick together.  Be aware of wonder. CS382 13

Professional Portfolio  A collection of projects you implemented for a class or for fun.  Examples:    programming-portfolio.php programming-portfolio.php  ming.html ming.html CS382 24

The INTERNET… and a bit of history 15 CS382

What is the internet?  A “series of tubes”  How many Internets are out there?  Is Google one of them? CS382 26

What is the internet?  A collection of computer networks that use a protocol to exchange data  Is the World Wide Web (WWW) and the internet the same? CS382 27

Key aspects of the internet  Sub-networks are independent  Computers can dynamically join and leave the network  Built on open standards  Lack of centralized control (mostly)  Everyone can use it with simple, commonly available software CS382 28

People and organizations  Internet Engineering Task Force (IETF): internet protocol standards  Internet Corporation for Assigned Names and Numbers (ICANN): decides top-level domain names  World Wide Web Consortium (W3C): web standards CS382 29

CS Layered architecture

Internet Protocol (IP)  Simple protocol for data exchange between computers  IP Addresses:  32-bit for IPv5  128-bit for IPv6 CS382 31

Transmission Control Protocol (TCP)  Adds multiplexing, guaranteed message delivery on top of IP  Multiplexing: multiple programs using the same IP address  Port: a number given to each program or service  port 80: web browser (port 443 for secure browsing)  port 25:  port 22: ssh  Some programs (games, streaming media programs) use simpler UDP protocol instead of TCP CS382 32

Web Servers  Web server: software that listens for web page requests  Apache  Microsoft Internet Information Server (IIS) CS382 33

Application Server  Software framework that provides an environment where applications can run  Apache  Glassfish  WebSphere  WebLogic CS382 34

Web Browser  Web browser: fetches/displays documents from web servers  Mozilla Firefox  Microsoft Internet Explorer (IE)  Apple Safari  Google Chrome  Opera CS382 35

Domain Name Server (DNS)  Set of servers that map written names to IP addresses  Example: ju.edu →  Many systems maintain a local cache called a hosts file  Windows: C:\Windows\system32\drivers\etc\hosts  Mac: /private/etc/hosts  Linux: /etc/hosts CS382 36

Uniform Resource Locator (URL)  Identifier for the location of a document on a web site  Example:  Upon entering this URL into the browser, it would:  ask the DNS server for the IP address of dept.ju.edu  connect to that IP address at port 80  ask the server to GET /cs/index.html  display the resulting page on the screen CS382 37

Hypertext Transport Protocol (HTTP)  Set of commands understood by a web server and sent from a browser  Some HTTP commands (your browser sends these internally):  GET filename : download  POST filename : send a web form response  PUT filename : upload  Exercise: simulate a browser with a terminal window CS382 38

HTTP Error Codes  When something goes wrong, the web server returns a special "error code" number  Common error codes: CS NumberMeaning 200OK page has moved (permanently or temporarily) 403 you are forbidden to access this page 404page not found 500internal server error

Web Languages  Hypertext Markup Language (HTML): used for writing web pages  Cascading Style Sheets (CSS): stylistic info for web pages  PHP Hypertext Processor (PHP): dynamically create pages on a web server  JavaScript: interactive and programmable web pages CS382 40

Web Languages(cont.)  Asynchronous JavaScript and XML (Ajax): accessing data for web applications  eXtensible Markup Language (XML): metalanguage for organizing data  Ruby on Rails CS382 41

DATABASE DRIVEN WEBSITES CS382 42

What is a database driven website?  Information changes often! CS382 43

Examples? CS382 44

Technologies  PHP  JSP  ASP  PERL  Cold Fusion  Ruby  Python CS382 45

Client vs server programming CS382 46