Course
No.

Course Name

LTPCredits

Year
of Introduction

BE10105

INTRODUCTION TO COMPUTING
AND PROBLEM SOLVING

2103

2015

Course
Objectives
1.
To learn basics of digital
computers
2.
To develop problem solving skills
3.
To learn programming and to solve
problems using computers


Syllabus
Introduction to digital computer, Introduction
to programming languages, Operating systems, Problem Solving strategies,
Examples for algorithms and flow charts, Introduction to Python
language, functions, parameters and arguments, Boolean Expressions,
logical operators and control statements Strings, lists, tuples and dictionaries, operations, Files,
introduction to objects, attributes and instances


Expected
outcome
1.
Ability to design algorithmic
solution to problems.
2.
Ability to convert algorithms to
Python programs.
3.
Ability to design modular Python programs using functions
4.
Ability to design programs with
Interactive Input and Output, utilizing arithmetic expression repetitions, decision
making, arrays.
5.
Ability to design programs using
file Input and Output.
6.
Ability to develop recursive
solutions.


Text
Books:
• Downey, A. et al., How to think like a Computer Scientist:
Learning with Python, John Wiley, 2015
•
Goel, A., Computer Fundamentals, Pearson
Education
• Lambert K. A., Fundamentals of Python  First Programs,
Cengage Learning India, 2015 • Rajaraman,
V., Computer Basics and C Programming, PrenticeHall India References Books:
•
Barry, P., Head First Python, , O’
Reilly Publishers
•
Dromy, R. G., How to solve it by
Computer, Pearson India
•
Guzdial, M. J., Introduction to Computing and
Programming in Python, Pearson India
•
Perkovic, L., Introduction to
Computing Using Python, 2/e, John Wiley, 2015
•
Sprankle , M., Problem Solving & Programming
Concepts, Pearson India
•
Venit, S. and Drake, E., Prelude
to Programming: Concepts & Design, Pearson India
•
Zelle, J., Python Programming: An
Introduction to Computer Science, Franklin, Beedle & Associates Inc.

Web
links:
•
https://archive.org/details/MIT6.00SCS11
•
https://www.coursera.org/course/pythonlearn


Course Plan


Module

Contents

Hours

Sem.
Exam
Marks

I

Introduction
to digital computer – Von Neumann concept – A simple model of computer,
acquisition of data, storage of data, processing of data, output of processed
data. Details of functional units of a computer. Storage – primary storage
and secondary storage.
(The
discussion should focus more on the functionalities of the units and their
interaction than on specific hardware details. However, concepts like memory
cells and their addressability (need not be binary), registers,
interconnections (buses) have to introduced at an abstract level. For storage
devices – primary and secondary –, various categories have to be introduced
along with their distinguishing features. For IO devices also, various
categories are to be introduced. The
Von Neumann concept should be effectively introduced. History computers need
not be taught. However, students have to be encouraged to read the relevant
sections of the text book. Chapters 1 – 4 of ‘Goel’ may be used to support
teaching learning.)
Introduction
to programming languages: types of programming
languages  high level language ,
assembly language and machine language, System software  Operating systems –
objectives of operating systems, compiler, assembler and interpreter.
(For
all the above topics, focus should be more on the concepts, significance and
objectives. Chapter 6 and 7 (up to 7.4) of ‘Goel’ may be used to support the
teachinglearning process.)

8

15%

II

Problem
Solving strategies – Problem analysis – formal definition of problem – Solution
– top down design – breaking a
problem into sub problems overview of the solution to the sub problems by
writing step by step procedure (algorithm)  representation of procedure by
flowchart  Implementation of algorithms – use of procedures to achieve
modularity. (For this part the instructor has to initially use suitable analogies
of real world problems to explain the concepts, before delving into
computersolvable problems.)
Examples for algorithms and flow charts  at least 10 problems (starting

8

15%


with
nonnumerical examples, and numeric problems like factorial, largest among
three numbers, largest among N, Fibonacci etc.;
to be introduced with progressive levels of difficulty) must be discussed
in detail. (Class assignments and/or tutorials may be
used to strengthen understanding of this part. Chapters 4 and 5 of the
‘Rajaraman’ may be used for the teachinglearning process.)





FIRST INTERNAL EXAM


III


Introduction
to Python – variables,
expressions and statements, evaluation of expressions, precedence, string
operations
(Note:
the instructor can demonstrate simple programs to the students and encourage
them to develop similar ones. In particular, before attempting programs
containing functions, the students should be given enough support and time to
develop python code containing long sequence of statements for the simple
flowcharts developed earlier. This will strengthen the students’
understanding of instruction sequencing. Chapters 1 and 2 of ‘Downey’ have to
be covered. Chapter 1 & 2 of ‘Lambert’ can also be used.) Control statements, Boolean expressions and
logical operators, conditional and alternative executions (Note:  Chapter 4 of ‘Downey’ up to
Section 4.9 has to be covered. The instructor should demonstrate each of
these concepts with real examples and encourage students to develop as many
as possible. Chapter 3 of ‘Lambert’ can be used for detailed discussion and
selfstudy) Iteration  while statement and tables. (Note:  Chapter 6
of ‘Downey’ has to be covered. Chapter
3 of
‘Lambert’ can be used for detailed discussion and
selfstudy.)

8

15%

IV


Functions, calling functions, type conversion and
coercion, composition of functions, mathematical functions, userdefined
functions, parameters and arguments.
(Note:  Chapter 3 of ‘Downey’ has
to be covered. The instructor should demonstrate each aspect of the function
with real examples and encourage students to develop their own. Chapter 6 (up
to 6.3) of ‘Lambert’ can be used for detailed discussion and selfstudy.)

6

15%


SECOND
INTERNAL EXAM


V


Strings and lists – string
traversal and comparison with examples.
(Note:  Chapter 7 of ‘Downey’ has
to be covered. Section 4.1 of ‘Lambert’ can be used for detailed discussion
and selfstudy.) List
operations with examples (Note: 
Chapter 8 of ‘Downey’ up to Section 8.6 has to be covered. Section 5.1 of ‘Lambert’ can be used for
detailed discussion and selfstudy.); tuples and dictionaries –
operations and examples (Note: 

6

20%


Chapters
9 & 10 of the third text have to be covered. Section 5.4 of
‘Lambert’ can be used for detailed discussion and
selfstudy.)




VI

Files and exceptions  text files,
directories
(Note:
 Chapter 11 of ‘Downey’ has to be covered)
Introduction to classes and
objects  attributes, instances
(Note:  Chapter 12 of ‘Downey’ up to Section 12.6 has to
be covered)

6

20%



END SEMESTER EXAM



EmoticonEmoticon