Tuesday, July 10, 2012



 CS9035                                FREE/OPEN SOURCE SOFTWARE                       L T P C
3  0 0  3

To understand the FOSS Philosophy and use a Linux distribution to learn installation, administration and programming in this environment

·    To impart a first hand knowledge on the FOSS philosophy and methodology
·    To enable the students to install and use Linux distribution
·    To train the students in Linux desktop usage and some commonly used programs
·       To encourage students to apply OSS philosophy and migrate to FOSS in their own domains
·    To develop application programs using FOSS

UNIT I             HISTORY AND OVERVIEW OF GNU/LINUX AND FOSS                     3
Definition of FOSS & GNU, History of GNU/Linux and the Free Software Movement, Advantages  of Free Software and GNU/Linux,  FOSS usage , trends and potential— global and Indian.

UNIT II            SYSTEM ADMINISTRATION                                                                  10
GNU/Linux  OS installation--detect  hardware,  configure disk partitions  & file systems and install a GNU/Linux distribution  ; Basic shell commands  -logging  in, listing files, editing files, copying/moving files, viewing file contents, changing file modes and permissions,  process  management  ; User  and group  management,  file ownerships and permissions,  PAM authentication  ; Introduction  to common system configuration files & log files ; Configuring networking, basics of TCP/IP networking and routing, connecting to the Internet (through dialup, DSL, Ethernet, leased line) ; Configuring additional hardware -sound cards, displays & display cards, network cards, modems, USB drives, CD writers ; Understanding  the OS boot up process ; Performing  every day tasks using gnu/Linux --accessing the Internet, playing music, editing documents and spreadsheets, sending and receiving email, copy files from disks and over the network, playing games, writing CDs ; X Window system configuration and utilities-- configure X windows, detect display devices ; Installing software from source code as well as using binary packages

UNIT III           SERVER SETUP AND CONFIGURATION                                            10
Setting up email servers--using postfix ( SMTP services), courier ( IMAP & POP3 services), squirrel mail ( web mail services) ; Setting up web servers --using apache ( HTTP  services),  php  (server-side  scripting),  perl  (  CGI  support)  ;  Setting  up  file services --using samba ( file and authentication services for windows networks), using NFS ( file services for gnu/Linux / Unix networks) ; Setting up proxy services --using squid ( http / ftp / https proxy services) ; Setting up printer services -using CUPS (print spooler), foomatic (printer database) ; Setting up a firewall -Using netfilter and iptables

UNIT IV           PROGRAMMING TOOLS                                                                       12
Using the GNU Compiler Collection --GNU compiler tools ; the C preprocessor (cpp), the C compiler  (gcc) and the C++ compiler  (g++), assembler  (gas) ; Understanding build systems --constructing  make files and using make, using autoconf and autogen to automatically generate make files tailored for different development environments ; Using source code versioning  and management  tools --using cvs to manage source code revisions, patch & diff ; Understanding the GNU Libc libraries and linker -linking against object archives (.a libraries) and dynamic shared object libraries (.so libraries), generating   staticall linked  binaries  and  libraries generatin dynamicall linked libraries  ;  Using  the  GNU  debugging  tools  --gdb  to  debug  programs,  graphical debuggers  like  ddd,  memory  debugging  /  profiling  libraries  mpatrol  and  valgrind  ; Review of common programming practicies and guidelines for GNU/Linux and FOSS ; Introduction to Bash, sed & awk scripting

UNIT V            APPLICATION PROGRAMMING                                                          10
Basics of the X Windows server architecture ; Qt Programming ; Gtk+ Programming  ; Python Programming ; Programming GUI applications with localisation support.



1     N. B. Venkateshwarlu (Ed); Introduction to Linux: Installation and Programming, B S Publishers; 2005.
2     Matt Welsh, Matthias Kalle Dalheimer, Terry Dawson, and Lar Kaufman, Running
Linux, Fourth Edition, O'Reilly Publishers, 2002.
3.  Carla Schroder, Linux Cookbook, First Edition, O'Reilly Cookbooks Series,

1.   Open Sources:  Voices from the Open  Source  Revolution,  First Edition,  January
1999,                                 ISBN:                           1-56592-582-3.                             URL:
2.   The  Linux  Cookbook:  Tips  and  Techniques  for  Everyday  Use,  First  Edition, Michael Stutz, 2001. URL: http://dsl.org/cookbook/cookbook_toc.html
3.   The Linux System  Administrators'  Guide,  Lars Wirzenius,  Joanna  Oja, Stephen
Stafford, and Alex Weeks, December 2003. URL: http://www.tldp.org/guides.html
4.   Using GCC, Richard Stallman et al. URL: http://www.gnu.org/doc/using.html
5.   An       Introduction      to      GCC,       Brian      Gough.      URL:      http://www.network- theory.co.uk/docs/gccintro/
6.   GNU  Autoconf,  Automake  and  Libtool,  Gary  V.  Vaughan,  Ben  Elliston,  Tom
Tromey and Ian Lance Taylor. URL: http://sources.redhat.com/autobook/
7.   Open Source Development  with CVS, Third Edition, Karl Fogel and Moshe Bar.
8.   Advanced     Bash     Scripting     Guide,      Mendel     Cooper,     June     2005.     URL:
9.   GTK+/GNOME        Application      Development,       Havoc       Pennington.       URL:
10. Python   Tutorial Guido   va Rossum Fre L.   Drake,   Jr.,   Editor URL:

7/10/2012 12:30:00 PM


Post a Comment

Related Posts Plugin for WordPress, Blogger...