**INTRODUCTION TO COMPUTING
AND PROBLEM SOLVING - KTU SYLLABUS**

Dr. A P J Abdul Kalam Technological University / Kerala Technological university KTU First year (S1 S2) B.tech Syllabus for INTRODUCTION TO COMPUTING AND PROBLEM SOLVING (BE101-05))

**Module 1**

Introduction to digital computer – Von Newman concept – A simple model of computer with 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 I-O devices also, various categories are to be introduced. The Von Newman 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 the first text book may be used to guide teaching and 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 more on the concepts, significance and objectives. Chapter 6 and 7 (up to 7.4) of the first text book may be used to guide the teaching-learning process.)

**Module 2 **

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 procedures to achieve modularity. (This part should initially look into problems in general instead of looking into computer-solvable problems alone.)

Examples for algorithms and flow charts - at least 10 problems (starting with non numerical examples, and numeric problems like factorial, largest among three numbers, largest among N, Fibonacci etc.) 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 second text book may be used for the teaching-learning process.)

**Module 3**

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. Chapters 1 and 2 of the third text book have to be covered.) Functions, calling functions, type conversion and coercion, composition of functions, mathematical functions, user-defined functions, parameters and arguments. (Note: - Chapter 3 of the second text book has to be covered. The instructor should demonstrate each aspect of the function with real examples and encourage students to develop their own.)