Sie sind auf Seite 1von 3

COURSE

CODE

COURSE
TITLE

LINUX PROGRAMMIING
WEIGHTAGES
CA

CREDITS
(or Max. Marks)

MTE

ETE

Attd.

AT

Th

Th

20

20

15

40

COURSE OBJECTIVES:
To provide understanding and practical exposure of basics of linux environment.
PRE-REQUISITES:

CSE 101 Foundation of Computing


CSE 102 Exposure to Computer Disciplines

COURSE CONTENTS:
S. No.

3
4

6
7

Description
LINUX Basics Concept of open source & Open Licence, GNU, Various Linux Distributions: Redhat,
SuSe, Ubuntu etc, review of Linux Installation, File System Hierarchy, Top Level Directories &
purpose of main directories.
Working with GUI in Linux: Moving around the desktop (KDE/GNOME) Panel, Workspace, Main
Menu, Running Applications etc, Terminal emulator & running programs(/Commands) from terminal
emulator, Using KDE/Gnome for copying, moving, creating directories/files, Using control Centre for
installation of hardware/software, User Management, File Permissions and other settings. Mouting
Drives. Using Search Utilities in GUI.
Working with Command Line Interface in Linux: Using Shell. Shell commands: ls, touch, rm, mv,
cp, mkdir, rmdir, pwd, ps, cat, fg, bg,
File & Pattern Search Utilities: grep, egrep, regular expressions.
Concept of User & Groups, Commands to manage user and groups: groupadd, Groupdel,
groupmod, useradd, usermod .
Internet connection using broadband and wi-fi
File Permissions: Understanding and changing the permissions with chmod
Environment Variables: Meaning, using env command. Changing the environment variables like:
PATH, SHELL, TERM, PWD, USER, LANG etc.
Editors: Exposure to CLI editors & GUI editors.
Program development with C in Linux: Using Editor for writing the source code, compiling, linking
with libraries & executing
Vi editor command in both escape and insert mode ,Command line arguments
Shell Programming: Pipes & redirection, Shell as a programming language Interactive programs,
creating a script & making a script executable, shell syntax variable, condition, control structure,
functions, debugging scripts, using simple scripts to implement the above topic.
Working with Files & Directories: Concept of system calls & device drivers & library functions.
Using low level file access and standard I/O library for working with files like opening, reading,
writing, setting permission, closing files etc.
Stream functions & stream errors & file descriptors.
File & Directory Maintenance in C using chmod, chown, unlink, link, mkdir, rmdir, chdir, Scanning
directories using opendir, readdir, telldir, seekdir, closedir,. Writing programs equivalent to ls
command using above feratures,
MTE
Interacting with the UNIX/Linux Environment from your Program: Command arguments, using
getopt facility, using getenv, putenv, environ for environment variables.
Interacting with the UNIX/Linux Environment from your Program: Using time, gmtime, ctime, for
calculating date & time, using temporary files, interacting with environment to get user, host & logging

8
9

information.
Managing Memory: overview of simple memory allocation, allocating lots of memory, abusing
memory, null pointer, freeing memory.
File Locking: creating lock files, read & write with locks.
Development tools & debugging: handling multiple source files, make command & makefiles, type
of errors & general debugging techniques, using gdb, memory debugging.

LABORATORY WORK:
S. No.
1.
2.

Description
Linux Installation

6.

Moving around the desktop KDE/GNOME Panel, Workspace, Main Menu, Running Applications
etc,
Terminal emulator & running programs(/Commands) from terminal emulator, Using KDE/Gnome for
copying, moving, creating directories/files.
Using shell commands like ls, touch, rm, mv, cp, mkdir, rmdir, pwd, ps, cat, fg, bg.
Using grep, egrep, regular expressions & GUI for file & pattern searching.
Managing users & gripus through GUI & CLI .
Understanding and changing the permissions with CLI & GUI.
Setting the environment variables using CLI & GUI.
Using vi or edlin and any GUI editor.

7.

Using shell programming to write simple programs, writing simple scripts & making it executable.

8.

Writing programs in C for File handling using low level access & standard I/O library.

9.

Writing programs in C for Streams & File Descriptors.

10.

Writing programs in C for Directory maintenance & scanning directories

11.

Writing programs in C for command line arguments.

12.

Calculating the execution time of a program

13.

Program to get user, host & logging information.

14.

Programs to read & write from the terminal

15.

Programs on managing memory dynamically

16.

Programs for file locking & reading, writing with locks.

17.

Using make & make file, using gdb for debugging.

18.

Writing manual pages

19.

Writing programs to implement all the commands of linux commands.

3.
4.
5.

TEXT BOOKS:
1. Neil Mathew & Richard Stones, Begining Linux Programming, Wrox Press .
OTHER READINGS:
1.
2.
3.
4.

Carla Schroder, Linux Cookbook, o'Reilly Media


Richard Stevens, Advanced Programming in Unix Environment, Addison Wesley
John W Perry, Advanced C Programming by Example, PWS Publishing Company
Bhattacharya, Mauro, Mamone , Kapil Sharma , Thomas, Whiting, Gundavaram, Beginning Red Hat Linux,
Wrox Press.
5. Peter Van Der Linden, Expert C Programming, Publisher - Prentice Hall, Also available through O'Reilly
Media Press
6. Web reference www.cd.cf.ac.uk/Dave/c

7. Web reference - Linux.com


SALIENT PEDAGOGICAL FEATURES:
1. A lot of stress to be given on programming problems.
1. Closing Quiz/Review Quiz.
2. Drill Problems based on real life
scenarios.
2. For teaching all the programming concepts, we can pick a project like CD collection software for a PC &
start building it right from unit 4 and enhance it as we study more & more concepts.

Das könnte Ihnen auch gefallen