AY 2007-2008/Sem-1/Web Technologies

From IIITM-k-wiki

Jump to: navigation, search

Image:Web-Tech.png

Contents

Schedule

Schedule
Days
Timings
comments
Monday 9am - 11:35am (Somtimes)
Wednesday 10:25am-11:35am (Always)
Thursday 10:25am -11:35am and 3:25pm-4:35pm (Always)
- - -

Lectures will be held in Park Centre classroom at the IIITM-K premises, Technopark, Trivandrum.

There are no explicit hours for lab. Instead, weekly homeworks will be assigned, which may be completed by students on their notebook computers.

Lectures are expected to be interactive and students are expected to ask questions.

Credits

4 (2 Lec + 1 Discussion + 2 Lab hours)

Prerequisites

  • Principles of Programming (and programming experience in Scheme and Java)
  • Principles of Databases,
  • Data structures,
  • Operating Systems and
  • Networks
  • OR instructor's consent
  • Knowledge of Scripting Languages

Instructors

  • Principal Instructor: Venkatesh Choppella, Associate Professor IIITM-K. choppell_at_iiitmk.ac.in
  • Associate Instructors:
    • David Mathews, Design Engineer IIITM-K.
    • Sivchand Koripella, Research Engineer, IIITM-K


Office Hours

Office hours are hours reserved for 1-1 interaction of the students at the instructor's office. Others are welcome, but students enrolled for the instructor's course get priority.

Venkatesh: Fri 2pm-5pm.

David: TBA : Tue 3.25pm-5pm.

Sivchand: TBA

Communications

Discussion Forum

The forum iiitmk-webtec-group_AT_googlegroups_DOT_com is to be used for general discussions about the course. You can subscribe to this mailing list by visiting http://groups.google.com/group/iiitmk-webtec-group/

RSS Feed from the forum

<rss>http://groups-beta.google.com/group/iiitmk-webtec-group/feed/rss_v2_0_msgs.xml?hl=en|short|max=15|title=Course Feeds</rss>

Objectives

This course introduces the technologies behind today's web-based applications. A student completing this course should have acquired a good understanding of the basic design principles of the web model of computing. He or she should have designed and implemented a web application using current software development technologies and methodologies. He should have learned in detail some cutting-edge technologies. The student should have learned how to work in a group with strict delivery deadlines. The student should have learned how to prepare reading material, bibliography search, and make presentations to a class.


Course structure

The course will be mostly driven by active student participation. Students are expected to research specific technologies and present them in the class. An important part of the course are programming assignments. There will be regular programming assignments that help students understand and implement the concepts taught in the class.

Syllabus

Detailed (but tentative) breakdown of topics

The course is divided into the following set of topics. Please note that this list of topics might be tweaked slightly to accommodate time constraints.

Fundamentals and HTTP

  • Introduction to the web model of computing: distribution, protocols, user interface ad HTML
  • HTTP Protocol
  • Implementation of a simple HTTP Server (Hello server)
  • Suggested Homework: Implement simple web server to serve static pages

CGI

  • CGI in Python
  • GET, POST and Forms
  • Suggested Homework: Extend HTTP server to support CGI (HW)

State in Web Computing

  • Cookies and stateful web computing
  • Introduction to continuations
  • Persistence

Web application programming in Python

  • Templating
  • URL mapping
  • Suggested Homework: Write a simple web application in Python.

Web Programming in Scheme

  • CGI programming in Scheme
  • Introduction to Continuations
  • Continuation-based stateful web programming in Scheme.
  • Suggested Homework: Write a simple web application in Scheme.

Web Programming in Java

  • Web applications in Java (servlets)
  • Web applications in JSP
  • Using Java Beans with JSP's
  • Suggested Homework: Write a simple web application in Java

Database connectivity

  • Database connectivity in Python
  • Database connectivity in Java
  • Database conectivity in Scheme
  • Suggested Homework: Extend hw of week 5/6/7 to use database

Data abstractions over databases

  • SQL Alchemy in Python
  • Hibernate in Java
  • Database abstraction layer in Scheme
  • Suggested Homework: Extend hw of week 8 to use database abstraction layer

Web servers

  • Apache Web Server (case study)
  • Web.py (case study)
  • PLT Web

Deployment and Application containers

  • CGI, Fast CGI
  • Embedded interpreter (modpy)
  • External Server: Tomcat

Communicating Web applications

  • Screen Scraping
    • Scraping a blog from blogspot to your simple blog (HW)
  • API for communication: REST, web services, SOAP.
    • Design API for your blog and RSS feed (HW)
  • DOM and XML parsing. Tidy, Xquery
    • Aggregation service: aggregate different blogs (HW)


Rich Internet Applications

  • CSS
    • Different themes for displaying your blog.
  • Javascript
  • AJAX
  • Mashups

Performance and Scalability

  • Load testing: Profiling
    • Tools: siege web stress testing tool, httperf
  • Performance tuning and Scalability
    • Content Caching
    • Client page-load performance tuning
    • Replication
    • Load balancing

Security

  • Protocols: Password Hashing
  • Symmetric and asymmetric keys (PKI)
  • Security threats: (SQL injection, Invalid inputs, buffer overflows, cross-site scripting, thread safety, hidden fields)
  • How to build secure applications

Web Technology Lab

/Homework Submission and Grading guidelines

Lab 1, 2007-08-08

/Implementation of a simple HTTP Client and Server application

Lab2, 2007-09-06

Serving dynamic content: CGI with GET method

Lab3, 2007-09-19

   * Install the web server and try running simple servlets. Also try running the following : 
   *
         o Break and Resume (Debugger)
         o Break and Resume with table
         o Extend this example into the implementation of interactive primitives (for eg: send/suspend, send/forward)
         o Also try this with add program. 

Post your codes in the svn repo.

Deadline : 02-10-2007, Tuesday 5.00 pm

Lab 4, 2007-11-02

The Code folder is available at


svn://godavari.iiitmk.ac.in/courses/2007-2008/sem-1/itm112-webtech/public/code/AirLine


Problem statement & suggested solution is available in "Read Me.txt" in the folder.

Post you codes in SVN Repo.

Deadline : 14 November 2007,Wednesday 5:00 PM

Evaluation

The revised weight for individual components of the course is

  • Topic Delivery (lecture, content, readings and refs): 15%
  • Midterm: 15%
  • Individual participation: 10%
  • Final Exam: 20%
  • Homeworks: 40%

Individual participation will be evaluated on the basis of participation within the classroom (questions and answers) and also offline discussions (both number of postings and their quality), and also commits to the code repository and the quality of code committed.

Midterm and Final Exam will be objective type or fill-in-the-blank type questions.

/Mapping of student groups and instructors to topics

Lecture Schedule

Lecture Schedule
Week Lectures Date Topics Speaker
1 1 Aug 6th Inroduction to the course and Web Computing Venkatesh
2 2 Aug 13th HTTP Sivchand
3 3 Aug 22nd Intoduction to Python Anand
4 Aug 22nd Http Server in Python Anand
4 5 Sep 5th CGI, Forms Sukant
6 Sep 6th Regexps Sivchand
7 Sep 6th Continuations Venkatesh
6 8 Sep 19th Intro to PLT Scheme Web server Ajay
9 Sep 20th Debugger example Suryakant
10 Sep 20th Extension of debugger example into a Web application Asha
7 11 Sep 26th Servlets Deepu
12 Sep 27th Servlets (Sessions, Cookies) Lekshmi
13 Sep 27th JSP Intro Koteshwar
8 14 Oct 3rd 1 1
9 15 Oct 4th 1 1
10 16 Oct 4th 1 1
- - Oct 10th Midterm No Classes
- - Nov 8th Deepavali Holiday. No Classes
- - Dec 5 Final Exam no classes

Calendar mainitained on Google Calendars

Instructor Space

Research Group Meeting Time

Web Technology Research Group

Software Engineering Group

/Meetings

/Notes

Course Calendar

  • Mon Aug 6, 2007 First lecture of course
  • Wed Oct 3, 2007 Midterm Exam
  • Wed Dec 5, 2007 Final Exam
Personal tools
<
May 2012
>
SMTWTFS
12345
6789101112
13141516171819
20212223242526
2728293031
Events Upcoming
More ยป