Transcript Powerpoint

The Big Picture
Week 1
INFM 718N
Web-Enabled Databases
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
• Relational normalization
• Structured programming
• Software patterns
• Object-oriented design
• Functional decomposition
Business Interaction
Design
rules
Interface
Design
Client Hardware
Web Browser
Client-side Programming
Interchange Language
Server-side Programming
(PC)
(IE, Firefox)
(JavaScript)
(HTML, XML)
(PHP)
Database
(MySQL)
Server Hardware
(PC, Unix)
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:
– Software:
HTTP / (X)HTML / URL
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:
– PHP, MySQL
• Participation:
– Class sessions, mailing list
10%
5% each
10%
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!