Open Source Technology

Paper Code: 
MCA 323
Credits: 
04
Periods/week: 
04
Max. Marks: 
100.00
Objective: 

 The course will enable the students to

  1. Define understanding among the students about concept of Open Source Technologies.
  2. Employ necessary skills to work with UNIX/LINUX operating system environment.
  3. Compare fundamental concepts between Linux and other popularly used operating systems
  4. Gain the skills necessary for developing shell script and programming
  5. Construct simple OS mechanisms through shell programming

 Course Learning Outcomes (CLOs):

 

Learning Outcome (at course level)

Students will be able to:

Learning and teaching strategies

Assessment Strategies

  1. Understand the concept of open Source Technology.
  2. Work with UNIX/LINUX operating system environment.
  3. Evaluate the distinct features of Linux in comparison to other popularly used operating systems.
  4. Develop shell scripts.
  5. Expand simple OS mechanisms through shell programming.

 

Approach in teaching:

Interactive Lectures,

Modeling, Discussions, implementing enquiry based learning, student centered approach

 

Learning activities for the students:

Experiential Learning, Presentations, Discussions, Quizzes and Assignments

 

  • Assignments
  • Written test in classroom
  • Classroom activity
  • Continuous Assessment
  • Semester Examination

 

10.00
Unit I: 

Introduction: open Source, Free Software, Free Software vs. Open Source software, Public Domain Software, FOSS does not mean any cost. History: BSD, The Free Software Foundation and the GNU Project.

12.00
Unit II: 

OST Concepts:Open Source History, Initiatives, Open Source Development Model Licenses and Patents: What Is A License, Important FOSS Licenses (Apache, BSD, GPL, LGPL), copyrights and copylefts, Patents Economics of FOSS: Zero Marginal Cost, Income-generation opportunities, Internationalization.

12.00
Unit III: 

Case Studies: Mozilla (Firefox), Wikipedia & Linux

Starting and maintaining an Open Source Project, Open Source Hardware, Open Source Design, Open Source Teaching and Open Source media

Open source vs. closed source Open source government, Shared software, Shared source.

12.00
Unit IV: 

Introduction to UNIX/LINUX Operating System : Features of UNIX/LINUX operating system, Structure: Kernel and Shell, Basic commands, Accessing help options, Filenames and using wild cards, Types of files, File systems: four block of file systems, directory hierarchy, Operations and utilities for directory and files

Introduction to vi and Emacs editor User & Group file access permissions.

14.00
Unit V: 

Shell Programming: Basic of shell programming, meta characters, shell variable: predefined variables and user defined variable, storing value in variable and accessing it, unsetting variables, storing filenames, content and command in variable, Input: reading word by word, line by line and from file, Expression, Decisions and repetition, Special parameters and variables, shell programming in bash, read command, conditional and looping statements, case statements, changing positional parameters and argument validation, string manipulation.

Simple filter commands – pr, head, tail, cut, paste, sort, uniq, tr,  Regular expressions: atoms and operators, grep.

ESSENTIAL READINGS: 
  • KailashVadera, Bhavyesh Gandhi, “Open Source Technology”, University Science Press, 1st edition, 2009.
  • Sumitabha Das, “UNIX – Concepts & Applications”, Tata McGraw Hill Publications, 4th edition, 2006.
  • Graham Glass & King Ables, “Linux for programmers and users”, Pearson Education India, 3rd edition, 2006.
REFERENCES: 
  • Fadi P. Deek, James A. M. McHugh, “Open Source Technology and Policy”, Cambridge University Press, 1st edition, 2008.
  • Andrew M. St. Laurent, “Understanding Open Source and Free Software Licensing”, O’Reilly, Annotated edition, 2004.
  • Forouzan B. A., Gilberg R. R., “UNIX and Shell Programming”, TMH, 2nd edition, 2008.
  • Saurabh K., “UNIX Programming: The First Drive”, Willey India, 1st edition, 2008.
  • Richard Petersen, “Linux: The Complete Reference”, Sixth Edition, TMH, 6th edition, November 2007.
Academic Year: