Open Source Programming

Credit: 3

Objective

  • To understand Open Source Programming concepts

  • To build applications based on Open Source Softwares

 

UNIT I - INTRODUCTION

Introduction to open source programming languages, advantages and drawbacks of open source programming, threats and vulnerabilities in open source languages, Operating System – Ubuntu Linux – Introduction to shell programming.

 

UNIT II – PHP

PHP Language Basics, Functions - calling a function, variable function, and anonymous function, Strings - cleaning, encoding and escaping, and comparing strings, Arrays – storing data in arrays, extracting multiple values, traversing, and sorting arrays, Objects – creation, introspection, and serialization, Web Techniques – processing forms and maintaining state.

 

UNIT III – WEB DATABASE APPLICATIONS

Three-tier architecture, Introduction to Object oriented programming with PHP 5, Database basics, MYSQL - querying web databases, writing to web databases, validation with Javascript, Form based authentication, protecting data on the web.

 

UNIT IV – PERL, TCL, AND PYTHON

Numbers and Strings, Control Statements, Lists and Arrays, Files, Pattern matching, Hashes, Functions. Introduction to TCL/TK, Introduction to Python.

 

UNIT V – SECURITY IN WEB APPLICATIONS

Recognizing web application security threats, Code Grinder, Building functional and secure web applications, Security problems with Javascript, vulnerable GCI scripts, Code Auditing and Reverse Engineering, types of security used in applications.

 

Outcome

After successful completion of the course, students will be able to:

  • develop codes in open source web applications

  • understand the risks associated with the open source codes

  • write secure CGI scripts

 

Text Book

  1. Kevin Tatroe, Peter MacIntyre, Rasmus Lerdorf, “Programming PHP”, O’Reilly Media, 2012.

  2. Michael Cross, “Developer’s Guide to Web Application Security”, Syngress Publishers, 2007.

  3. Hugh E. Williams, David Lane, “Web Database applications with PHP and MYSQL”, Second Edition, O’Reilly Media, 2004.

References

  1. Tom Christiansen, Brian D Foy, Larry Wall, Jon Orwant, “Programming Perl”, Fourth Edition, O’Reilly Media, 2012.

  2. Mark Lutz, “Programming Python”, Fourth Edition, O’Reilly Media, 2010.

  3. Online Tutorials and Recent IEEE/ACM Journal Papers