You are on page 1of 7

Lovely Professional University, Punjab

Course Code CSE207 Course Category Course Title LINUX PROGRAMMING Courses with conceptual focus Course Planner 15359::Baljit Singh Saini Lectures 3.0 Tutorials Practicals Credits 0.0 0.0 3.0

TextBooks Sr No T-1 Title Begining Linux Programming Reference Books Sr No R-1 R-2 Other Reading Sr No OR-1 OR-2 OR-3 Journals articles as Compulsary reading (specific articles, complete reference) http://www.ubuntu.com/ , http://opensource.org/docs/osd , http://en.wikipedia.org/wiki/Linux_distribution , Title Unix Concepts and Applications Author Sumitabha Das Edition 4th 2nd Year Publisher Name Mc graw Hill Addison Wisely Author Neil Mathew & Richard Stones Edition 4th Year Publisher Name Wiley

Advanced Programming in the UNIX W. Richard Stevens, Environment Stephen A. Rago

Relevant Websites Sr No RW-1 RW-2 RW-3 RW-4 (Web address) (only if relevant to the course) http://linuxcommand.org/lc3_writing_shell_scripts.php http://opensource.org/licenses/index.html http://tldp.org/LDP/Linux-Filesystem-Hierarchy/Linux-Filesystem-Hierarchy.pdf http://www.cplusplus.com/reference/clibrary/cstdio/ Salient Features Shell Scripts Information on open source File system hierarchy in detail Programs in C

LTP week distribution: (LTP Weeks) Weeks before MTE Weeks After MTE Spill Over 7 6 2

egrep. touch.6.6.5 How to change file permissions Live Demonstration using Linux . rmdir. rmdir.4 / 6. ps.5 Live Demonstration using Linux Lecture 6 Working with CLI (command line interface)(File Permissions : using chmod) R-1:Chapter .2 / 13. mkdir. mv. cp. Audio Visual Aids. ps.3 Live Demonstration using Linux R-1:Chapter .4 / 6. mkdir.) RW-3 Teaching about the Student learns how Slide show by teacher directory implementation different directories are of linux managed for different types of files in linux To teach the use of shell Student will learn to commands work with shell commands To teach the use of shell Student will learn to commands work with shell commands To search strings in a file Student learns how to with the help of search in files commands How to change file permissions Student can manage permissions for their files Student can manage permissions for their files Live Demonstration using Linux Lecture 3 Working with CLI (command line interface)(Commands :: ls. mv.Detailed Plan For Lectures Week Number Lecture Number Broad Topic(Sub Topic) Chapters/Sections of Text/reference books Other Readings. rm. cat) Working with CLI (command line interface)(File and Pattern Search : grep. cp. rm. touch.4 Live Demonstration using Linux Lecture 5 R-1:chapter 13. pwd. regular expressions) Working with CLI (command line interface)(File Permissions : using chmod) R-1:chapter . software and Virtual Labs OR-2 Introduction to open source Learning Outcomes Pedagogical Tool Demonstration/ Case Study / Images / animation / ppt etc. pwd.4 Week 2 Lecture 4 R-1:chapter . Planned Slide show by teacher Week 1 Lecture 1 Linux Basics(Open source vs closed source) Learning advantages and disadvantages of open source as compared to closed source Linux Basics(Gnu and Linux Distributions) OR-3 Basics of Linux Student learns how Slide show by teacher Linux evolved and what are its features Slide show by teacher Lecture 2 Linux Basics(File System Hierarchy) RW-3 Teaching the file system Student can compare of Linux linux file system with Windows Linux Basics(Top Level Directories & purpose of main directories.1 / 13. cat) Working with CLI (command line interface)(Commands :: ls. Lecture Description Relevant Websites.

useradd. open and close) Working With Files and Directories(System Calls: read.) Programming(Pipes and redirections) R-1:chapter 13. loops. write. PWD etc) Working with CLI (command line interface)(Usres and Groups : Commands to manage user and groups: groupadd. open and close) Working With Files and Directories(System Calls: read.Week 2 Lecture 6 Working with CLI (command line interface)(File and Pattern Search : grep. loops.4 To demonstrate how to Student will be able to manage users and groups create new users and with commands groups Live Demonstration using Linux T-1:chapter 2 page 21-22 Demonstrate how to connect commands Learning how to use less commands to do the same work Learns to make simple scripts Student learns about various types of shells Learns to make simple scripts Learns to make simple scripts Learns writing and compiling C programs Live Demonstration using Linux Lecture 9 Programming(Shell syntax: variables. usermod .3 To search strings in a file Student learns how to with the help of search in files commands To teach how to interact Learning the use of with linux environment environment variables Live Demonstration using Linux Week 3 Lecture 7 R-1:Chapter 4 Live Demonstration using Linux Lecture 8 R-1:Chapter 15. TERM. control structures and functions) Programming(Shell Basics) T-1:chapter 2 page 23-48 T-1:Chapter 2 page 18-22 T-1:chapter 2 page 23-48 T-1:chapter 2 page 23-48 T-1:Chapter 1 page 7 To teach basics of shell scripting To teach the basics of shell To teach basics of shell scripting To teach basics of shell scripting Demonstrate how to write and compile C programs in C To teach about system call basics Live Demonstration using Linux Slide show by teacher Week 4 Lecture 10 Programming(Shell syntax: variables.2 / 13. write. groupdel. write. SHELL.1 / 13. control structures and functions) Programming(Shell syntax: variables. open and close) T-1:Chapter 3 page 94-97 Student learns why system calls are necessary Student learns to use system calls in programming Student learns to use system calls in programming Student learns to use system calls in programming Slide show by teacher T-1:Chapter 3 page 98-105 To show the use of system calls through programming To show the use of system calls through programming To show the use of system calls through programming Live Demonstration using Linux Lecture 14 T-1:Chapter 3 page 98-105 Live Demonstration using Linux Lecture 15 T-1:Chapter 3 page 98-105 Live Demonstration using Linux . loops. egrep. control structures and functions) Programming(Making and Compiling C programs) Live Demonstration using Linux Live Demonstration using Linux Live Demonstration using Linux Lecture 11 Lecture 12 Working With Files and Directories(Concept of system calls & device drivers & library functions) Week 5 Lecture 13 Working With Files and Directories(System Calls: read. regular expressions) Working with CLI (command line interface)(Environmental Variables : PATH.

II(Environmental variables : 144-146 using getenv and putenv) Interacting with linux environment T-1:Chapter 4 page .Mini project 1 To demonstrate how to move pointer in files To teach file management through programming Student learns how to select data from files Live Demonstration using Linux Lecture 18 Learning how to make Live Demonstration file management using using Linux programs or commands Week 7 Lecture 19 T-1:Chapter 3 page 122-124 To teach directory management through programming Learning how to make directory management using programs and commands Live Demonstration using Linux Lecture 20 Interacting with linux environment T-1:Chapter 4 page . seekdir. 148-155 ctime and strftime) Interacting with linux environment T-1:Chapter 4 page .I(Getopt function) 140-141 To introduce the concept Helps student to Live Demonstration of options develop commands that using Linux take different options to act differently MID-TERM Week 8 Lecture 22 Interacting with linux environment T-1:Chapter 4 page . rmdir.) Working With Files and Directories(Scanning directories using opendir.Test.I(Command Line arguments) 137-139 To demonstrate how to take input from user Live Demonstration using Linux Interacting with linux environment T-1:Chapter 4 page . readdir. closedir. telldir. link. chdir.I(Command Line arguments) 137-139 Lecture 21 Interacting with linux environment T-1:Chapter 4 page .Week 6 Lecture 16 Lecture 17 Working With Files and Directories(Use of lseek and dup) Working With Files and Directories(File & Directory Maintenance in C using chmod. 148-155 ctime and strftime) To show how to manipulate environmental variables Helps students to make Live Demonstration their own variables using Linux Lecture 23 To demonstrate the use Student will be able to of time related functions do time related things To demonstrate the use Student will be able to of time related functions do time related things Live Demonstration using Linux Live Demonstration using Linux Lecture 24 .) T-1:Chapter 3 page 106-108 T-1:Chapter 3 page 120-122 Quiz. unlink.II(Time functions : gmtime. mkdir. chown.I(Getopt function) 140-141 To introduce the concept Helps student to Live Demonstration of options develop commands that using Linux take different options to act differently To demonstrate how to take input from user Learning how to develop programs that take input when program is run at command line Learning how to develop programs that take input when program is run at command line Live Demonstration using Linux Interacting with linux environment T-1:Chapter 4 page .II(Time functions : gmtime.

makefile) T-1:Chapter 9 page 377-382 To teach how to compile Student learns how to Live Demonstration only the affected files save compilation time using Linux when only a few files of the project are changed . freeing and abusing) Lecture 27 Memory Management and File Locking(Creating read and write locks) T-1:Chapter 7 page 255-260 To show how to manage Student can handle memory memory according to need To teach how to protect files Will help students to safeguard files from being overwritten by two processes at same time Will help students to safeguard files from being overwritten by two processes at same time T-1:Chapter 7 page 264-272 Live Demonstration using Linux Week 10 Lecture 28 Memory Management and File Locking(Creating read and write locks) T-1:Chapter 7 page 264-272 To teach how to protect files Live Demonstration using Linux Lecture 29 Lecture 30 Memory Management and File Locking(Competing and testing locks) T-1:Chapter 7 page 273-279 Quiz.Mini project 2 To teach how to protect files Will help students to safeguard files from being overwritten by two processes at same time Will help students to safeguard files from being overwritten by two processes at same time Live Demonstration using Linux Week 11 Lecture 31 Memory Management and File Locking(Competing and testing locks) T-1:Chapter 7 page 273-279 To teach how to protect files Live Demonstration using Linux Lecture 32 Development Tools(Problem of multiple source files.II(User information) 158-160 To demonstrate how to user information Student can keep track Live Demonstration of logging related using Linux information of any user Student can keep track Live Demonstration of logging related using Linux information of any user Student can keep track Live Demonstration of logging related using Linux information of any user Live Demonstration using Linux Interacting with linux environment T-1:Chapter 4 page .II(Host information) 161-162 To demonstrate how to system information Lecture 26 Interacting with linux environment T-1:Chapter 4 page .Week 9 Lecture 25 Interacting with linux environment T-1:Chapter 4 page .II(Logging information) 163-165 To demonstrate how to logging information Memory Management and File Locking(Memory allocation.Test.

Week 11 Lecture 33 Development Tools(Source Code Control using Revision Control System( RCS)) Development Tools(Writing Manual Page) T-1:Chapter 9 page 392-398 To teach how to save different versions of a file Student can can make Live Demonstration changes to a file but using Linux still all the versions of it T-1:Chapter 9 page 406-409 To teach how to create Student can create his Live Demonstration manual page for a own documentation for using Linux command that they have his command developed themselves To teach the basics of process Learning basics of a process Live Demonstration using Linux Live Demonstration using Linux Week 12 Lecture 34 Process(Process. advantages and disadvantages) Threads(Thread creation) Lecture 38 Student will be able to Live Demonstration create threads for a using Linux process and perform different functions from same process Student learns how to cancel the threads already created Live Demonstration using Linux Lecture 39 Threads(Thread cancellation) T-1:Chapter 12 page 517-520 Teaching the concept of how to handle threads SPILL OVER Week 14 Lecture 40 T-1:chapter 13 page 525-527 T-1:Chapter 13 page 528-530 Pipes Basics of pipes Live Demonstration using Linux Live Demonstration using Linux Lecture 41 Sending output to popen Inter process communication Scheme for CA: . Process Structure) Process(Starting a process and duplicating process) T-1:Chapter 11 page 461-467 T-1:chapter 11 page 468-474 Lecture 35 Teaching the concept of Student will be able to how to handle processes create and duplicate processes Teaching the concept of Student will be able to how to handle processes put process in waiting state Lecture 36 Process(Waiting processes) T-1:Chapter 11 page 475-476 Live Demonstration using Linux Process(Zombie process) T-1:Chapter 11 page 477-478 T-1:Chapter 12 page 495-498 T-1:chapter 12 page 499-500 Teaching the concept of Student learns how to Live Demonstration how to handle processes handle zombi processes using Linux To introduce the notion of a thread Teaching the concept of how to handle threads Know how threads are useful Live Demonstration using Linux Week 13 Lecture 37 Threads(Basics.

Mini project Frequency 2 Out Of 3 Total :- Each Marks Total Marks 10 10 20 20 Details of Academic Task(s) AT No. Objective Topic of the Academic Task Nature of Academic Task (group/individuals/field work Individual Evaluation Mode Allottment / submission Week 4/6 Test 1 To check the conceptual understanding of students Syllabus covered till 5th week Based on answers written Quiz 1 To prepare students Syllabus covered till week 9th week for placement activities To check the programming skills of student Students will work in group Individual Answers submitted 8 / 10 Mini project 1 Group Report Submitted and Presentation 3 / 12 .Test.Component Quiz.