Week 1 INFM 718N Web-Enabled Databases The Big Picture

Preview:

Citation preview

Week 1

INFM 718N

Web-Enabled Databases

The Big Picture

Agenda

• Teaching theater orientation

• Why do this?

• Architecture

• Tools

• Course design

• Term project

Teaching Theater

• Login– University password and ID

• Tech support

• Notes– RTF for Word, Powerpoint for printing

• Video– RealVideo + Videotape

Looking at Examples

• Explore one Web-enabled database (7 min)– Work in 10 teams of 2 people each– Identify features you like and dislike

• Report to the class (1 minute!)– Very briefly describe it

• Content, control, presentation, policies

– Say one new thing you like, one that you don’t

Database

Server-side Programming

Interchange Language

Client-side Programming

Web Browser

Client Hardware

Server Hardware (PC, Unix)

(MySQL)

(PHP)

(HTML, XML)

(JavaScript)

(IE, Firefox)

(PC)

Bus

ines

sru

les

Inte

ract

ion

Des

ign

Inte

rfac

eD

esig

n

• Relational normalization• Structured programming• Software patterns• Object-oriented design• Functional decomposition

Model: An Abstraction of Reality

• Formal– To permit automated reasoning

• Necessarily incomplete

• Useful for a purpose

Upside

• Data reuse

• Multiple views

• Scalability

• Personalization / access control

Downside

• Brittle– Depends on 3 servers

• Complex– Learning, design, implementation, debugging

• Formally modeled

Languages and Protocols• Web

– Standards: HTTP / (X)HTML / URL– Software: Server, Browsers

• Database– SQL

• Programming languages– Server-side: PHP, Perl, JSP, ASP.NET– Client-side: JavaScript, Java

• Data interchange– XML / DTD

Tools

• WAMP (for PC)– PHP 5.1.2 + MySQL 5.0.18 + Apache 2.0.55– GUI tools

• OTAL (Sun Unix)– PHP 5.0.5 + MySQL 4.1.15 + Apache 2.0

• Text editor/Integrated Dev. Environment– Eclipse, emacs, notepad, …

Introductions

• Pair with someone you don’t know• Briefly interview each other

– Name and what program they are in

– One interesting thing about them

– One thing they want to learn from this class

• Take a 10 minute break• Introduce them after the break

– 30 seconds per person!

Controlling What Computers Do

• Process design– Logic errors

• Algorithm design– Run-time errors

• Coding– Syntax errors

Programming Skills Hierarchy

• Reusing code [run the book’s programs]

• Understanding patterns [read the book]

• Applying patterns [modify programs]

• Coding without patterns [programming]

• Recognizing new patterns

Three Big Ideas

• Functional decomposition– Outside-in design

• High-level languages– Structured programming, object-oriented design

• Patterns– Design patterns, standard algorithms, code reuse

Installing WAMP

• http://www.en.wampserver.com/

• Run phpinfo.php– Error reporting on? MySQL configured?

• Create a database and user accounts (mysql)

• Run mysql_test.php– Connects OK?

Working with PHP

• Local vs. server-based display

• HTML as an indirect display mechanism

• “View Source” for debugging

• Procedural vs. Object-Oriented

Some Related Courses

• Database Design (LBSC 793)

• Java Programming (LBSC 790/INFM 718B)

• Human-Computer Interaction– LBSC 795 or CMSC 434

• Information Retrieval Systems (LBSC 796)

• XML Encoding (LBSC 708Y)

Learning Strategies• Weekly class sessions

– Ways of thinking– Mixed-initiative interaction (questions, teamwork)

• Readings– Exposure to ideas, details, and references

• Structured exercises– Points of departure for experiential learning

• Project– Experiential learning, mastery of details

• Mailing list and optional TA “lab sessions”– Student-initiated interaction

Grading

• Project: 80%– Team grade: 40%– Your management role: 20%– Your technical role: 20%

• Homework: 10%– PHP, MySQL 5% each

• Participation: 10%– Class sessions, mailing list

Term Project

• Optimally 3-person teams– You pick ‘em, you live with ‘em!– Minimum of 2 (severely limits what can be done)– Max of 4, but only for Ajax teams

• Must solve a real problem for a real client– But don’t over-promise!

• No configuration/language limitations

Preparing for the “Idea Rally”

• A 90-second “elevator pitch”– One interesting and feasible idea– Plus why they should want you on their team!– Showing one optional powerpoint slide

• Illustrate your point, don’t say the same words!

• One-page handout (22 copies)– Your idea in a short paragraph– Your name, picture and contact information– A list of your strengths

First Things First

• Functionality

• Content

• Usability

• Security/Stability

One-Minute Paper

What was the muddiest point in today’s class?

• Be brief!

• No names!

Recommended