Course Plan
A. Course Handout
Institute/School Name Chitkara University Institute of Engineering and Technology
Department Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering (B.E.), Computer Science & Engineering
Problem Solving using Python Session 2022-2023
Course Name
Programming
Course Code CS22001 Semester/Batch 1st/2022
L-T-P (Per Week) 4-0-4 Course Credits 06
Course Coordinator Dr. Renu Popli
1. Objectives of the Course
Python is an open-source, high-level, dynamically-typed, portable, expressive, easy to learn, and well known
programming language. Python is available as an open-source offerring and is associated with large global
community support. Top companies such as Google, Yahoo!, Pinterest, Disney, Nokia, IBM have python as one
of their main programming language. This course provides a wide scope of learning & understanding of python
programming . The main objectives of the course are:
To understand about writing algorithms and step by step approach in solving problems.
To understand the basics of python in order to solve any problem(s).
Design and implementation of logic building programs using python constructs.
To understand concepts of searching and sorting techniques.
Design and develop real time python project.
2. Course Learning Outcomes
Student should be able to:
Course Outcome POs CL KC Sessions
Understand python lexical PO1,PO3,PO10 K2 Factual 24
CLO01 features, structures and flow Conceptual
control for logic building.
CLO02 Apply decision statements and PO1,PO2,PO3,PO4,PO12 K3 Fundamental 22
loops in python to solve Conceptual
complex problems.
CLO03 Implement functions and pass PO3,PO5,PO12 K3 Conceptual 22
arguments in python. Procedural
CLO04 Use indexing and slicing to PO2,PO3,PO5,PO9,PO11,PO12 K3 Conceptual 16
access data in python Procedural
programs.
CLO05 Apply features of lists, tuples, PO5,PO11, PO12 K3 Conceptual 12
and dictionaries to create Procedural
solutions for real world
problems.
CLO06 Develop projects using python PO3,PO5,PO7,PO10,PO11,PO12 K3 Procedural 12
programming. Fundamental
Design Principles
Total Contact Hours 108
Problem Solving using Python Programming / CS22001 Page 1 of 7
Course Plan
Revised Bloom’s Taxonomy Terminology
*Cognitive Level =CL
*Knowledge Categories = KC
Course PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Learning
Outcomes
CLO01 H H L
CLO02 H H H M L
CLO03 H L M
CLO04 H H M
CLO05 H H M M H M
CLO06 H H M H M L
H=High, M=Medium, L=Low
3. ERISE Grid Mapping
Feature Enablement Level(1-5, 5 being highest)
Entrepreneurship 2
Research 4
Innovation 3
Skills 5
Employability 4
4. Recommended Books:
B01: Thareja, Reema, ”Python Programming: Using Problem Solving Approach”. Oxford University
Press c2017.
B02: Zed A.Shaw,”Learn python the hard way”, Pearson publications, 3rd edition
B03: Budd, Timothy A., “Exploring Python”, MacGraw Hill Education c2017.
B04: David Beazley & Brian K. Jones, “Python Cookbook: Recipes for Mastering Python 3”, O’Reilly
Media, 3rd Edition.
B05: Allen B. Downney, “Think Python”, O’Reilly Media, 3rd Edition.
B06: Ravichandran, R.Saravanan, “Learn to Master Python”, Staredu Solution, c2018.
5. Other readings and relevant websites:
Serial No Link of Journals, Magazines, websites and Research Papers
1. https://www.codingninjas.com/
2. https://www.python.org/
Problem Solving using Python Programming / CS22001 Page 2 of 7
Course Plan
3. https://learnpython.org/
4. https://www.codecademy.com/learn/python
5. http://www.pyschools.com/
6. https://www.codementor.io/learn-python-online
6. Recommended Tools and Platforms
Python 3 IDLE, Anaconda 3 (Jupyter notebook 3.6.0), Google collab, CodingNinjas(online platform)
7. Course Plan:
Session No. Topic(s) Associated Coding
Ninjas Modules
1-4 Computer programming - basics, main ingredients in the Flow-Chart
programming process, Introduction to logic building, pseudo codes
and flowcharts.
5-8 Anaconda Installation, Running Python Programs , Writing Python Introduction to Python
Scripts with Jupyter Notebook.
9-12 Python Basics: Print statements, comments, simple input/output, Introduction to Python
output formatting.
TEST 1
13-20 Fundamentals: Variables(simple, assigning multiple values, output Introduction to Python
variables, global/local variables), Data types(text type, numeric,
sequence, mapping, set), Blocks, indentation and Syntax Rules ,
Operators and Expressions (ALL types), Assignment Statements ,
Expression Statements , Multiway Branching, casting.
21-28 Conditional Statements(if, elif, else), Looping(for, while), match Conditionals and Loops
statement, concept of nested looping.
TEST 2
29-34 Pattern1
Pattern Designs
Pattern2
35-40 For loop and range method, Break, continue and pass. More on loops
41-50 Defining and calling Functions, Type of arguments( required, Functions
keyword, default, variable length), Scope Rules(Global/local
Statements), Passing Arguments(call by value/call by reference),
Recursive Functions, Lambda Expressions.
51-60 Array/Lists: Introduction to Lists, Operations on Lists, Storage Array and Lists
Structure, Resizing and Looping on Lists, Indexing and Slicing,
Passing variables through Functions, passing Lists through
Functions.
ST 1
61-66 Two Dimensional Lists: Introduction and Storage, Jagged Lists, List 2 D Lists
Comprehension.
67-76 Strings and its relative methods and properties: Concatenation, Strings
Slicing, Iterating on strings, Comparison Operators.
77-86 Tuples, Set and Dictionaries- Introduction, methods and its relative Tuples, Set and
properties Dictionaries
ST 2
87-90 Modules: Creating Modules, Variables in Modules, Imports and Handouts will be
Attributes, Namespaces , Reloading, Built in modules, Generating provided
Random values.
Problem Solving using Python Programming / CS22001 Page 3 of 7
Course Plan
91-100 Searching & Sorting: Linear Search, Binary Search, Sorting: Bubble Searching and sorting
Sort, Selection sort, Insertion Sort and Merge Sort.
101-108 Handouts will be
Files and Directories, File I/O, File positioning, File operators
provided
End Term Exam
8. Delivery/Instructional Resources
Lecture No. Topics Web References Audio-Video
1-4 Computer programming - https://classroom.codingninja https://nptel.ac.in/courses/10610
basics, main ingredients in s.com/app/classroom/me/209 6182
the programming process, 26/content/430930/offering/6
231267 https://www.coursera.org/lecture
Introduction to logic
/python-genomics/lecture-1-
building, pseudocodes and
overview-of-python-5JEcj
flowcharts.
5-8 https://docs.anaconda.com/a https://nptel.ac.in/courses/10610
Anaconda Installation, naconda/navigator/tutorials/ 6182
Running Python Programs ,
Writing Python Scripts with
Jupyter Notebook.
9-12 https://classroom.codingninja https://nptel.ac.in/courses/10610
Python Basics: Print s.com/app/classroom/me/209 6182
statements, comments, 26/content/430931/offering/6
simple input/output, output 231280 https://nptel.ac.in/courses/10610
formatting. 6182
13-20 Fundamentals: https://classroom.codingninja https://www.coursera.org/lecture
Variables(simple, assigning s.com/app/classroom/me/209 /python-genomics/lecture-2-1-
multiple values, output 26/content/430931/offering/6 first-steps-toward-programming-
231281 part-1-GbYor
variables, global/local
variables), Data types(text
type, numeric, sequence,
mapping, set), Blocks,
indentation and Syntax
Rules , Operators and
Expressions (ALL types),
Assignment Statements ,
Expression Statements ,
Multiway Branching, casting.
Problem Solving using Python Programming / CS22001 Page 4 of 7
Course Plan
21-40 Conditional Statements(if, https://classroom.codingninja https://nptel.ac.in/courses/10610
elif, else), Looping(for, s.com/app/classroom/me/209 6182
while), match statement, 26/content/430932/offering/6
231302 https://nptel.ac.in/courses/10610
concept of nested looping,
6182
Pattern Designs, For loop and
https://classroom.codingninja
range method, Break, s.com/app/classroom/me/209 https://nptel.ac.in/courses/10610
continue and pass. 26/content/430933/offering/6 6182
231325
https://classroom.codingninja
s.com/app/classroom/me/209
26/content/430934/offering/6
231339
41-50 Defining and calling https://classroom.codingninja https://www.coursera.org/lecture
Functions, Type of s.com/app/classroom/me/209 /python-genomics/lecture-5-1-
arguments( required, 26/content/430936/offering/6 functions-part-1-5-54-PGXxZ
231369
keyword, default, variable
https://www.coursera.org/lecture
length), Scope
/python-genomics/lecture-5-2-
Rules(Global/local functions-part-2-8-20-ylbSK
Statements), Passing
Arguments(call by value/call
by reference), Recursive
Functions, Lambda
Expressions.
51-60 Array/Lists: Introduction to https://classroom.codingninja https://nptel.ac.in/courses/10610
Lists, Operations on Lists, s.com/app/classroom/me/209 6182
Storage Structure, Resizing 26/content/430938/offering/6
and Looping on Lists, 231387
Indexing and Slicing, Passing
variables through
Functions, passing Lists
through Functions.
61-66 Two Dimensional Lists: https://classroom.codingninja https://www.coursera.org/lecture
Introduction and Storage, s.com/app/classroom/me/209 /practical-python-for-ai-coding--
Jagged Lists, List 26/content/430941/offering/6 preparation-for-coding/list-
231453 comprehensions-and-two-
Comprehension.
dimensional-lists-l9u14
67-76 Strings and its relative https://classroom.codingninja https://www.coursera.org/lecture
methods and properties s.com/app/classroom/me/209 /python-representation/python-
26/content/430940/offering/6 strings-bbBTs
231435
https://www.coursera.org/lecture
/python-data-analysis/python-
more-on-strings-HPh3O
77-86 Tuples, Set and Dictionaries- https://classroom.codingninja https://nptel.ac.in/courses/10610
introduction, methods and s.com/app/classroom/me/209 6182
its relative properties 26/content/430942/offering/6
231475
Problem Solving using Python Programming / CS22001 Page 5 of 7
Course Plan
87-90 Modules: Creating Modules, https://docs.python.org/3/tut https://www.coursera.org/lecture
Variables in Modules, orial/modules.html /python-genomics/lecture-6-
Imports and Attributes, modules-and-packages-10-32-
rejwK
Namespaces , Reloading,
Built in modules,
Generating Random values.
91-100 Searching & Sorting: Linear https://classroom.codingninja https://www.coursera.org/lecture
Search, Binary Search, s.com/app/classroom/me/209 /python-functions-files-
Sorting: Bubble Sort, 26/content/430939/offering/6 dictionaries/introduction-sorting-
231414 basics-9VWfX
Selection sort, Insertion Sort
and Merge Sort.
https://www.coursera.org/lecture
/practical-python-for-ai-coding--
preparation-for-coding/sorting-
and-searching-elements-m4LRp
https://www.coursera.org/lecture
/python-analysis/sorting-NMRah
101-108 Files and Directories, File I/O, https://python- https://www.coursera.org/lecture
File positioning, File course.eu/python-tutorial/file- /data-analytics-accountancy-
operators management.php 1/python-file-i-o-cSSim
https://docs.python.org/3/tut https://www.coursera.org/lecture
orial/inputoutput.html#readin /accounting-data-analytics-
g-and-writing-files python/5-1-python-file-io-R6L3h
9. Action plan for different types of learners
Slow Learners Average Learners Fast Learners
Remedial Classes, Doubt Sessions, Workshop, Doubt Session Coding Competitions,
Guided Tutorials Project
10. Evaluation Scheme & Components:
Evaluation No. of Weightage of Mode of
Type of Component
Component Assessments Component Assessment
Component 1 Lab Evaluations 02* 30% Offline
Component 2 Sessional Tests (STs) 02** 20% Offline
Component 3 End Term Examination 01*** 50% Offline
Total 100%
* Lab Evaluation is mandatory evaluation taken twice in a semester, one will be considered as mid term evaluation and another one will
be final evaluation based on developed project.
** Out of 02 STs, the ERP system automatically picks the best 01 ST.
***It is mandatory to complete Coding Ninja Modules and Tests. Further, as per Academic Guidelines minimum 75% attendance is
required to become eligible for appearing in the End Semester Examination.
#NPTEL Online Certification Courses (https://onlinecourses.nptel.ac.in/), Dean’s Medal of Honor for Certified Students (OPTIONAL).
Problem Solving using Python Programming / CS22001 Page 6 of 7
Course Plan
11. Syllabus of the Course:
Subject: Problem Solving using Python Programming
No. of Weightage
S.No. Topic (s)
Sessions %
1 Computer programming - basics, main ingredients in the programming 20 40%
process, Introduction to logic building, pseudo codes and flowcharts.
Anaconda Installation, Running Python Programs , Writing Python
Scripts with Jupyter Notebook. Python Basics: Print statements,
comments, simple input/output, output formatting. Fundamentals:
Variables(simple, assigning multiple values, output variables,
global/local variables), Data types(text type, numeric, sequence,
mapping, set), Blocks, indentation and Syntax Rules , Operators and
Expressions (ALL types), Assignment Statements , Expression
Statements , Multiway Branching, casting. Conditional Statements(if,
elif, else), Looping(for, while), match statement, concept of nested
looping. Pattern Designs. For loop and range method, Break, continue
and pass.
2 Defining and calling Functions, Type of arguments( required, keyword, 23 45%
default, variable length), Scope Rules(Global/local Statements),
Passing Arguments(call by value/call by reference), Recursive
Functions, Lambda Expressions. Array/Lists: Introduction to Lists,
Operations on Lists, Storage Structure, Resizing and Looping on Lists,
Indexing and Slicing, Passing variables through Functions, passing Lists
through Functions. Two Dimensional Lists: Introduction and Storage,
Jagged Lists, List Comprehension. Strings and its relative methods and
properties: Concatenation, Slicing, Iterating on strings, Comparison
Operators. Tuples, Set and Dictionaries- Introduction, methods and its
relative properties.
3 Modules: Creating Modules, Variables in Modules, Imports and 11 15%
Attributes, Namespaces , Reloading, Built in modules, Generating
Random values. Searching & Sorting: Linear Search, Binary Search,
Sorting: Bubble Sort, Selection sort, Insertion Sort and Merge Sort.
Files and Directories, File I/O, File positioning, File operators.
This Document is approved by:
Designation Name Signature
Course Coordinator Dr. Renu Popli
Head-Academic Delivery Ms. Navjeet Kaur
Dean Dr. Monit Kapoor
Date (DD/MM/YYYY) 27/09/2022
Problem Solving using Python Programming / CS22001 Page 7 of 7