L T P C
CS25C03 Essentials of Computing
2 0 2 3
Course Objectives:
1. To introduce the basic components and operations of computers.
2. To develop problem-solving and computational thinking skills.
3. To enable learners to design simple solutions using algorithms and flowcharts.
4. To provide hands-on experience in visual programming and basic app development.
Computers: Computer, Characteristics of Computers, History of Computers,
Classification of Computers, Applications of Computers, Basic Organization of a
Computer. Data Representation, Using spread sheets for basic operations on data and
visualize the data.
Practical:
1. Office Software for documentation and presentation
2. Spread sheets for calculations and data. Visualization
Computational Thinking: What is Computational Thinking, Decomposition,
Abstraction, Real World Information to Computable Data, Number Systems,
Conversions among Number systems, what is Logic, Boolean Logic, Applications of
Propositional Logic.
Activities:
1. Solving problems based on number systems and logics.
2. Virtual Demonstration of Computational thinking
Problem Solving Basics: Problem Definition, Logical Reasoning, Decomposition,
Software Design Concept of an Algorithm, Algorithm Representation – Algorithm
Discovery – Iterative Structures – Recursive Structures – Efficiency and Correctness -
Implementation of Algorithms - Fundamental Algorithms: Exchanging the values of two
variables, Counting, Summation of a set of numbers, Factorial computation, Generation
of Fibonacci Sequence, Reversing the digits of an Integer, Base Conversion.
Activities: Algorithm Development for simple mathematical problems
Programming Languages: Program Development Life Cycle, Program Design Tools,
Algorithms, Flowcharts, Pseudocodes, Role of Algorithms, Programming Languages,
Programming Paradigms Traditional Programming Concepts, Procedural Units,
Language Implementation, Declarative Programming.
Activities: Flowchart design for simple mathematical problems
Page 20 of 51
Scratch Programming: What is Scratch, Scratch Programming Environment, Paint
Editor, Scratch Blocks, Arithmetic Operators and Functions, Use Motion Commands,
Pen Commands and Easy Draw, Looks Palette, Sound Palette, Power of Repeat, Data
Types, Variables, Getting Input from Users.
Making Decisions, Comparison Operators, Decision Structures, Logical Operators,
Repetition, Loop Blocks, Stop Commands, Counters, Nested Loops, Recursion, String
Processing, String Manipulation, Lists, Dynamic Lists, Numerical Lists, Searching and
Sorting Lists.
Activities:
1. Creation of Functional Block for simple mathematical problems
2. Drawing and Painting operations
3. Scratch Animation for understanding Conditional and Loop statements.
4. Draw artistic, geometric patterns and create games.
5. Scratch Programs for applied scientific computing and data manipulations
App Development: Building Apps using problem, solving techniques on any app
development platform, Modeling, incremental and iterative, reuse, modularization,
algorithmic thinking, abstracting and modularizing, decomposition, testing and
debugging.
Activities: Sample App Developments for societal problems.
Weightage: Continuous Assessment: 40%, End Semester Examinations: 60%
Assessment Methodology: Assignments (10%), Quiz (5%), Project based learning
(20%), Flipped Classroom (5%), Review of GATE questions (10%) & Internal
Assessment: 50%
References:
1. Thareja, R. (2020). Fundamentals of computers. Oxford University Press.
2. Rajaraman, V., & Adabala, N. (2014). Fundamentals of computers. PHI Learning.
3. Brookshear, J. G., & Brylow, D. (2015). Computer science: An overview. Pearson.
4. Dromey, R. G. (1982). How to solve it by computer. Prentice Hall International.
5. Marji, M. (2014). Learn to program with Scratch: A visual introduction to programming
with games, art, science and math. No Starch Press.
6. Riley, D. D., & Hunt, K. A. (2014). Computational thinking for the modern problem
solver. CRC Press.
7. Venkatesh, G., & Mukund, M. (2021). Computational thinking. Notion Press.
Page 21 of 51