did-you-know? rent-now

Rent More, Save More! Use code: ECRENTAL

did-you-know? rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780199480173

Python Programming Using Problem Solving Approach

by
  • ISBN13:

    9780199480173

  • ISBN10:

    0199480176

  • Format: Paperback
  • Copyright: 2019-10-01
  • Publisher: Oxford University Press

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $26.67 Save up to $8.67
  • Rent Book $18.00
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    USUALLY SHIPS IN 3-5 BUSINESS DAYS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

How To: Textbook Rental

Looking to rent a book? Rent Python Programming Using Problem Solving Approach [ISBN: 9780199480173] for the semester, quarter, and short term or search our site for other textbooks by Thareja, Reema. Renting a textbook can save you up to 90% from the cost of buying.

Summary

Python Programming is designed as a textbook to fulfil the requirements of the first-level course in Python programming. It is suited for undergraduate degree students of computer science engineering, IT as well as computer applications. This book will enable students to apply the Python programming concepts in solving real-world problems.

The book begins with an introduction to computers, problem solving approaches, programming languages, object oriented programming, and Python programming. Separate chapters dealing with the important constructs of Python language such as control statements, functions, strings, files, data structures, classes and objects, inheritance, operator overloading, and exceptions are provided in the book.

Author Biography


Reema Thareja, Assistant Professor, Department of Computer Science, Shyama Prasad Mukherji College, University of Delhi

Reema Thareja is Assistant Professor at Department of Computer Science, Shyama Prasad Mukherji College for Women, University of Delhi. She has completed MCA in Software Engineering, MPhil in Computer Science, and PhD in the area of improving data warehouse quality. She has around 12 years of teaching experience and specializes in programming languages, operating systems, microprocessors, DBMS, multimedia, and web technologies.

Dr Thareja has published several research papers in national and international journals of repute. She has done projects on quality monitoring of ATM networks and on steganography in Centre for Development of Telematics (CDoT) and Defence Research and Development Organisation (DRDO), respectively. She is the member of Computer Society of India (CSI). She has also authored several books for OUP, India.

Table of Contents


1 Introduction to Computers and Problem Solving Strategies
1.1 Introduction
1.2 What is a Computer?
1.3 History of Computers
1.4 Characteristics of Computers
1.5 Classification of Computers
1.6 Basic Applications of Computers
1.7 Stored Program Concept
1.7.1 Types of Stored Program Computers
1.8 Components and Functions of a Computer System
1.9 Concept of Hardware and Software
1.9.1 Hardware
1.9.2 Software
1.10 Central Processing Unit (CPU): Basic Architecture
1.11 Input and Output devices
1.12 Computer Memory
1.12.1 Memory Hierarchy
1.12.2 Primary Memory
1.12.3 Secondary Storage Devices
1.13 Classification of Computer Software
1.13.1 System Software
1.13.2 Application Software
1.14 Representation of Data: Bits and Bytes
1.15 Problem Solving Strategies
1.16 Program Design Tools: Algorithms, Flowcharts, Pseudocodes
1.16.1 Algorithms
1.16.2 Flowcharts
1.16.3 Pseudocodes
1.17 Types of Errors
1.18 Testing and Debugging Approaches
Annexure 1 - Types of Operating Systems
2 Introduction to Object Oriented Programming (OOP)
2.1 Computer Programming and Programming Languages
2.2 Generations of Programming Languages
2.2.1 First Generation: Machine Language
2.2.2 Second Generation: Assembly Language
2.2.3 Third Generation: High-level Language
2.2.4 Fourth Generation: Very High-level Languages
2.2.5 Fifth Generation Programming Language
2.3 Programming Paradigms
2.3.1 Monolithic Programming
2.3.2 Procedural Programming
2.3.3 Structured Programming
2.3.4 Object Oriented Programming (OOP)
2.4 Features of Object Oriented Programming
2.4.1 Classes
2.4.2 Objects
2.4.3 Method and Message Passing
2.4.4 Inheritance
2.4.5 Polymorphism
2.4.6 Containership
2.4.7 Reusability
2.4.8 Delegation
2.4.9 Data Abstraction and Encapsulation
2.5 Merits and Demerits of Object Oriented Programming Language
2.6 Applications of Object Oriented Programming
2.7 Differences Between Popular Programming Languages
3 Basics of Python Programming
3.1 Features of Python
3.2 History of Python
3.3 The Future of Python
3.4 Writing and Executing First Python Program
3.5 Literal Constants
3.5.1 Numbers
3.5.2 Strings
3.6 Variables and Indentifiers
3.7 Data Types
3.7.1 Assigning or Initializing Values to Variables
3.7.2 Multiple Assignment
3.7.3 Multiple Statements on a Single Line
3.7.4 Boolean
3.8 Input Operation
3.9 Comments
3.10 Reserved Words
3.11 Indentation
3.12 Operators and Expressions
3.12.1 Arithmetic Operators
3.13.2 Comparison Operators
3.12.3 Assignment and In-place or Shortcut Operators
3.12.4 Unary Operators
3.12.5 Bitwise Operators
3.12.6 Shift Operators
3.12.7 Logical Operators
3.12.8 Membership Operators
3.12.9 Identity Operators
3.12.10 Operators Precedence and Associativity
3.13 Expressions in Python
3.14 Operations on Strings
3.14.1 Concatenation
3.14.2 Multiplication (or String Repetition)
3.14.3 Slice a String
3.15 Other Data Types
3.15.1 Tuples
3.15.2 Lists
3.15.3 Dictionary
3.16 Type Conversion
Annexure 2 - Installing Python
Annexure 3 - Comparison between Python 2.x and Python 3.x Versions
Annexure 4 - Testing and Debugging
4 Decision Control Statements
4.1 Introduction to Decision Control Statements
4.2 Selection/Conditional Branching Statements
4.2.1 if Statement
4.2.2 if-else Statement
4.2.3 Nested if Statements
4.2.4 if-elif-else Statement
4.3 Basic Loop Structures/ Iterative Statements
4.3.1 while loop
4.3.2 for Loop
4.3.3 Selecting an appropriate loop
4.4 Nested Loops
4.5 The break Statement
4.6 The continue Statement
4.7 The pass Statement
4.8 The else Statement used with Loops
Case Study 1 - Simple Calculator
Case Study 2 - Generating a Calendar
5 Functions and Modules
5.1 Introduction
5.1.1 Need for Functions
5.2 Function Declaration and Definition
5.3 Function Definition
5.4 Function Call
5.4.1 Function Parameters
5.5 Variable Scope and Lifetime
5.5.1 Local and Global Variables
5.5.2 Using the Global Statement
5.5.3 Resolution of Names
5.6 The return statement
5.7 More on Defining Functions
5.7.1 Required Arguments
5.7.2 Keyword Arguments
5.7.3 Default Arguments
5.7.4 Variable-length Arguments
5.8 Lambda Functions or Anonymous Functions
5.9 Documentation Strings
5.10 Good Programming Practices
5.11 Recursive Functions
5.11.1 Greatest Common Divisor
5.11.2 Finding Exponents
5.11.3 The Fibonacci Series
5.11.4 Recursion vs Iteration
5.12 Modules
5.12.1 The fromaimport statement
5.12.2 Name of Module
5.12.3 Making your own Modules
5.12.4 The dir() function
5.12.5 The Python Module
5.12.6 Modules and Namespaces
5.13 Packages in Python
5.14 Standard Library modules
5.15 Globals(), Locals(), and Reload()
5.16 Function Redefinition
Annexure 5 - Functions as Objects
Case Study 3 - Tower of Hanoi
Case Study 4 - Shuffling a Deck of Cards
6 Python Strings Revisited
Introduction
6.1 Concatenating, Appending, and Multiplying Strings
6.2 Strings are Immutable
6.3 String Formatting Operator
6.4 Built-in String Methods and Functions
6.5 Slice Operation
6.5.1 Specifying Stride While Slicing Strings
6.6 ord() and chr() Functions
6.7 in and not in operators
6.8 Comparing Strings
6.9 Iterating String
6.10 The String Module
6.11 Regular Expressions
6.11.1 The match() Function
6.11.2 The search() Function
6.11.3 The sub() Function
6.11.4 The findall() and finditer() Functions
6.11.5 Flag Options
6.12 Metacharacters in Regular Expression
6.12.1 Character Classes
6.12.2 Groups
6.12.3 Application of Regular Expression to Extract Email
7 File Handling
7.1 Introduction
7.2 File Path
7.3 Types of Files
7.3.1 ASCII Text Files
7.3.2 Binary Files
7.4 Opening and Closing Files
7.4.1 The open() Function
7.4.2 The File Object Attributes
7.4.3 The close() Method
7.5 Reading and Writing Files
7.5.1 write() and writelines() Methods
7.5.2 append() Method
7.5.3 The read() and readline() Methods
7.5.4 Opening Files using with Keyword
7.5.5 Splitting Words
7.5.6 Some Other Useful File Methods
7.6 File Positions
7.7. Renaming and Deleting Files
7.8 Directory Methods
7.8.1 Methods from the os Module
Case Study 5 - Creating a Hash File (or a message digest of a file)
Case Study 6 - Mail Merge Program
Case Study 7 - Finding Resolution of an Image
8 Data Structures
8.1 Sequence
8.2 Lists
8.2.1 Access Values in Lists
8.2.2 Updating Values in Lists
8.2.3 Nested Lists
8.2.4 Cloning Lists
8.2.5 Basic List Operations
8.2.6 List Methods
8.2.7 Using Lists as Stack
8.2.8 Using Lists as Queues
8.2.9 List Comprehensions
8.2.10 Looping in Lists
8.3 Functional Programming
8.3.1 filter() Function
8.3.2 map() Function
8.3.3 reduce() Function
8.4 Tuple
8.4.1 Creating Tuple
8.4.2 Utility of Tuples
8.4.3 Accessing Values in a Tuple
8.3.4 Updating Tuple
8.4.5 Deleting Elements in Tuple
8.4.6 Basic Tuple Operations
8.4.7 Tuple Assignment
8.4.8 Tuples for Returning Multiple Values
8.3.9 Nested Tuples
8.4.10 Checking the Index: index() method
8.4.11 Counting the Elements: count()Method
8.4.12 List Comprehension and Tuples
8.4.13 Variable-length Argument Tuples
8.4.14 The zip() Function
8.4.16 Advantages of Tuple over List
8.5 Sets
8.5.1 Creating a Set
8.6 Dictionaries
8.6.1 Creating a Dictionary
8.6.2 Accessing Values
8.6.2 Adding and Modifying an Item in a Dictionary
8.6.3 Modifying an Entry
8.6.4 Deleting Items
8.6.5 Sorting Items in a Dictionary
8.6.6 Looping over a Dictionary
8.6.7 Nested Dictionaries
8.6.8 Built-in Dictionary Functions and Methods
8.6.9 Difference between a List and a Dictionary
8.6.10 String Formatting with Dictionaries
8.6.11 When to use which Data Structure?
8.6.12 List vs Tuple vs Dictionary vs Set
Annexure 6 - Iterator and Generator
9 Classes and Objects
9.1 Introduction
9.2 Classes and Objects
9.2.1 Defining Classes
9.2.2 Creating Objects
9.2.3 Data Abstraction and Hiding through Classes
9.3 Class Method and self Argument
9.4 The __init__() Method (The Class Constructor)
9.5 Class Variables and Object Variables
9.6 The __del__() Method
9.7 Other Special Methods
9.8 Public and Private Data Members
9.9 Private Methods
9.10 Calling a Class Method from Another Class Method
9.11 Built-in Functions to Check, Get, Set, and Delete Class Attributes
9.12 Built-in Class Attributes
9.13 Garbage Collection (Destroying Objects)
9.14 Class Methods
9.15 Static Methods
Annexure 7 - Getters, Setters, @property, and @deleter
10 Inheritance
10.1 Introduction
10.2 Inheriting Classes in Python
10.2.1 Polymorphism and Method Overriding
10.3 Types of Inheritance
10.3.1 Multiple Inheritance
10.3.2 Multi-level Inheritance
10.3.3 Multi-path Inheritance
10.4 Composition or Containership or Complex Objects
10.5 Abstract Classes and Interfaces
10.6 Metaclass
11 Operator Overloading
11.1 Introduction
11.1.1 Concept Of Operator Overloading
11.1.2 Advantage of Operator Overloading
11.2 Implementing Operator Overloading
11.3 Reverse Adding
11.4 Overriding __getitem__() and __setitem__() Methods
11.5 Overriding the in Operator
11.6 Overloading Miscellaneous Functions
11.7 Overriding the __call__() Method
12 Error and Exception Handling
12.1 Introduction to Errors and Exceptions
12.1.1 Syntax Errors
12.1.2 Logic Error
12.1.3 Exceptions
12.2 Handling Exceptions
12.3 Multiple Except Blocks
12.4 Multiple Exceptions in a Single Block
12.5 Except Block Without Exception
12.6 The else Clause
12.7 Raising Exceptions
12.8 Instantiating Exceptions
12.9 Handling Exceptions in Invoked Functions
12.10 Built-in and User-defined Exceptions
12.11 The finally Block
12.12 Pre-defined Clean-up Action
12.13 Re-raising Exception
12.14 Assertions in Python
Case Study 8 - Compressing String and Files
Appendix A - Multi-threading
Appendix B - GUI Programming with tkinter Package
Appendix C - Simple Graphics Using Turtle
Appendix D - Plotting Graphs in Python
Appendix E - CGI/Web Programming Using Python

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program