Sei sulla pagina 1di 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

Detailed Plan For Lectures


Week Number Lecture Number Broad Topic(Sub Topic) Chapters/Sections of Text/reference books Other Readings, Lecture Description Relevant Websites, Audio Visual Aids, software and Virtual Labs OR-2 Introduction to open source Learning Outcomes Pedagogical Tool Demonstration/ Case Study / Images / animation / ppt etc. 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.)

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, touch, rm, mv, cp, mkdir, rmdir, pwd, ps, cat) Working with CLI (command line interface)(Commands :: ls, touch, rm, mv, cp, mkdir, rmdir, pwd, ps, cat) Working with CLI (command line interface)(File and Pattern Search : grep, egrep, regular expressions) Working with CLI (command line interface)(File Permissions : using chmod)

R-1:chapter - 4

Week 2

Lecture 4

R-1:chapter - 4

Live Demonstration using Linux

Lecture 5

R-1:chapter 13.1 / 13.2 / 13.3

Live Demonstration using Linux

R-1:Chapter - 6.4 / 6.5

Live Demonstration using Linux

Lecture 6

Working with CLI (command line interface)(File Permissions : using chmod)

R-1:Chapter - 6.4 / 6.5

How to change file permissions

Live Demonstration using Linux

Week 2

Lecture 6

Working with CLI (command line interface)(File and Pattern Search : grep, egrep, regular expressions) Working with CLI (command line interface)(Environmental Variables : PATH, SHELL, TERM, PWD etc) Working with CLI (command line interface)(Usres and Groups : Commands to manage user and groups: groupadd, groupdel, useradd, usermod .) Programming(Pipes and redirections)

R-1:chapter 13.1 / 13.2 / 13.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.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, loops, 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, loops, control structures and functions) Programming(Shell syntax: variables, loops, 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, write, open and close) Working With Files and Directories(System Calls: read, write, open and close) Working With Files and Directories(System Calls: read, write, 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

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, chown, unlink, link, mkdir, rmdir, chdir.) Working With Files and Directories(Scanning directories using opendir, readdir, telldir, seekdir, closedir.) T-1:Chapter 3 page 106-108 T-1:Chapter 3 page 120-122

Quiz,Test,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 - 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 - I(Command Line arguments) 137-139

Lecture 21

Interacting with linux environment T-1:Chapter 4 page - 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 - 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 - II(Environmental variables : 144-146 using getenv and putenv) Interacting with linux environment T-1:Chapter 4 page - II(Time functions : gmtime, 148-155 ctime and strftime) Interacting with linux environment T-1:Chapter 4 page - II(Time functions : gmtime, 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

Week 9

Lecture 25

Interacting with linux environment T-1:Chapter 4 page - 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 - II(Logging information) 163-165

To demonstrate how to logging information

Memory Management and File Locking(Memory allocation, 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,Test,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, 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

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, 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, 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:

Component Quiz,Test,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

Potrebbero piacerti anche