Birla Institute of Technology & Science, Pilani
SDET Unit
Centre for Software Development
First Semester: 2011-2012
Course Handout
Course No. CSD L0101
Course Title LAMP
Instructors Abhishek Rathore[ abhishek@bits-pilani.ac.in ]
Website http://discovery.bits-pilani.ac.in/~CSDL0101/
Nalanda (LMS) http://nalanda.bits-pilani.ac.in
Timings Tuesday & Thursday (5:30 PM– 7:00 PM)
Venue 3250
Course Overview
This Course aims at equipping the students with knowledge of setting up a web
development platform using Open Source Technologies. The course deals with setting
up a web server which supports server side scripts for creating dynamic web pages.
LAMP is a software package which consists of installation setups for i) Apache as web
server ii) MySQL as Database iii) PHP server-side scripting language. LAMP is a Linux
based installation package but variant for different platform are available with other
names.
Text Books
T1: Timothy Boronczyk, Elizabeth Naramore, Jason Gerner, Yann Le Scouarnec, Jeremy Stolz,
Michael K. Glass: Beginning PHP6, Apache, MySQL Web Development, Wrox 2009.
T2: W. Jason Gilmore: Beginning PHP & MySQL - From Novice to Professional, Apress, 3rd
Edition, 2008
References
R1. Lynn Beighley, Michael Morrison: Head First PHP & MySQL, O’Reilly, 2008
Links : http://www.w3schools.com/ , http://php.net/,
Course Plan
Lecture Topics Reference
Introduction to LAMP – Introduction to LAMP Software
1 Class Notes
Package , Installation
2 Linux Basics - Basic Shell Commands, Directory Structure Class Notes
Linux Basics - User & Groups(permissions),File Permissions,
3 Class Notes
System Variables
HTML/CSS Basics – Webpage Structure, HTML syntax, Style
4 Sheet Basics, HTML vs. XHTML Class Notes
HTML/CSS Examples – Positioning and Dimensions, Table vs.
5 Class Notes
DIV, Layouts (Fluid/Elastic/Fixed)
WWW – Introduction to Web, Web Server(Apache), Browsers,
6 HTTP protocol Class Notes
PHP Basics – Syntax, Variables – Creation/storage/Destruction,
Class Notes
7 Arrays, Eclipse IDE
T1:Ch 2
PHP functions
8 Class Notes
PHP Session Management – Session Variables (define, Class Notes
9 manipulate, use, destroy),Headers T1:Ch 12
T2:Ch 18
10 Cookies, Login/Logout Management, PHPmyAdmin Class Notes
Databases – Introduction To RDBMS, MySQL , Database Class Notes
11
Creation. T1 – CH 3,4
SQL – SQL queries (Basic and Complex) Class Notes
12
PHP and MySQL – Connection setup, Creation of dynamic
Class Notes
13 webpage using PHP/Databases.
T1:Ch 3,6,10,
T2:Ch 25, 26
PHP Forms – Creating Simple Registration Forms , $GET and
Class Notes
14 $POST methods
T1:Ch 5,6
PHP and MySQL – Registration forms, data storage and Class Notes,
15 retrieval. T1:Ch 5
T2:Ch 13
DNS and Webhosting – Domain Name System, web hosting,
16
How to create your own site. Class Notes
JavaScript & XML – DOM, Javascript Basic syntaxes/examples ,
17 Class Notes
XML basics
18
AJAX – AJAX XMLHttp object , Use of AJAX. Class Notes
Class Notes,
19 Advanced PHP – Email, LDAP, File handling T1:Ch11, T2:Ch10,
15, T2:Ch 17
FTP Server – Creating your own FTP server, Creating
20 Class Notes
Users/Groups and Permissions.
Apache Administration – Handling access/permission and Class Notes
21
various parameters of a webserver. T1:Ch1, T2:Ch 2
22 Apache - Logging, Monitoring and Securing Server T1:Ch 17, T2:Ch 21
Evaluation Scheme
Component Duration Weightage(%) Date & Time Mode
Practice Labs 90min 0 TBA Open Book
Quiz(6) Weekly 30 TBA Closed Book
Mid-Term Exam 60min 20 TBA Closed Book
Assignment (1) - 20 TBA Take Home
End Examination 3 Hrs 30 TBA Open Book
Notices & Communications: All notices shall be displayed either at the Nalanda or CSD
site.
Course Materials: All the course materials shall be available either at the course website
or course page of the Nalanda.
Note: The above course plan/scheme is subject to some changes/modifications as per
the instructor. This is offered only as a study guide. The pace of each class differs
according to the instructional needs of the students in the class.
Instructor-in-Charge
LAMP