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

Computer Science: and Python Programming With Practical

This document provides an overview and preface for a textbook on computer science and Python programming for CBSE Class XI students. The textbook covers both theory and practical components of the CBSE Class XI computer science syllabus, including four units on computer systems and organization, computational thinking and programming, data management, and society, law, and ethics. The textbook is authored by Prof. Atanu Das and Prof. Rajkumar Patra and published in 2020. It uses Python as the primary programming language and includes over 250 solved Python, SQL, and NoSQL programs.

Uploaded by

rekha_1234
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views

Computer Science: and Python Programming With Practical

This document provides an overview and preface for a textbook on computer science and Python programming for CBSE Class XI students. The textbook covers both theory and practical components of the CBSE Class XI computer science syllabus, including four units on computer systems and organization, computational thinking and programming, data management, and society, law, and ethics. The textbook is authored by Prof. Atanu Das and Prof. Rajkumar Patra and published in 2020. It uses Python as the primary programming language and includes over 250 solved Python, SQL, and NoSQL programs.

Uploaded by

rekha_1234
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

A Textbook of

Computer Science
and Python Programming with Practical

:-: CBSE Class XI :-:

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 XI’ for the students of CBSE Class XI 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 (Computer Systems and Organisation, Computational Thinking and Programming, Data Man-
agement - 1, and Society, Law and Ethics – 1) are grouped into four parts (I-IV) which again divided
into eighteen chapters. Each chapter includes full coverage of the theoretical topics strictly and labor-
atory 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 assignments and exercises. Part V is designed to include solutions to laboratory program-
ming exercises especially mentioned in the syllabus from Python and SQL programming.

The Computer Systems and Organisation unit is subdivided into four chapters namely, Computer
System & Organisation, Representation of Data, Boolean Logic, and Program Execution. Computational
Thinking and Programming unit is subdivided into ten chapters for learning Python programming
newly introduced in the syllabus. Python is a simple, high level, interactive, interpreted and object ori-
ented scripting language designed to be highly readable since it uses English keywords frequently
whereas the other languages use punctuations. Moreover, it has fewer syntactical constructions than
other languages. Nonetheless, Python is free open source software with highly rich libraries and
frameworks to facilitate most of the computational problem solving requirements in the present time.
The latest industry accepted this technology and promoting this language so that it already became
number one according to the developer’s choice. The Data Management – 1 unit is subdivided into
three chapters namely, Database Concept, Structured Query Language and MYSQL, and NoSQL Data-
base and MongoDB to present the database concepts and its implementation through SQL and NoSQL
languages. The Society, Law, and Ethics – 1 unit is covered in a single chapter called Cyber Safety.

There are four appendices covering the installation of Python IDEs, MySQL, NoSQL (MongoDB)
software, sample model question papers for periodic tests, midterm (half-yearly), and session ending
examinations, table of EBCDIC, ASCII, and EASCII.

Atanu Das
Rajkumar Patra

3
4
Salient Features of this Book

1. Full coverage of theory and practical syllabus of CBSE-XI including computer or-
ganization, Python programming, data management, and cyber safety.

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/laboratory 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, SQL and NoSQL.

13. Model question papers for periodic tests, midterm (half-yearly), and session end-
ing examinations.

14. Guidance for installation of Python IDEs, MySQL, NoSQL (MongoDB) software.

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

5
Acknowledgment

We would like to thank our students who are our source of inspiration that drive us to develop
this bookkeeping 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: [email protected]

Rajkumar Patra
E-Mail: [email protected]
************* ****************

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

Learning Outcomes:
1. Ability to understand basic computational thinking.
2. Ability to understand the notion of data types, data structures.
3. Ability to appreciate the notion of an algorithm, and understand its structure, in-
cluding how algorithms handle corner cases.

4. Ability to develop a basic understanding of computer systems - architecture, OS,


mobile and cloud computing.
5. Ability to learn basic SQL programming.
6. Ability to learn all about cyber safety.

Distribution of Marks and Periods:

Unit Periods
Unit Name Marks
No. Theory Practical
1. Computer Systems and Organisation 10 10 2
2. Computational Thinking and Programming 35 60 45
3. Data Management - 1 15 30 23
4. Society, Law, and Ethics - 1 10 10 --
Total 70 110 70

Unit 1: Computer Systems and Organisation

 Basic computer organisation: description of a computer system and mobile system, CPU,
memory, hard disk, I/O, battery.
 Types of software: application, System, utility.
 Memory Units: bit, byte, MB, GB, TB, and PB.
 Boolean logic: OR, AND, NAND, NOR, XOR, NOT, truth tables, De Morgan’s laws
 Information representation: numbers in base 2, 8, 16, binary addition
 Strings: ASCII, UTF8, UTF32, ISCII (Indian script code), Unicode Basic concepts of
Flowchart
 Concept of Compiler & Interpreter
 Running a program: Notion of an operating system, how an operating system runs a pro-
gram, idea of loading, operating system as a resource manager.
7
 Concept of cloud computing, cloud (public/private), introduction to parallel computing.

Unit 2: Computational Thinking and Programming

Basics of Computational Thinking: Decomposition, Pattern Recognition/ Data representation,


Generalization/ Data Abstraction, and algorithm.

Familiarization with the basics of Python programming: a simple “hello world" program, the
process of writing a program (Interactive & Script mode), running it, and print statements;
simple data-types: integer, float, string

 Features of Python, Python Character Set, Token & Identifiers, Keywords, Literals, Delimit-
ers, operators.

 Comments: (Single line & Multiline/ Continuation statements), Clarity & Simplification of
expression.

 Introduce the notion of a variable, and methods to manipulate it (a concept of L-value and
R-value even if not taught explicitly).

 Knowledge of data types and operators: accepting input from the console, assignment

statement, expressions, operators and their precedence.

 Operators & types: Binary operators-Arithmetic, Relational operators, Logical Operators,


Augmented Assignment operators.

 Conditional statements: if, if-else, if-elif-else; simple programs: e.g.: absolute value, sort 3
numbers, and divisibility.

 Notion of iterative computation and control flow: for(range(), len()), while, flowcharts, sug-

gested programs: interest calculation and factorials, etc.

 Idea of debugging: errors and exceptions; debugging: pdb, break points.

 Lists, tuples, and dictionary: finding the maximum, minimum, mean; linear search on
list/tuple of numbers, and counting the frequency of elements in a list using a dictionary. In-
troduce the notion of accessing elements in a collection using numbers and names.

 Sorting algorithm: bubble and insertion sort; count the number of operations while sorting.
 Strings: Traversing, compare, concat, substring.
 Introduction to Python modules: Importing math (sqrt, cell, floor, pow, fabs, sin, cos, tan,
random (random, randint, randrange), statistics (mean, median, mode) modules.

8
Unit 3: Data Management
 Relational databases: Concept of a database, relations, attributes and tuples, keys- candidate
key, primary key, alternate key, foreign key; Degree and cardinality of a table.
 Use SQL – DDL/ DML commands to CREATE TABLE, INSERT INTO,
UPDATE TABLE , DELETE FROM, ALTER TABLE,MODIFY TABLE, DROP TABLE, keys,
and foreign keys; to view content of a table: SELECT-FROM-WHERE-ORDER BY along
with BETWEEN, IN, LIKE, (Queries only on single table).
 Aggregate functions – MIN, MAX, AVG, COUNT, SUM.
 Basics of NoSQL databases.

Unit 4: Society, Law, and Ethics – Cyber safety


 Cyber safety: safely browsing the web, identity protection, confidentiality, social networks,
cyber trolls, and bullying.

 Appropriate usage of social networks: spread of rumours, and common social networking

sites (Twitter, LinkedIn, and Facebook) and specific usage rules.

 Safely accessing web sites: adware, malware, viruses, trojans.


 Safely communicating data: secure connections, eavesdropping, phishing, and identity veri-
fication.

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

9
Practical
Marks
S Unit Name
(Total=30)
1. Lab Test (12 marks)
Python program (60% logic + 20% documentation + 20% code quality) 8
SQL program (at least 4 queries) 4
2. Report File + viva (10 marks)
Report file: Minimum 20 Python programs and 8 SQL commands 7
Viva voce (based on the report file) 3
Project (that uses most of the concepts that have been learned)
3. 8
(See CS-XII for the rules regarding the projects)

2. Programming in Python: At least the following Python concepts should be covered in the
lab sessions: expressions, conditionals, loops, list, dictionary, and strings. The following are
some representative lab assignments.

o Find the largest and smallest numbers in a list. Find the third largest number in a list.

o Test for primarily.

o Find whether a string is a palindrome or not.


o Given two integers x and n, compute xn.
o Compute the greatest common divisor and the least common multiple of two integers.
o Test if a number is equal to the sum of the cubes of its digits. Find the smallest and larg-
est such numbers.

3. Data Management: SQL Commands At least the following SQL commands should be cov-
ered during the labs: create, insert, delete, select, and join. The following are some
representative assignments.
o Create a student table with the student id, name, and marks as attributes where the stu-
dent id is the primary key.
o Insert the details of a new student in the above table.
o Delete the details of a particular student in the above table.

o Use the select command to get the details of the students with marks more than 80.
o Create a new table (name, date of birth) by joining two tables (student id, name) and
(studentid, date of birth).
o Create a new table (order ID, customer Name, and order Date) by joining two tables
(order ID, customer ID, and order Date) and (customer ID, customer Name, contact
Name, country).
************* ****************

10
Contents

PART-I: Computer Systems and Organisation

Chapter 1: Computer System & Organisation


Syllabus and Chapter Objectives
1.1 Introduction
1.2 Basic Components of Computer
1.2.1 Central Processing Unit(CPU)
1.2.2 Memory Unit
1.2.3 Input-Output Units
1.3 Other Components of a Computer
1.3.1 Motherboard and System Bus
1.3.2 Hard Disk Drive
1.3.3 Uninterruptible Power Supply (UPS)
1.3.4 Scanner
1.3.5 Camera
1.3.6 Printer
1.3.7 Network Switch-Modem-Router
1.4 Organisation of Mobile System
1.4.1 Mobile Phone Processor
1.4.2 Mobile OS and Apps
1.4.3 Mobile Phone Input Units
1.4.4 Mobile Camera
1.4.5 Mobile Display Unit
1.4.6 Mobile Memory Unit
1.5 Concept of Software
1.5.1 System Software
1.5.2 Application Software
1.5.3 Utility Software
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 2: Representation of Data


Syllabus and Chapter Objectives
2.1 Introduction
2.2 Computer Memory Measurement Units
2.3 Representation of Data
2.4 Number System
2.4.1 Decimal Number System
2.4.2 Binary Number System
2.4.3 Octal Number System

11
2.4.4 Hexadecimal Number System
2.5 Addition and Subtraction of Binary Numbers
2.6 Internal Storage of Characters with Text Codes
2.6.1 BCD and EBCDIC
2.6.2 ASCII and Extended ASCII
2.6.3 Unicode
2.6.4 ISCII
2.7 Data Compression
Quick Recap
Conceptual Questions and Answers
Review Questions

Chapter 3: Boolean Logic


Syllabus and Chapter Objectives
3.1 Introduction
3.2 Boolean Logic
3.3 Boolean Operations
3.3.1 Truth Table and Logical Operators
3.3.2 NOT Operation
3.3.3 AND Operation
3.3.4 OR Operation
3.3.5 NAND Operation
3.3.6 NOR Operation
3.3.7 XOR Operation (Exclusive OR)
3.3.8 XNOR Operation (Exclusive NOR)
3.4 Logic Gates
3.4.1 NOT Gate
3.4.2 AND Gate
3.4.3 OR Gate
3.4.4 NAND Gate
3.4.5 NOR Gate
3.4.6 XOR Gate (Exclusive OR)
3.4.7 XNOR Gate (Exclusive NOR)
3.4.8 Summary of Boolean Operations
3.4.9 Boolean Expressions and Logic Gates
3.4.10 Universal Gates or Functionally Complete Gates
3.5 Axioms (Or Postulates) of Boolean Algebra
3.6 De Morgan's Laws
Quick Recap
Conceptual Questions and Answers
Review Questions

Chapter 4: Program Execution


Syllabus and Chapter Objectives
4.1 Introduction to Programming Languages
12
4.2 Concept of Program Compilation
4.3 Concept of Program Interpretation
4.4 Some Related Concepts for Program Execution
4.5 Operating System on Program Execution
4.5.1 Notion of OS
4.5.2 Types of Operating System
4.5.3 Role of OS in Running a Program
4.5.4 Concept of Loading and Linking
4.5.5 Resource Management
4.6 Basic Concepts of Program Design
4.6.1 Notion of a Flowchart
4.6.2 Notion of an Algorithm
4.7 Concept of Cloud Computing
4.8 Concept of Parallel Computing
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

PART-II: Computational Thinking and Programming

Chapter 5: Computational Thinking and Python Introduction


Syllabus and Chapter Objectives
5.1 Introduction
5.2 Computational Thinking
5.2.1 Decomposition
5.2.2 Pattern Recognition or Data Representation
5.2.3 Abstraction or Generalization
5.2.4 Algorithm
5.3 Programming Languages
5.4 Introduction to Python Language
5.5 Python History
5.6 Python Features
5.7 Python vs Other Languages
5.7.1 Python Vs Java
5.7.2 Python Vs Hypertext Preprocessor (PHP)
5.7.3 Python Vs C/C++
5.7.4 Python Vs Ruby
5.7.5 Python Vs Perl
5.7.6 Python Vs JavaScript
5.7.7 Python Vs R
5.8 Advantages of Python
5.9 Disadvantages of Python
5.10 Getting Started with Python
5.10.1 Opening Python using Command Prompt
13
5.10.2 Opening Python using Python Command Line
Opening Python using the Integrated Development Envi-
5.10.3
ronment (IDLE)
5.11 Running Python Script in Command Prompt
5.12 Working in IPython (Interactive Python)
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 6: Basics of Python Programming


Syllabus and Chapter Objectives
6.1 Introduction
6.2 Process of Writing Python Program
6.2.1 Interactive Mode Programming
6.2.2 Script Mode Programming
6.3 Process of Running Python Program
6.4 Features for Python’s Popularity and Acceptability
6.5 Fundamental Concepts of Python
6.5.1 Python Character Sets
6.5.2 Python Tokens
6.5.3 Python Identifiers
6.5.4 Python Keywords
6.5.5 Python Delimiters
6.5.6 Python Literals
6.5.7 Indentation in Python
6.5.8 Quotation in Python
6.5.9 Multiline Statements in Python
6.5.10 Comments in Python
6.5.11 Multiple Statements in Python
6.5.12 Accepting Input from the Console
6.5.13 Output using print() Function
6.6 Python Variables
6.6.1 Variable Name
6.6.2 Variable Types
6.6.3 Assigning Value to a Variable
6.6.4 Multiple Assignments
6.7 Python Data Types
6.7.1 Numeric Data Types
6.7.2 String Data Types
6.7.3 List Data Types
6.7.4 Tuple Data Types
6.7.5 Dictionary Data Types
6.7.6 Data Type Conversion
6.8 Python Operators
14
6.8.1 Arithmetic Operators
6.8.2 Relational (Comparison) Operators
6.8.3 Assignment Operators
6.8.4 Logical Operators
6.8.5 Bitwise Operators
6.8.6 Membership Operators
6.8.7 Identity Operators
6.8.8 Unary Operators
6.8.9 Operators Precedence
6.9 Expression in Python
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 7: Flow Control Statements


Syllabus and Chapter Objectives
7.1 Introduction
7.2 Conditional Statements
7.2.1 The if Statement
7.2.2 The if-else Statement
7.2.3 The if-elif-else Statement
7.2.4 Nested if Statement
7.2.5 Single Statement Suites
7.3 Looping Statements
7.3.1 The for Loop
7.3.2 The for Loop with range() Function
7.3.3 The for Loop with len() Function
7.3.4 The for Loop with else Statement
7.3.5 The while Loop
7.3.6 The while Loop with else Statement
7.3.7 The Infinite Loop
7.3.8 Nested Loops
7.4 Control Statements
7.4.1 The break Statement
7.4.2 The continue Statement
7.4.3 The pass Statement
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 8: String Manipulation


Syllabus and Chapter Objectives
8.1 Introduction
15
8.2 Creating Strings
8.3 Accessing Strings
8.3.1 Accessing Strings using Index
8.3.2 Accessing Strings using Slice
8.4 Updating Strings
8.5 Traversing Strings
8.6 Comparing Strings
8.7 String Slice
8.8 Escape Characters
8.9 String Special Operators
8.9.1 Concatenation
8.9.2 Repetition
8.9.3 Membership
8.10 String Formatting Operators
8.11 String Functions and Methods
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 9: Lists
Syllabus and Chapter Objectives
9.1 Introduction
9.2 Creating Lists
9.2.1 Creating Lists using list() Function
9.2.2 Creating Lists using User Input
9.3 Accessing Lists
9.3.1 Accessing Lists using Index
9.3.2 Accessing Lists using Slice
9.4 Updating Lists
9.4.1 Updating Lists using Index
9.4.2 Updating Lists using append() Method
9.4.3 Updating Lists using extend() Method
9.4.4 Updating Lists using insert() Method
9.5 Traversing Lists
9.6 Deleting List Elements
9.6.1 Deleting List Elements using del Statement
9.6.2 Deleting List Elements using remove() Method
9.6.3 Deleting List Elements using clear() Method
9.7 Basic Lists Operations
9.7.1 Concatenation
9.7.2 Repetition
9.7.3 Membership
9.8 Lists Functions and Methods
9.8.1 len() function
16
9.8.2 max() function
9.8.3 min() function
9.8.4 sorted() function
9.8.5 count() method
9.8.6 index() method
9.8.7 pop() method
9.8.8 reverse() method
9.8.9 sort() method
9.8.10 copy() method
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 10: Sorting and Searching Algorithms


Syllabus and Chapter Objectives
10.1 Introduction
10.2 Count the Number of Operation and Computational Complexity
10.3 Sorting Algorithms
10.3.1 The Bubble Sort
10.3.2 The Insertion Sort
10.3.3 The Selection Sort
10.4 Linear Search Algorithm
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 11: Tuples


Syllabus and Chapter Objectives
11.1 Introduction
11.2 Creating Tuples
11.2.1 Creating Tuples using tuple() Function
11.2.2 Creating Tuples using User Input
11.3 Accessing Tuples
11.3.1 Accessing Tuples using Index
11.3.2 Accessing Tuples using Slice
11.4 Updating Tuples
11.5 Traversing Tuples
11.6 Deleting a Tuple
11.7 Basic Tuple Operations
11.7.1 Concatenation
11.7.2 Repetition
11.7.3 Membership
11.8 Tuple Functions and Methods
17
11.8.1 len() function
11.8.2 max() function
11.8.3 min() function
11.8.4 sorted() function
11.8.5 count() method
11.8.6 index() method
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 12: Dictionary


Syllabus and Chapter Objectives
12.1 Introduction
12.2 Creating a Dictionary
12.3 Accessing a Dictionary
12.4 Updating a Dictionary
12.5 Traversing a Dictionary
12.6 Deleting Dictionary Element
12.6.1 Deleting Dictionary Element using del statement
12.6.2 Deleting Dictionary Element Using pop() Method
12.7 Membership Operation on Dictionary
12.8 Dictionary Functions and Methods
12.8.1 max() function
12.8.2 min() function
12.8.3 sum() function
12.8.4 len() function
12.8.5 str() function
12.8.6 clear() method
12.8.7 get() method
12.8.8 copy() method
12.8.9 items() method
12.8.10 keys() method
12.8.11 values() method
12.8.12 update() method
12.8.13 setdefault() method
12.8.14 fromkeys() method
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 13: Python Modules


Syllabus and Chapter Objectives
13.1 Introduction
18
13.2 Creating a Module
13.3 Importing Module
13.4 Python Built-in Modules
13.4.1 The math Module
13.4.2 The random Module
13.4.3 The statistics Module
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 14: Error and Exception Handling


Syllabus and Chapter Objectives
14.1 Introduction
14.2 Types of Errors
14.3 Exceptions in Python
14.4 Exception Handling
14.4.1 The try and except Clause
14.4.2 The try with Multiple except Clauses
14.4.3 The except Clause with Multiple Exceptions
14.4.4 The try-except Block with else Clause
14.4.5 The try-except Block with finally Clause
14.5 Raising Exceptions
14.6 Debugging Programs
14.7 Python Debugging Tools
14.8 Debugging Commands
14.9 Debugging Python Code with pdb and breakpoint
14.9.1 Debugging Using pdb Module
14.9.2 Debugging Using breakpoint Function
14.10 Debugging Functions of pdb Module
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

PART-III: Data Management - 1

Chapter 15: Database Concepts


Syllabus and Chapter Objectives
15.1 Introduction
15.2 Database Management System(DBMS)
15.2.1 Advantages and Disadvantages of DBMS
15.2.2 Functions of DBMS
15.2.3 Components of Database System
15.2.4 Users of DBMS
19
15.3 Database Models
15.3.1 Hierarchical Model
15.3.2 Network Model
15.3.3 Relational Model
15.3.4 Entity-Relationship (E-R) Model
15.4 Relational Databases
15.5 Database Keys
15.6 Relational Algebra
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 16: Structure Query Language and MYSQL


Syllabus and Chapter Objectives
16.1 Introduction
16.1.1 Overview and History of SQL
16.1.2 Characteristics of SQL
16.1.3 Advantage of SQL
16.2 SQL Languages
16.2.1 Data Definition Language (DDL)
16.2.2 Data Manipulation Language (DML)
16.2.3 Data Control Language (DCL)
16.2.4 Data Query Language (DQL)
16.2.5 Transaction Control Language (TCL)
16.3 SQL Data Types
16.4 SQL Operators
16.4.1 SQL Arithmetic Operators
16.4.2 SQL Comparison Operators
16.4.3 SQL Logical Operators
16.5 Getting Started with MySQL
Connecting to the MySQL Server with the MySQL Client
16.6 SQL DDL/DML Commands
16.6.1 Creating New Database
16.6.2 Viewing Existing Databases
16.6.3 Opening Database
16.6.4 Deleting or Removing Existing Database
16.6.5 Creating Tables
16.6.6 Viewing Tables and Table Structure
16.6.7 Inserting Data into Table
16.6.8 Updating Data in a Table
16.6.9 Deleting Data from a Table
16.6.10 The Alter Command
16.6.11 Modifying a Table
16.6.12 Drop Table Command
20
16.7 SQL Queries
16.7.1 Selection Queries
16.7.2 Aggregate Functions
16.7.3 Product and Join Operation
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

Chapter 17: NoSQL Database and MongoDB


Syllabus and Chapter Objectives
17.1 Introduction to NoSQL Databases
17.2 Objectives of NoSQL Database
17.3 Types of NoSQL Database
17.4 Advantages and Disadvantages of NoSQL
17.5 Introduction to MongoDB
17.6 Download and Installation of MongoDB on Windows
17.7 Execution of MongoDB Instructions
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

PART-IV: Society, Law, and Ethics - 1

Chapter 18: Cyber Safety


Syllabus and Chapter Objectives
18.1 Introduction
18.2 Computer Network and Internet
18.3 Cyber Safety
18.3.1 Safely Browsing the Web
18.3.2 Identity Protection
18.3.3 Confidentiality of Information
18.3.4 Safety in Social Network
18.3.5 Cyber Crimes
18.4 Appropriate Usage of Social Networks
18.4.1 Facebook
18.4.2 Twitter
18.4.3 Instagram
18.4.4 Linkedin
18.4.5 WhatsApp
18.4.6 Specific Usage Rules
18.4.7 Spread of Rumors through Social Network
18.5 Network Security Threads
18.5.1 Safely Accessing Web Sites
21
18.5.2 Malware
18.5.3 Spyware
18.5.4 Adware
18.5.5 Virus
18.5.6 Trojans
18.5.7 DoS
18.5.8 Phishing and Pharming
18.5.9 Protections
18.6 Safely Communicating Data
18.6.1 Secure Connections
18.6.2 Eavesdropping
18.6.3 Identity Verification
18.6.4 Digital Signature
18.6.5 Firewall
Quick Recap
Conceptual Questions and Answers
Review Questions
Lab Exercises

PART-V: Practical/Lab Test-Python and SQL Programs


Syllabus
Programming in Python
Data Management: SQL Commands

Appendices

Appendix-I: Installing Python


Appendix-II: Installing MySQL and MongoDB
Appendix-III: Model Question Papers
Appendix-IV: EBCDIC, ASCII, and EASCII

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

22
Authors BIOGRAPHY:

Prof. (Dr.) Atanu Das:


Dr. Atanu Das is the HOD, Department of MCA, Netaji Subhash Engineering Col-
lege 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 Med-
al) 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 supervising M.Tech. and Ph.D. research
students. He has more than 57 publications in reputed refereed journals, edited volumes and confer-
ence 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 recipi-
ent 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 in-
terest includes various fields of computer science including estimation for evolving systems,
pedagogies and learning technologies, multimedia processing, steganography, machine learning, and
data sciences.

Prof. Rajkumar Patra:


Prof. Rajkumar Patra is an Assistant Professor in the Department of Computer Sci-
ence and Engineering at Netaji Subhash Engineering College, under the Maulana
Abul Kalam Azad University of Technology, West Bengal, India since 2013. He re-
ceived 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 authored 1 textbook. His teaching and
research interest include Python programming language, design and analysis of algorithms, machine
learning, bioinformatics, and soft computing.

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

23

You might also like