0% found this document useful (0 votes)
17 views2 pages

Computer Programming Problem Solving

This document outlines the objectives, outcomes, and units of a course on problem-solving in computer programming. The objectives are for students to acquire Python programming skills, understand programming basics like data types and control structures, and apply these concepts. Upon completing the course, students will be able to develop algorithmic solutions, write Python programs using conditionals and loops, decompose programs into functions, and represent compound data. The 5 units cover fundamentals of computing, data types, control flow and functions, lists/tuples/dictionaries/sets, and files/modules/packages. Textbooks and references are also listed.

Uploaded by

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

Computer Programming Problem Solving

This document outlines the objectives, outcomes, and units of a course on problem-solving in computer programming. The objectives are for students to acquire Python programming skills, understand programming basics like data types and control structures, and apply these concepts. Upon completing the course, students will be able to develop algorithmic solutions, write Python programs using conditionals and loops, decompose programs into functions, and represent compound data. The 5 units cover fundamentals of computing, data types, control flow and functions, lists/tuples/dictionaries/sets, and files/modules/packages. Textbooks and references are also listed.

Uploaded by

punamd031
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Problem - Solving in Computer Programming

Course Objectives-The students should be able to:

1. Acquire programming skills using Python or equivalent.


2. Understand the programming basics (operations, control structures, data types, etc.)
3. Readily use the Python or equivalent programming language
4. Apply various data types and control structure
5. Understand and begin to implement code

Course Outcomes:

Upon completion of the course, students will be able to:


CO1: Develop algorithmic solutions to simple computational problems.
CO2: Write simple Python or equivalent programs using conditionals and looping for solving
problems.
CO3: Decompose a Python or equivalent program into functions.
CO4: Represent compound data using Python or equivalent domains.

UNIT 1
Fundamentals of Computing – Identification of Computational Problems -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).

UNIT 2
Data types, Expressions, Statements - Interpreter and interactive mode, debugging; values and
types: int, float, boolean, string, and list; variables, expressions, statements, tuple assignment,
precedence of operators, comments.

UNIT 3
Control Flow, Functions, Strings - Conditionals: Boolean values and operators, conditional
(if), alternative (if-else), chained conditional (if-elif-else); Iteration: state, while, for, break,
continue, pass; return values, parameters, local and global scope, function composition,
recursion; Strings: string slices, immutability, string functions and methods, string module; Lists
as arrays.

UNIT 4
Lists, Tuples, Dictionaries, Sets - 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, operations
on sets.

HOD CSE Dean Academics


UNIT 5
Files, Modules, Packages - Files and exception: text files, reading and writing files, errors and
exceptions, handling exceptions, modules, packages, standard libraries.

Text Books:
1. Fluent Python: Clear, Concise, and Effective Programming (1st Edition)
2. Burkhard A. Meier Packet “Python GUI Programming Cookbook: 1st Edition, 2015

Reference Books:
1. Allen Downey “Think Python” O’Reilly 1st 2012
2. Thomas Erl, Zaigham Mahmood, and Ricardo “An Introduction to Computer Science using
Python” 3 SPD 1st 2014
3. E. Balagurusamy “Introduction to Problem Solving with Python” TMH 1st 2015
4. Jake VanderPlas, “Python Data Science Handbook: Essential Tools for Working with Data”,
1st Edition, O'Reilly Media, 2016. ISBN-13: 978-1491912058
5. Aurelien Geron, “Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts,
Tools, and Techniques to Build Intelligent Systems”, 2nd Edition, O’Reilly Media, 2019. ISBN –
13: 978-9352139057.

NPTEL: [Link]

HOD CSE Dean Academics

Common questions

Powered by AI

Immutability in strings means their values cannot be altered once created, impacting how strings are manipulated in Python. To work with strings, methods like slicing, concatenation, and using string functions like split(), join(), and find() are employed. This approach ensures strings can be manipulated safely without unintended mutations affecting program data flow .

Understanding data types, expressions, and statements is crucial as they form the foundational elements of programming. They help students grasp how different data types such as int, float, boolean, string, and lists function, and how variables, expressions, and statements are composed in code. This knowledge is key in performing operations, debugging, and achieving desired program behaviors .

The course covers debugging strategies involving using the interpreter and interactive modes to isolate and examine errors in Python programs. Techniques such as examining variables, breaking down complex expressions, and systematic error checking are applied to understand and fix programming issues effectively .

Lists are mutable and allow operations and slicing, useful for sequential collections of items. Tuples are immutable, often used where a static set of items is needed. Dictionaries provide key-value pair management, useful for fast lookups. Sets support operations like union and intersection, ideal for mathematical set operations and eliminating duplicates. The choice depends on data manipulation requirements .

Exception handling in Python is critical for developing robust programs as it allows graceful response to runtime errors without crashing. By using try-except blocks, programs can handle exceptions, provide meaningful error messages, or execute fallback code, ensuring stability and reliability across different execution paths and input scenarios .

Modules and packages in Python enhance programming by providing a way to organize code. Modules encapsulate related functions and classes, aiding code reusability and organization. Packages allow logical grouping of modules, simplifying dependency management and distribution. This enhances maintainability, scalability and facilitates sharing and collaboration in Python projects .

Functions in Python encapsulate code, enabling modular design and program decomposition. They promote code reuse, simplify debugging, and allow abstraction, making programs easier to manage and understand. Function aspects such as parameters, local and global scope, and return values provide precise control over data flow and logic execution .

The process of developing algorithmic solutions involves identifying computational problems, using algorithms with building blocks like statements, state, control flow, and functions. Various strategies for developing algorithms are highlighted, including iteration and recursion. Notations such as pseudo code and flowchart are used for algorithm representation, laying the foundational steps in algorithmic problem-solving .

Conditionals in Python, such as if, if-else, and if-elif-else, allow branching based on Boolean values, facilitating decision-making processes. Iteration constructs like while and for loops enable repeated execution of code blocks, which is crucial for handling repetitive tasks. These constructs together provide comprehensive control flow mechanisms, enabling dynamic and conditional execution paths in programs .

Students are expected to acquire programming skills using Python, understand programming basics like operations and control structures, and use Python effectively. Specific outcomes include developing algorithmic solutions to computational problems, writing programs with conditionals and loops, decomposing programs into functions, and representing compound data. These are aligned with objectives such as applying data types, control structures, and understanding code implementation .

You might also like