0% found this document useful (0 votes)
157 views

Computer Science and Python Programming With Practical: CBSE Class XII Textbook

This document provides information about a textbook titled "A Textbook of Computer Science and Python Programming with Practical: CBSE Class XII". Some key details: - The textbook was written for CBSE Class XII students studying the Computer Science subject. - It was authored by Prof. Atanu Das and Prof. Rajkumar Patra from Netaji Subhash Engineering College in Kolkata, India. - The textbook covers both the theory and practical components of the CBSE Class XII Computer Science syllabus, including topics like Python programming, data management, computer networks, and society/ethics. - It includes over 16 chapters, appendices, exercises, assignments,

Uploaded by

Honey Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
157 views

Computer Science and Python Programming With Practical: CBSE Class XII Textbook

This document provides information about a textbook titled "A Textbook of Computer Science and Python Programming with Practical: CBSE Class XII". Some key details: - The textbook was written for CBSE Class XII students studying the Computer Science subject. - It was authored by Prof. Atanu Das and Prof. Rajkumar Patra from Netaji Subhash Engineering College in Kolkata, India. - The textbook covers both the theory and practical components of the CBSE Class XII Computer Science syllabus, including topics like Python programming, data management, computer networks, and society/ethics. - It includes over 16 chapters, appendices, exercises, assignments,

Uploaded by

Honey Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/343125934

Computer Science and Python Programming with Practical: CBSE Class XII
Textbook

Preprint · April 2021

CITATIONS READS

0 41,801

2 authors:

Atanu Das Rajkumar Patra


Netaji Subhash Engineering College Netaji Subhash Engineering College
68 PUBLICATIONS   128 CITATIONS    5 PUBLICATIONS   0 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Image Steganography View project

Design and Development of a Web-Based Learning System with Applications of Fuzzy Logic for Learner’s Performance Evaluation View project

All content following this page was uploaded by Atanu Das on 03 October 2020.

The user has requested enhancement of the downloaded file.


A Textbook of
Computer Science
and Python Programming with Practical

:-: CBSE Class XII :-:

Prof. (Dr.) Atanu Das


HOD, Department of MCA
Former HOD, Dept. of Computer Science and Engineering
Netaji Subhash Engineering College
Kolkata, West Bengal, India

Prof. Rajkumar Patra


Assistant Professor
Dept. of Computer Science and Engineering
Netaji Subhash Engineering College
Kolkata, West Bengal, India

2020
2
Preface
We have the pleasure to bring the book ‘A Textbook of Computer Science and Python Program-
ming with Practical: CBSE Class XII’ for the students of CBSE Class XII who opted the subject
Computer Science (Code No. 083). This course includes both theory and practical as per the attached
syllabus applicable from the academic session 2019-2020.

The book covers both theory and practical works. The whole theory syllabus consisting of four
units (Programming and Computational Thinking – 2, Computer Networks, Data Management - 2,
and Society, Law and Ethics – 2) are grouped into four parts (I-IV) which again divided into sixteen
chapters. Each chapter includes full coverage of the theoretical topics strictly and laboratory works
and assignments as prescribed in the syllabus. Each chapter also includes objectives, a quick recap
(summary), short answer type and descriptive questions with a hint and laboratory worked out as-
signments and exercises. Part V is designed to include solutions to laboratory programming exercises
especially mentioned in the syllabus from Python and SQL programming.

The programming and computational thinking – 2 part is subdivided into nine chapters namely,
Python revision, working with functions, file handling, using Python libraries, recursion, algorithmic
and program efficiency, data visualization using pyplot, data structures I-list, and data structures II-
stack and queue for learning Python programming in more details and data structures using Python.
Computer networks part is subdivided into three chapters namely, introduction to computers net-
works, principles of communications and networking, besides network tools and applications. Data
management – 2 part is subdivided into two chapters namely, SQL commands and Python interfacing,
and web application with Django. Society, law and ethics – 2 part is subdivided into two chapters
namely, ethics and law besides Technology and Society. There are four appendices covering the con-
cepts GUI with Tkinter, concepts of classes and objects in Python, sample model question papers for
periodic tests, midterm (half-yearly), and session ending examinations and five projects implementa-
tions as per practical syllabus.

We have tried to focus on the full coverage of theory and practical syllabus of CBSE-XII (Class 12)
including Python programming, data management, computer networks along with society, law and
ethics with simple and comprehensive illustrations of topics with examples. The illustrations are
mostly self-explanatory, easy to understand, and pedagogically rich with indications of chapter wise
syllabus sections and corresponding chapter objectives. Summary (quick-recap) of presented content
are given at the end of all the chapters and keywords are highlighted (bold) for quick understanding
besides memorizing. Conceptual question-answers are included in each chapter to present tricky con-
cepts. Chapter wise review questions (with hints) following board examination patterns are also given
3
for practice besides inclusion of chapter wise solved practical assignments to promote self-learning.
Solved exercises for practical works are also provided according to practical syllabus. More than 250
solved programs of Python and SQL are incorporated along with projects implementations with Py-
thon & SQL. Model question papers are given for periodic tests, midterm (half-yearly), and session
ending examinations preparation. We have also included two appendices to introduce the concepts of
GUI programming besides classes and objects concepts in Python.

************* ****************

4
Salient Features of this Book

1. Full coverage of theory and practical syllabus of CBSE-XII including Python pro-
gramming, data management, computer networks along with society, law and
ethics.

2. Simple and comprehensive illustrations of topics with examples.

3. Mostly self-explanatory, easy to understand, and pedagogically rich content.

4. Indications of chapter wise syllabus sections and corresponding chapter objectives.

5. Summary (quick-recap) of presented content at the end of all the chapters.

6. Highlighted keywords for quick understanding and memorizing.

7. Conceptual question-answers in each chapter to present tricky concepts.

8. Chapter wise review questions (with hints) following board examination patterns.

9. Chapter wise solved practical assignments to promote self-learning.

10. Solved exercises for practical works according to practical syllabus.

11. Python programming and computational problem solving skill development


through solved problems and lab exercises.

12. More than 250 solved programs of Python and SQL.

13. Projects Implementations with Python and SQL.

14. Model question papers of periodic tests, midterm (half-yearly), and session ending
examinations for practice.

15. Inclusion of GUI programming concepts in Python as appendix.

16. Inclusion of classes and objects concepts in Python as appendix.

************* ****************

5
Acknowledgment

We would like to thank our students who are our source of inspiration that drive us to develop
this book keeping in mind their academic requirements in changing educational scenario. We would
like to thank our Director and Principal for the opportunity to teach this subject. We would like also
to express our sincere gratitude to all our colleagues for their wonderful academic association and
supports. However, our family member deserves the most gratitude for their sacrifice to make this
project successful. Their sacrifices and cooperation are beyond our expectations.

We hope this book will fulfill the requirements and expectations of our intended students and
their teachers. Even then, if some anomalies appeared, we feel extremely sorry for those unintentional
mistakes. Suggestions for improvement of this book may be sent to the following e-mail addresses.

Atanu Das
E-Mail: atanudas75@gmail.com

Rajkumar Patra
E-Mail: rajkr.patra@gmail.com
2020
************* ****************

6
Syllabus
Computer Science (New)
CLASS-XII (Code No. 083)
2019-20
1. Prerequisites
Computer Science- Class XI

2. Learning Outcomes
1. Understand the concept of functions and recursion.
2. Learn how to create and use Python libraries.
3. Learn file handling.
4. Learn about the concept of efficiency in algorithms and computing in general.
5. Learn basic data structures: lists, stacks, and queues.
6. Get a basic understanding of computer networks: network stack, basic network hardware, basic
protocols, and basic tools.
7. Connect a Python program with an SQL database, and learn aggregation functions in SQL.
8. Have a clear understanding of cyber ethics and cybercrime. Understand the value of technolo-
gy in societies, gender and disability issues, and the technology behind biometric ids.

3. Distribution of Marks

Unit No. Unit Name Marks


1. Programming and Computational Thinking – 2 30
2. Computer Networks 15
3. Data Management – 2 15
4. Society, Law and Ethics – 2 10
5. Practical 30
Total 100

4.1 Unit 1: Programming and Computational Thinking (PCT-2) (80 Theory + 70 Practical)
 Revision of the basics of Python
 Functions: scope, parameter passing, mutable/immutable properties of data objects, pass
arrays to functions, return values, functions using libraries: mathematical, and string func-
tions.
 File handling: open and close a file, read, write, and append to a file, standard input, out-
put, and error streams, relative and absolute paths.
 Using Python libraries: create and import Python libraries
 Recursion: simple algorithms with recursion: factorial, Fibonacci numbers; recursion on ar-
rays: binary search
 Idea of efficiency: performance defined as inversely proportional to the wall clock time,
count the number of operations a piece of code is performing, and measure the time taken

7
by a program. Example: take two different programs for the same problem, and understand
how the efficient one takes less time.
 Data visualization using Pyplot: line chart, pie chart, and bar chart.
 Data-structures: lists, stacks, queues.

4.2 Unit 2: Computer Networks (CN) (30 Theory + 10 Practical)


 Structure of a network: Types of networks: local area and wide area (web and internet), new
technologies such as cloud and IoT, public vs. private cloud, wired and wireless networks;
concept of a client and server.
 Network devices such as a NIC, switch, hub, router, and access point.
 Network stack: amplitude and frequency modulation, collision in wireless networks, error
checking, and the notion of a MAC address, main idea of routing. IP addresses: (v4 and v6),
routing table, router, DNS, and web URLs, TCP: basic idea of retransmission, and rate mod-
ulation when there is congestion (analogy to a road network), Protocols: 2G, 3G, 4G, Wi-Fi.
What makes a protocol have a higher bandwidth?
 Basic network tools: traceroute, ping, ipconfig, nslookup, whois, speed-test.
 Application layer: HTTP (basic idea), working of email, secure communication: encryption
and certificates (HTTPS), network applications: remote desktop, remote login, HTTP, FTP,
SCP, SSH, POP/IMAP, SMTP, VoIP, NFC.

4.3 Unit 3: Data Management (DM-2) (20 Theory + 20 Practical)


 Write a minimal Django based web application that parses a GET and POST request, and
writes the fields to a file - flat file and CSV file.
 Interface Python with an SQL database
 SQL commands: aggregation functions – having, group by, order by.

4.4. Unit 4: Society, Law and Ethics (SLE-2) (10 Theory)


 Intellectual property rights, plagiarism, digital rights management, and licensing (Creative
Commons, GPL and Apache), open source, open data, privacy.
 Privacy laws, fraud; cyber-crime- phishing, illegal downloads, child pornography, scams;
cyber forensics, IT Act, 2000.
 Technology and society: understanding of societal issues and cultural changes induced by
technology.
 E-waste management: proper disposal of used electronic gadgets.
 Identity theft, unique ids, and biometrics.
 Gender and disability issues while teaching and using computers.

8
5. Practical

S.No. Unit Name Marks (Total=30)


1. Lab Test (10 marks)
Python program (60% logic + 20% documentation + 20% 7
code quality)
Small Python program that sends a SQL query to a da- 3
tabase and displays the result. A stub program can be
provided.
2. Report File + viva(9 marks)
Report file: Minimum 21 Python programs. Out of this 7
at least 4 programs should send SQL commands to a da-
tabase and retrieve the result; at least 1 program should
implement the web server to write user data to a CSV
file.
Viva voce based on the report file 2
3. Project + viva (11 marks)
Project (that uses most of the concepts that have been 8
learnt)
Project viva-voce 3

Some sample lab assignments are as follows:

5.1. Programming in Python:


 Recursively find the factorial of a natural number.
 Read a file line by line and print it.
 Remove all the lines that contain the character `a' in a file and write it to another file.
 Write a Python function sin(x, n) to calculate the value of sin(x) using its Taylor series ex-
pansion up to n terms. Compare the values of sin(x) for different values of n with the correct
value.
 Write a random number generator that generates random numbers between 1 and 6 (simu-
lates a dice).
 Write a recursive code to find the sum of all elements of a list.
 Write a recursive code to compute the nth Fibonacci number.
 Write a Python program to implement a stack and queue using a list data-structure.
 Write a recursive Python program to test if a string is a palindrome or not.
 Write a Python program to plot the function y = x2 using the pyplot or matplotlib libraries.
 Create a graphical application that accepts user inputs, performs some operation on them,
and then writes the output on the screen. For example, write a small calculator. Use the
tkinter library.

9
 Open a webpage using the urllib library.
 Compute EMIs for a loan using the numpy or scipy libraries.
 Take a sample of 10 phishing e-mails and find the most common words.

5.2. Data Management: SQL and web-server


 Find the min, max, sum, and average of the marks in a student marks table.
 Find the total number of customers from each country in the table (customer ID, customer
name, country) using group by.
 Write a SQL query to order the (student ID, marks) table in descending order of the marks.
 Integrate SQL with Python by importing the MySQL module
 Write a Django based web server to parse a user request (POST), and write it to a CSV file.

6. Project
The aim of the class project is to create something that is tangible and useful. This should be done in
groups of 2 to 3 students, and should be started by students at least 6 months before the submission
deadline. The aim here is to find a real world problem that is worthwhile to solve. Students are en-
couraged to visit local businesses and ask them about the problems that they are facing. For example, if
a business is finding it hard to create invoices for filing GST claims, then students can do a project that
takes the raw data (list of transactions), groups the transactions by category, accounts for the GST tax
rates, and creates invoices in the appropriate format. Students can be extremely creative here. They can
use a wide variety of Python libraries to create user friendly applications such as games, software for
their school, software for their disabled fellow students, and mobile applications. Of course to do some
of this projects, some additional learning is required; this should be encouraged. Students should
know how to teach themselves.

If three people work on a project for 6 months, at least 500 lines of code is expected. The committee has
also been made aware about the degree of plagiarism in such projects. Teachers should take a very
strict look at this situation, and take very strict disciplinary action against students who are cheating
on lab assignments, or projects, or using pirated software to do the same. Everything that is proposed
can be achieved using absolutely free, and legitimate open source software.

************* ****************

10
Contents

PART-I: Programming and Computational Thinking (PCT-2)

Chapter 1: Python Revision


Syllabus and Chapter Objectives
1.1 Computational Thinking and Programming
1.2 Introduction and History of Python
1.3 Characteristics of Python
1.4 Advantages and Disadvantages
1.5 Character Sets and Tokens
1.6 Variables and Strings
1.7 User Input
1.8 Python Operators
1.9 Lists
1.10 Set
1.11 Tuples
1.12 Dictionaries
1.13 Conditional Statements (if, else, elif)
1.14 Iteration-Loops (while, for)
1.15 Loop Control Statements (break, continue, pass)
1.16 Modules
1.17 Errors and Exceptions
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 2: Functions
Syllabus and Chapter Objectives
2.1 Introduction
2.2 Function Definition
2.3 Function Call
2.3.1 Flow of Execution in Function Call
2.3.2 Parameters Passing
2.4 Function Arguments
2.4.1 Required Arguments
2.4.2 Keyword Arguments

11
2.4.3 Default Arguments
2.4.4 Variable-length Arguments
2.5 The return Statement
2.6 Variable Scope and Lifetime
2.6.1 Local and Global Variables
2.6.2 Using the Global Statement
2.7 Functional Programming and Lambda Functions
2.7.1 The map() Function
2.7.2 The filter() Function
2.7.3 The reduce() Function
2.8 Mathematical and String Functions
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 3: File Handling


Syllabus and Chapter Objectives
3.1 Introduction
3.2 Opening and Closing Files
3.2.1 File open() Function
3.2.2 The File Object Attributes
3.2.3 Closing Files
3.3 Reading and Writing Files
3.3.1 Reading from Files
3.3.2 Writing to Files
3.3.3 Appending to Files
3.3.4 Opening File using with Statement
3.4 File Pointer
3.5 File and File Path
3.6 Standard Input, Output and Error Stream
3.7 Other File Methods
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 4: Python Libraries


Syllabus and Chapter Objectives
12
4.1 Introduction
4.2 Python Modules
4.2.1 Creating Modules
4.2.2 Importing Modules
4.2.3 Module Search Path
4.2.4 The dir() Built-in Function
4.3 Python Libraries
4.4 Creating Python Libraries
4.5 Importing Python Libraries
4.5.1 Importing Modules from Library
4.5.2 Importing Elements of Library Modules
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 5: Recursion
Syllabus and Chapter Objectives
5.1 Introduction
5.2 Recursive Functions
5.3 How Does Recursion Work?
5.4 Some Recursive Algorithms
5.4.1 Finding Factorial
5.4.2 Fibonacci Numbers
5.4.3 Binary Search
5.5 Tail Recursion
5.6 Recursion vs. Iteration
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 6: Algorithm and Program Efficiency


Syllabus and Chapter Objectives
6.1 Introduction
6.2 Performance Analysis of Algorithms
6.3 Time Complexity
6.3.1 Run-time Analysis using Operation Count
6.3.2 Rate of Growth
13
6.3.3 Asymptotic Analysis
6.4 How to Compare Algorithms?
6.5 Space Complexity
6.6 Best, Worst, and Average Case Analysis
Quick Recap
Conceptual Questions and Answers
Review Questions

Chapter 7: Data Visualization with Pyplot


Syllabus and Chapter Objectives
7.1 Introduction
7.2 Introduction to Pyplot
7.3 Data Preparation with Numpy
7.4 Creating Charts using Pyplot
7.4.1 Line Chart
7.4.2 Bar Chart
7.4.3 Pie Chart
7.5 Customizing the Plots
7.5.1 Anatomy of Plots
7.5.2 Opening Figures
7.5.3 Opening Subplots
7.5.4 Adding Axes to Figures
7.5.5 Setting Axes Values
7.5.6 Adding Title to Plots
7.5.7 Settings Axes Labels
7.5.8 Setting Axes Limits
7.5.9 Setting Axes Scale
7.5.10 Setting Ticks on Axes
7.5.11 Adding Legends to Plots
7.5.12 Adding Text and Annotation to Plots
7.5.13 Saving Figure
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 8: Data Structures I - Lists


Syllabus and Chapter Objectives
8.1 Introduction
14
8.2 What is a Data Structure?
8.3 Types of Data Structures
8.3.1 Linear Data Structure
8.3.2 Non-Linear Data Structure
8.3.3 Other Classification Approaches
8.4 Operations on Data Structures
8.5 Array or Linear List
8.5.1 Creating Array and Accessing Elements
8.5.2 Inserting Elements and Updating Lists
8.5.3 Deleting Elements
8.5.4 Traversing Lists
8.5.5 List Comprehensions
8.6 Linked Lists
8.6.1 Creation of Linked list
8.6.2 Traversing a Linked List
8.6.3 Insertion in a Linked List
8.6.4 Deletion of Element form Liked List
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 9: Data Structures II - Stack and Queue


Syllabus and Chapter Objectives
9.1 Introduction
9.2 Stacks
9.2.1 Introduction and Definition
9.2.2 Stack Terminologies
9.2.3 Operations on Stack
9.2.4 Implementation of Stack using Lists
9.2.5 Stack Applications
9.2.6 Reversing a String using Stack
9.2.7 Infix to Postfix Conversion using Stack
9.2.8 Postfix Expression Evaluation Using Stack
9.3 Queues
9.3.1 Introduction and Definition
9.3.2 Queue Terminologies
9.3.3 Operations on Queue
9.3.4 Implementation of Queue using Lists
15
9.3.5 Other Types of Queue
9.3.6 Implement Queue with Two Stacks
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises
PART-II: Computer Networks (CN)

Chapter 10: Introduction to Computers Networks


Syllabus and Chapter Objectives
10.1 Introduction
10.2 Computer Network and Data Communication
10.3 Features of Computer Network
10.4 Components of Computer Network
10.5 Network Classification
10.5.1 Connection Type Based Classification
10.5.2 Topology Based Classification
10.5.3 Size Based Classification
10.5.4 Communication Medium Based Classification
10.6 Computer Network Architecture
10.6.1 Peer-to-Peer Network
10.6.2 Client-Server Network
10.7 The Internet and Web
10.8 Computer Network Models
10.9 Network Devices
10.9.1 Network Interface Card
10.9.2 Repeater
10.9.3 Hub
10.9.4 Switch
10.9.5 Router
10.9.6 Gateway
10.9.7 Access Point
10.10 Cloud Computing
10.11 Internet of Things (IoT)
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

16
Chapter 11: Principles of Communications and Networking
Syllabus and Chapter Objectives
11.1 Introduction
11.2 Modulation Techniques
11.2.1 Amplitude Modulation
11.2.2 Frequency Modulation
11.2.3 Phase Modulation
11.3 Access Control Techniques
11.3.1 CSMA
11.3.2 CSMA/CD
11.3.3 CSMA/CA
11.4 Error Detection Techniques
11.4.1 Simple Parity Check
11.4.2 Two-Dimensional Parity Check
11.4.3 Checksum
11.5 Network Addresses
11.5.1 MAC Address
11.5.2 IP Address
11.5.3 Port Address
11.6 Idea of Routing
11.7 Transmission Control Protocol
11.7.1 Error Control in TCP
11.7.2 Congestion Control in TCP
11.8 DNS and URLs
11.8.1 Uniform Resource Locator (URL)
11.8.2 Domain Name System
11.9 Mobile Communication Technologies
11.9.1 1G
11.9.2 2G
11.9.3 3G
11.9.4 4G
11.9.5 5G
11.10 Wi-Fi Technology
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 12: Network Tools and Applications


17
Syllabus and Chapter Objectives
12.1 Introduction
12.2 Basic Network Tools
12.2.1 GETMAC Command
12.2.2 IPCONFIG Command
12.2.3 NETSTAT Command
12.2.4 PING Command
12.2.5 TRACERT Command
12.2.6 NSLOOKUP Command
12.2.7 WHOIS Command
12.2.8 Speed Test
12.3 Working of HTTP
12.4 Electronic Mail
12.4.1 Simple Mail Transfer Protocol (SMTP)
12.4.2 Post Office Protocol (POP)
12.4.3 Internet Message Access Protocol (IMAP)
12.4.3 Working of E-mail
12.5 File Transfer
12.6 Secure Communication Protocols
12.6.1 HTTPS
12.6.2 SSL
12.6.3 Secure Copy Protocol (SCP)
12.7 Remote Desktop
12.8 Remote Login
12.8.1 TELNET
12.8.2 Secure Shell (SSH)
12.9 Other Communication Protocols
12.9.1 Voice over Internet Protocol (VoIP)
12.9.2 Near Field Communication (NFC)
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

PART-III: Data Management - 2 (DM-2)


Chapter 13: SQL and Python Interfacing
13.1 Revision of Database Terminologies
13.2 SQL Reviews
13.2.1 SQL Language
18
13.2.2 SQL Data Types and Operators
13.3 MySQL Database
13.4 SQL Commands
13.5 SQL Queries
13.5.1 Selection Queries
13.5.2 Aggregate Functions
13.6 Python MySQL Interfacing
13.6.1 Installation of PYMYSQL
13.6.2 Database Connection
13.6.3 Creating Database Table
13.6.4 INSERT Operation
13.6.5 READ Operation
13.6.6 Update Operation
13.6.7 DELETE Operation
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 14: Web Applications with Django


Syllabus and Chapter Objectives
14.1 Introduction
14.2 Introduction to Web Framework
14.3 How Does Web Application Work?
14.4 Django Introduction
14.5 Django Installation
14.5.1 Using Downloaded Archive
14.5.2 Using PIP
14.5.3 Using Virtual Environment
14.6 Django Project Development
14.6.1 Project Creation
14.6.2 Project Structure
14.6.3 Project Setting
14.6.4 How to Run Project?
14.7 Database Setup
14.8 Creating Applications
14.9 Creating Views
14.10 URL Mapping
14.11 Working with Templates
19
14.11.1 Django Template Language
14.11.2 HTML Tags
14.12 Working with Models
14.12.1 Creating Model
14.12.2 Activating Model
14.12.3 Exploring Database using API
14.12.4 Exploring Database using View
14.12.5 Storing Data into Database Table using View
14.13 Creating Admin Users
14.14 Working with Forms
14.14.1 Role of Django in Forms
14.14.2 Forms in Django
14.14.3 Instantiating, Processing, and Rendering Forms
14.14.4 Building Forms in Django
14.15 Processing GET and POST Requests
14.15.1 Writing to Text File
14.15.2 Writing to CSV File
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

PART-IV: Society, Law and Ethics - 2 (SLE-2)


Chapter 15: Cyber Ethics and Law
15.1 Ethical Issues
15.1.1 Intellectual Property Rights
15.1.2 Plagiarism
15.1.3 Digital Rights Management
15.1.4 Creative Commons Licensing
15.1.4 GPL Licensing
15.1.4 Apache Licensing
15.1.5 Open Source and Open Data
15.2 Privacy and Privacy Laws
15.3 Cybercrime
15.3.1 Phishing
15.3.2 Illegal Downloads
15.3.3 Child pornography
15.3.4 Frauds and Scams
15.3.5 Cyber Forensics
20
15.4 IT Act-2000
Quick Recap
Conceptual Questions and Answers
Review Questions

Chapter 16: Information Technology and Society


16.1 Introduction
16.2 Societal Issues
16.3 Cultural Changes Induced by Technology
16.4 E-Waste Management
16.4.1 E-Waste Disposal
16.4.2 E-Waste Recycling
16.5 Privacy Issues
16.5.1 Unique ID
16.5.2 Biometrics
16.5.3 Identity Theft
16.6 Gender Issues while Using Computers and Teaching
16.7 Disability Issues while Using Computers and Teaching
Quick Recap
Conceptual Questions and Answers
Review Questions

PART-V: Practical – Python, SQL and Projects


Syllabus
Programming in Python
Data Management: SQL and Web-Server

Appendices
Appendix-I: GUI with Tkinter
Appendix-II: Classes and Objects in Python
Appendix-III: Model Question Papers
Appendix-IV: Projects
1. GST Invoice Generation
2. Software for School
3. Software for Disabled
4. Game Development
5. Mobile Application
************* ****************

21
Authors BIOGRAPHY:

Prof. (Dr.) Atanu Das:

Dr. Atanu Das is the HOD, Department of MCA, Netaji Subhash Engineering
College under the Maulana Abul Kalam Azad University of Technology,
West Bengal, India. Formerly, he was HOD, Department of CSE, In-Charge,
Department of IT and Coordinator-M.Tech (CSE) for more than 6 years. He
received his M.Sc. (Gold Medal) degrees from The University of Burdwan
and M.E. and Ph.D. (Engineering) degrees from Jadavpur University, India.
Dr. Das has been teaching at UG and PG courses for more than 19 years along with supervis-
ing M.Tech. and Ph.D. research students. He has more than 57 publications in reputed
refereed journals, edited volumes and conference proceedings, and authored 8 text/reference
books. He serves as a reviewer for many peer-reviewed international journals, international
conferences, and edited book chapters. He is the recipient of Adarsh Vidya Saraswati
Rashtruya Puraskar-2019 and IMFR Best Scientist Award-2019, and InSc Research Excellence
Award-2020, VDGOOD Outstanding Scientist Award-2020. His research interest includes var-
ious fields of computer science including estimation for evolving systems, pedagogies and
learning technologies, multimedia processing, steganography, machine learning, and data sci-
ences.

Prof. Rajkumar Patra:

Prof. Rajkumar Patra is an Assistant Professor in the Department of Comput-


er Science and Engineering at Netaji Subhash Engineering College, under the
Maulana Abul Kalam Azad University of Technology, West Bengal, India
since 2013. He received his Bachelor of Technology and Master of Technology
in Computer Science and Engineering from the University of Calcutta. He has
published several research papers in reputed journals/conferences and au-
thored 3 textbooks. His teaching and research interest include Python programming language,
design and analysis of algorithms, machine learning, bioinformatics, and soft computing.

************* ****************

22

View publication stats

You might also like