GE 8151 Problem Solving and Python Programming Syllabus and Lesson Plan(PSP)
GE 8151
PROBLEM SOLVING AND PYTHON PROGRAMMING
L T P C
3 0 0 3
OBJECTIVES:
·To know the basics of algorithmic problem solving
·To read and write simple Python programs.
·To develop Python programs with conditionals and loops.
·To define Python functions and call them.
·To use Python data structures –- lists, tuples,
dictionaries.
·To do input/output with files in Python
UNIT
I
ALGORITHMIC
PROBLEM SOLVING
9
Algorithms, building blocks of algorithms (statements,
state, control flow, functions), notation (pseudo code, flow chart,
programming language), algorithmic problem
solving, simple strategies for developing algorithms
(iteration, recursion). Illustrative problems: find minimum in a list, insert a
card in a list of sorted cards, guess an integer number in a range, Towers of
Hanoi.
UNIT
II DATA,
EXPRESSIONS,STATEMENTS 9
Python interpreter and interactive
mode; values and types: int, float,
boolean, string, and list; variables, expressions,
statements, tuple assignment, precedence of operators, comments; modules
and functions, function definition and use, flow of execution, parameters and
arguments; Illustrative programs: exchange the values of two variables,
circulate the values of n variables, distance between two points.
UNIT
III CONTROL
FLOW,FUNCTIONS 9
Conditionals: Boolean values and operators, conditional
(if), alternative (if-else), chained conditional (if-elif-else); Iteration:
state, while, for, break, continue, pass; Fruitful functions: return values,
parameters, local and global scope, function
composition, recursion; Strings:
string slices, immutability, string functions and
methods, string module; Lists as arrays. Illustrative
programs: square root, gcd, exponentiation, sum an array of numbers,
linear search, binary search.
UNIT IV
LISTS, TUPLES, DICTIONARIES 9
Lists: list operations, list slices, list methods, list
loop, mutability, aliasing, cloning lists, list parameters; Tuples: tuple
assignment, tuple as return value; Dictionaries: operations and methods;
advanced list processing – list comprehension; Illustrative programs: selection
sort, insertion sort, mergesort, histogram.
UNIT
V FILES,
MODULES,PACKAGES 9
Files and exception: text files, reading and writing
files, format operator; command line arguments, errors and exceptions, handling
exceptions, modules, packages; Illustrative programs: word count, copy file.
OUTCOMES:
Upon completion of the course, students will be able to
·Develop algorithmic solutions to simple computational
problems
·Read, write, execute by hand simple Python programs.
·Structure simple Python programs for solving problems.
·Decompose a Python program into functions.
·Represent compound data using Python lists, tuples, and
dictionaries.
·Read and write data from/to files in Python Programs.
TOTAL
: 45 PERIODS
TEXT BOOKS:
1.
Allen B.
Downey, “Think Python: How to Think Like a Computer Scientist‘‘, 2nd edition,
Updated for Python 3, Shroff/O‘Reilly Publishers, 2016 (http://greenteapress.com/wp/think- python/)
2.
Guido van
Rossum and Fred L. Drake Jr, ―An Introduction to Python – Revised and updated
for Python 3.2, Network Theory Ltd., 2011.
REFERENCES:
1.
John V
Guttag, ―Introduction to Computation and Programming Using Python‘‘, Revised
and expanded Edition, MIT Press , 2013
2.
Robert
Sedgewick, Kevin Wayne, Robert Dondero, ―Introduction to Programming in
Python:An Inter-disciplinary Approach, Pearson India Education Services Pvt.
Ltd., 2016.
3.
Timothy
A. Budd, ―Exploring Python‖, Mc-Graw Hill
Education (India) Private Ltd.,, 2015.
4.
Kenneth
A. Lambert, ―Fundamentals of Python: First Programs‖, CENGAGE Learning, 2012.
5.
Charles
Dierbach, ―Introduction to Computer Science using Python: A Computational
Problem- Solving Focus, Wiley India Edition, 2013.
6.
Paul
Gries, Jennifer Campbell and Jason Montojo, ―Practical Programming: An
Introduction to Computer Science using Python 3‖, Second edition, Pragmatic Programmers, LLC,
2013.
LESSON PLAN
S. No
|
Date
Planned
|
No of
periods required
|
Topic to
be covered
|
Book /
Page No
|
Delivery
Methods
|
Select the
ICT Blending code
|
Actual
Date of
Completion
|
Remarks
|
||||||||||
UNIT
: I –
ALGORITHMIC PROBLEM SOLVING
|
||||||||||||||||||
1
|
1
|
Introduction to algorithms
|
R4/69
|
A
|
G
|
|||||||||||||
2
|
1
|
Building blocks of algorithmsInstructions/Statements,State,
Control flow, Functions
|
R4/74
|
A,
|
G
|
|||||||||||||
3
|
1
|
Notations- Pseudo code, Flowchart,Programming language
|
R4/70
|
A
|
G
|
|||||||||||||
4
|
1
|
Notations- Pseudo code, Flowchart,Programming language
|
R4/70
|
A
|
G
|
|||||||||||||
5
|
1
|
Steps in algorithmic problem solving
|
R4/68
|
A
|
G
|
|||||||||||||
6
|
1
|
Iterative and recursive strategies for developing algorithm
|
R4/74
|
A
|
G
|
|||||||||||||
7
|
1
|
Algorithm to find minimum in a list
|
T1/118
|
A
|
I
|
|||||||||||||
8
|
1
|
Algorithm to Insert a card in a list of sorted cards
|
T1/92
|
A
|
I
|
|||||||||||||
9
|
1
|
Algorithm to Guess an integer number in a range, Towers of Hanoi
|
T1/
93
|
A
|
I
|
|||||||||||||
UNIT : II
DATA, EXPRESSIONS, STATEMENTS
|
||||||||||||||||||
10
|
1
|
Running python , Python interpreter and interactive mode
|
T1/02
|
A
|
G
|
|||||||||||||
11
|
1
|
Values and types: int,float, Booleans, strings and lists
|
T1/04
|
A
|
G
|
|||||||||||||
12
|
1
|
Variables,ExpressionsDefining and its usage
|
T1/09
|
A
|
G
|
|||||||||||||
13
|
1
|
Statements, tuple assignment- Defining and its usage
|
T1/10
|
A
|
G
|
|||||||||||||
14
|
1
|
Precedence of Operators,Comments
|
T1/12
|
A
|
G
|
|||||||||||||
15
|
1
|
Function calls,Composition,Definition and uses
|
T1/17
|
A
|
G
|
|||||||||||||
16
|
1
|
flow of execution, parameters and arguments in functions
|
T1/21
|
A
|
G
|
|||||||||||||
17
|
1
|
Program to exchange the values of two variables
|
T1/116
|
A
|
I
|
|||||||||||||
18
|
1
|
Program to Circulate the values of n variables and test for leap
year
|
T1/60
|
A
|
I
|
|||||||||||||
UNIT : III CONTROL
FLOW, FUNCTIONS
|
||||||||||||||||||
19
|
1
|
Chained and nested conditionals
|
T1/39
|
A
|
G
|
|||||||||||||
20
|
1
|
If, if-else, if-elif-else - illustration with examples
|
T1/40
|
A
|
G
|
|||||||||||||
21
|
1
|
While,for,break,continue,pas s,fruitful functions - illustration
with examples
|
T1/64
|
A
|
G
|
|||||||||||||
22
|
1
|
While,for,break,continue,pas s,fruitful functions - illustration
with examples
|
T1/64
|
A
|
G
|
|||||||||||||
23
|
1
|
Local and global variable scope, composition, recursion
|
T1/43
|
A
|
G
|
|||||||||||||
24
|
1
|
Strings definition, String slices, immutability, string functions
and methods
|
T1/73
|
A
|
G
|
|||||||||||||
25
|
1
|
String module, lists as arrays, Programs for finding square root
and gcd of numbers
|
T1/75
|
A
|
G
|
|||||||||||||
26
|
1
|
Program for Exponentiation
and sum an array of numbers
|
T1/3
|
A
|
G
|
|||||||||||||
27
|
1
|
Searching methods-linear and binary search with examples
|
R1/126
|
A
|
I
|
|||||||||||||
UNIT : IV
COMPOUND DATA-LISTS, TUPLES, DICTIONARIES
|
||||||||||||||||||
28
|
1
|
List definition, list operations, list slices, list methods, list
loop
|
T1/89
|
A
|
G
|
|||||||||||||
29
|
1
|
Mutability, aliasing, cloning, list parameters
|
T1/97
|
A,
|
G
|
|||||||||||||
30
|
1
|
Tuple definition, tuple assignment, tuple as return value
|
T1/115
|
G
|
||||||||||||||
31
|
1
|
Dictionaries definition, operations and methods
|
T1/103
|
A
|
G
|
|||||||||||||
32
|
1
|
Introduction to Advanced list processing
|
T1/184
|
A
|
G
|
|||||||||||||
33
|
1
|
List Comprehension
|
T1/184
|
A
|
G
|
|||||||||||||
34
|
1
|
Sorting techniques selection sort, insertion sort illustration
with examples
|
R1/132
|
A
|
I
|
|||||||||||||
35
|
1
|
Merge sort illustration with examples
|
R1/134
|
A
|
I
|
|||||||||||||
36
|
1
|
Quick sort illustration with examples
|
R1/135
|
A
|
I
|
|||||||||||||
UNIT : V
– FILES, MODULES ,PACKAGES
|
||||||||||||||||||
37
|
1
|
Introduction to files
|
T1/137
|
A
|
G
|
|||||||||||||
38
|
1
|
Reading and writing files, format operator
|
T1/138
|
A
|
G
|
|||||||||||||
39
|
1
|
Reading and writing files, format operator
|
T1/140
|
A
|
G
|
|||||||||||||
40
|
1
|
Command line arguments, Introduction to exception handling
|
T1/140
|
A
|
G
|
|||||||||||||
41
|
1
|
Command line arguments, Introduction to exception handling
|
T1/140
|
A
|
G
|
|||||||||||||
42
|
1
|
Catching exceptions, modules
|
T1/140
|
A
|
G
|
|||||||||||||
43
|
1
|
Catching exceptions, modules
|
T1/140
|
A
|
G
|
|||||||||||||
44
|
1
|
Packages-definition and usage
|
T1/140
|
A
|
G
|
|||||||||||||
45
|
1
|
Program to count number of words in a file and program to copy
contents of one file to another
|
T1/143
|
A
|
I
|
|||||||||||||
FACULTY INCHARGE HOD PRINCIPAL
Comments
Post a Comment