Friday, 16 August 2019

First year Engineering 110005: Programming and Problem Solving

 
110005: Programming and Problem Solving

Teaching Scheme: TH: 03 Hrs/Week PR :02 Hrs/Week Credits 04

Examination Scheme: In-Semester:  30 Marks End-Semester:  70 Marks PR: 25 Marks

Prerequisite Courses, if any: students are expected to have a good understanding of basic computer principles.

Companion Course, if any: Programming and Problem-Solving Laboratory (110005)

Course Objectives: Prime objective is to give students a basic introduction to programming and problem solving with computer language Python. And to introduce students not merely to the coding of computer programs, but to computational thinking, the methodology of computer programming, and the principles of good program design including modularity and encapsulation. 

1. To understand problem solving, problem solving aspects, programming and to know about various program design tools.

2. To learn problem solving with computers   

3. To learn basics, features and future of Python programming. 

4. To acquaint with data types, input output statements, decision making, looping and functions in Python

5. To learn features of Object-Oriented Programming using Python

6. To acquaint with the use and benefits of files handling in Python Following Fields are applicable for courses with companion Laboratory course.



Course Outcomes: On completion of the course, learner will be able to–

CO1: Inculcate and apply various skills in problem solving.

CO2: Choose most appropriate programming constructs and features to solve the problems in diversified domains.

CO3: Exhibit the programming skills for the problems those require the writing of well documented programs including use of the logical constructs of language, Python.

CO4: Demonstrate significant experience with the Python program development environment.

Course Contents

Unit I- Problem Solving, Programming and Python Programming (07 Hrs)

General Problem-Solving Concepts- Problem solving in everyday life, types of problems, problem solving with computers, difficulties with problem solving, problem solving aspects, top down design. Problem Solving Strategies, Program Design Tools: Algorithms, Flowcharts and Pseudo-codes, implementation of algorithms. Basics of Python Programming:  Features of Python, History and Future of Python, Writing and executing Python program, Literal constants, variables and identifiers, Data Types, Input operation, Comments, Reserved words, Indentation, Operators and expressions, Expressions in Python.

Unit II - Decision Control Statements (08 Hrs)

Decision Control Statements: Decision control statements, Selection/conditional branching Statements: if, if-else, nested if, if-elif-else statements. Basic loop Structures/Iterative statements: while loop, for loop, selecting appropriate loop. Nested loops, the break, continue, pass, else statement used with loops. Other data types- Tuples, Lists and Dictionary.

Unit III - Functions and Modules (08 Hrs)

Need for functions, Function: definition, call, variable scope and lifetime, the return statement.  Defining functions, Lambda or anonymous function, documentation string, good programming practices. Introduction to modules, Introduction to packages in Python, Introduction to standard library modules.

Unit IV - Strings (07 Hrs)

Strings and Operations- concatenation, appending, multiplication and slicing. Strings are immutable, strings formatting operator, built in string methods and functions. Slice operation, ord() and chr() functions, in and not in operators, comparing strings, Iterating strings, the string module.

Unit V - Object Oriented Programming (08 Hrs)

Programming Paradigms-monolithic, procedural, structured and object oriented, Features of   Object-oriented programming-classes, objects, methods and message passing, inheritance, polymorphism, containership, reusability, delegation, data abstraction and encapsulation.      Classes and Objects: classes and objects, class method and self-object, class variables and object variables, public and private members, class methods.

Unit VI - File Handling and Dictionaries (07 Hrs)

Files: Introduction, File path, Types of files, Opening and Closing files, Reading and Writing files. Dictionary method. Dictionaries- creating, assessing, adding and updating values.   

Case Study: Study design, features, and use of any recent, popular and efficient system developed using Python. (This topic is to be excluded for theory examination).

Text Books:

1. Reema Thareja, “Python Programming Using Problem Solving Approach”, Oxford University Press, ISBN 13: 978-0-19-948017-6 2. R. Nageswara Rao, “Core Python Programming”, Dreamtech Press; Second edition ISBN10: 938605230X, ISBN-13: 978-9386052308 ASIN: B07BFSR3LL

Reference Books:

1. R. G. Dromey, “How to Solve it by Computer”, Pearson Education India; 1st edition, ISBN10: 8131705625, ISBN-13: 978-8131705629 Maureen Spankle, “Problem Solving and Programming Concepts”, Pearson; 9th edition, ISBN-10: 9780132492645, ISBN-13: 9780132492645

2. Romano Fabrizio, “Learning Python”, Packt Publishing Limited, ISBN: 9781783551712, 1783551712

3. Paul Barry, “Head First Python- A Brain Friendly Guide”, SPD O’Reilly, 2nd Edition, ISBN:978-93-5213-482-3

4. Martin C. Brown, “Python: The Complete Reference”, McGraw Hill Education, ISBN-10: 9789387572942, ISBN-13: 978-9387572942, ASIN: 9387572943

5. Jeeva Jose, P. Sojan Lal, “Introduction to Computing & Problem Solving with Python”, Khanna Computer Book Store; First edition, ISBN-10: 9789382609810, ISBN-13: 9789382609810


No comments:

Post a Comment