L T P C
CS6C12 COMPUTER PROGRAMMING: PYTHON
2 0 2 3
Course Objectives:
● To equip engineering students with the founda onal knowledge and prac cal skills in Python
programming to analyse and solve computational problems effectively.
● To foster problem-solving, critical thinking, and modular programming skills essential for engineering
domains.
UNIT - I INTRODUCTION TO PYTHON
Problem Solving, Problem Analysis Chart, Developing an Algorithm, Flowchart and Pseudocode,
Interactive and Script Mode , Debugging , Indentation, Comments, Error messages, Variables, Reserved
Words, Data Types, Arithmetic operators and expressions, Built-in Functions, Importing from Packages.
Practical: Problem Analysis Char
t, Flowchart and Pseudocode Practices. (Minimum three)
UNIT – II CONTROL FLOW, FUNCTIONS
Control Structures: if, if-else, nested if, multi-way if-elif statements, while loop, for loop, nested loops,
pass statements. Functions: Hiding redundancy, complexity; Parameters, arguments and return values;
formal vs actual arguments, named arguments, Recursive & Lambda Functions.
Practical 1: Usage of conditional logics in programs. (Minimum three)
Practical 2: Usage of functions in programs. (Minimum three)
UNIT – III STRINGS, LISTS, TUPLES, DICTIONARIES
Strings & Collections: String Comparison, Formatting, Slicing, Splitting, Stripping, Lists, tuples, and
dictionaries, basic list operators, searching and sorting lists; dictionary literals, adding and removing
keys, accessing and replacing values. Advanced list processing - list comprehension
Practical: String manipulations and operations on lists, tuples, sets, and dictionaries. (Minimum three)
UNIT - IV FILES
File Operations: Create, Open, Read, Write, Append and Close files. Manipulating directories, OS and Sys
modules, reading/writing text and numbers, from/to a file; creating and reading a formatted file (csv,
tab-separated, etc.).
Practical: Opening, closing, reading and writing in formatted file format and sort data. (Minimum three)
UNIT – V MODULES, PACKAGES
Command line arguments, Errors and Exceptions, Handling exceptions, Packages: Built-in modules,
User-Defined modules, Numpy, SciPy, Pandas, Scikit learn.
Practical: Usage of modules and packages to solve problems. (Minimum three), Project (Minimum Two)
Weightage: Continuous Assessment: 50%, End Semester Examinations: 50% ,Assessment Methodology:
Quiz (5%), Project (15%), Assignment Programs (25%), Practical (25%), Internal Examinations (30%)
References:
1. Matthes, E. (2019). Python crash course: A hands-on, project-based introduction to programming
(2nd ed.). No Starch Press.
2. Brown, M. C. (2018). Python: The complete reference (4th ed.). McGraw Hill Publishers.
3. Guttag, J. V. (2016). Introduction to computation and programming using Python: With applications
to understanding data (2nd ed.). MIT Press.
4. McKinney, W. (2017). Python for data analysis: Data wrangling with pandas, NumPy, and IPython.
Shroff/O'Reilly.
E-Resources:
1. Official Python Documentation – [Link]
2. Python Tutorials – [Link]
3. NumPy – [Link]
4. SciPy – [Link] 5. Google’s Python class – [Link]
Description of CO PO PSO
CO1 Explain the potential usage of Python in engineering applications -- --
To apply the concepts of Python in solving engineering problems and PO1 (2) PSO2(2)
CO2
formulate new projects. PO5 (2) PSO3(1)
PO2 (3)
PSO3(1)
CO3 To interpret the data and effectively communicate in groups. PO8 (1)
PSO3(2)
PO9 (1)
CO4 Adapt new programming concepts and technologies in the profession. PO11 (1) PSO2(2)
[Link] Unit Topic Justification
Helps students identify, analyze, and fix errors in programs,
1 I Debugging
improving problem-solving and programming efficiency.
Understanding command line arguments allows students to
2 Command line create flexible and reusable programs that can process user
arguments inputs during execution without modifying the source code.
Knowledge of errors and exceptions helps students recognize
Errors and
3 V common programming mistakes, understand program behavior
Exceptions
during failures, and write more reliable applications.
Exception handling techniques ensure that programs can recover
Handling
4 from unexpected situations gracefully, improving software
exceptions
stability, maintainability, and user experience.
L T P C
CS6C13 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.
UNIT – I COMPUTERS AND COMPUTATIONAL THINKING
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.
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.
Practical: 1. Office Software for documentation and presentation
2. Spread sheets for calculations and data. Visualization
[Link] problems based on number systems and logics.
4. Virtual Demonstration of Computational thinking
UNIT – II 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
UNIT – III 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, Compilers and Interpreters.
Activities: Flowchart design for simple mathematical problems
UNIT – IV 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
UNIT – V App Development
Building Apps using problem, App Testing Strategies, 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.
E-Resources:
1. Brennan and Resnick’s CT Framework 2012: [Link]
2. CS50X 2025 Scratch YouTube lectures by Prof. David J Malan, Harvard University:
[Link]
3. [Link]
4. Scratch software: [Link]
5. MIT APP INVENTOR software: [Link]
6. [Link]
Description of CO PO PSO
Describe the basic components and functioning of computers, number --- ---
CO1
systems, and data representation.
Apply computational thinking and problem-solving techniques to design PO1(3) PSO1(3)
CO2
simple algorithms for real-world problems
Design and represent solutions using flowcharts, pseudocode, and basic PO2 (2) PSO2(3)
CO3
visual programming tools PSO3(1)
Demonstrate the ability to independently learn new computing tools and PO11(1) PSO2(1),
CO4
practices essential for life-long learning PSO3(3)
[Link] Unit Topic Justification
1 Introduces the mechanisms used to translate and execute
Compilers and
III programs, helping students understand how programming
Interpreters
languages are processed by computers.
2 V Equips students with techniques for verifying application
App Testing
functionality, identifying defects, and ensuring software quality
Strategies
and reliability.
CS6C17 OBJECT ORIENTED PROGRAMMING L T P C
3 0 4 5
Course Objectives:
• To impart the principles of object-oriented programming and their advantages over procedural
programming.
• To develop problem-solving skills by creating real-world applications using OOP features.
UNIT – I PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING
Characteristics of object-oriented languages, C++ Program structure, Procedure Oriented Programming
vs Object Oriented Programming, C++ constructs and syntax, tokens, variables, data-types, type
conversion, operators, Expressions, Namespace, flow Control and decision, making statements.
Practical:
1. Simple programs to using Operators, and type conversion.
2. Programs using Conditional and Loop statements and loops.
UNIT – II CLASSES AND OBJECTS
Classes and Objects: Abstraction mechanism: Classes, Objects, member data, member functions -
Constructors and types - destructors, inline function, friend function -- array of objects, objects as
function arguments - memory allocation for objects, static members static data and static function -
Encapsulation and Data Hiding
Practical:
1. Programs using in-line and friend functions.
2. Programs using constructors and destructors
UNIT – III INHERITANCE AND COMPILE TIME POLYMORPHISM
Inheritance and Compile Time Polymorphism: Inheritance: Derived Classes – Single inheritance –
Multilevel Inheritance – Multiple Inheritance - Hierarchical inheritance – Hybrid inheritance. Operator
Overloading: Compile time Polymorphism – Overloading Functions, Overloading Operators, Overloading
Unary Operators – Overloading Binary Operators – Operator Overloading with Friend Functions.
Practical:
1. Programs for inheritance and its types.
2. Programs using friend function and operator overloading.
UNIT – IV POINTERS AND TEMPLATES
Pointers and Runtime Polymorphism Pointers with arithmetic operations - this pointer – Pointers to
Derived classes and Base classes - Compile time versus Runtime Polymorphism - Virtual functions - Late
Binding - Abstract classes- Pure virtual functions and Virtual Destructors - Virtual base class. Templates
and Exception Handling Class Templates - Function Templates – Overloading of Template Functions -
String, iterators, hashes, IO streams; Exception Handling.
Practical:
1. Programs for pointer manipulation.
2. Programs for virtual functions.
3. Programs using function and class templates.
4. Programs using exception handling.
UNIT – V I/O SYSTEMS AND FILE I/O
I/O Systems and File I/O C++ Streams - Formatted and Unformatted I/O –File stream classes – File
modes - File operations, Sequential Read / Write operations – Binary and ASCII Files – Random Access
File- Error handling in file I/O with member function.
Practical Activities:
1. Programs for error handling in file and I/O management
2. Develop applications using OOP features.
Weightage: Continuous Assessment: 40%, End Semester Examinations: 60%
Assessment Methodology: Quiz (5%), Assignments (10%), Flipped Classroom (5%), Project (20%), Review
of GATE questions (10%) & Internal Assessment (50%).
References:
1. Deitel, P., & Deitel, H. (2024). C++ how to program: An objects-natural approach. Pearson Education.
2. Bronson, G. (2011). A first book of C++. Course Technology Inc.
3. Balagurusamy, E. (2020). Object oriented programming with C++. McGraw Hill Education.
eResources / eMaterials
1. [Link]
2. [Link]
Description of CO PO PSO
CO1 Understand the core OOP concepts and applications --- ---
CO2 Apply Object Oriented Paradigms to solve problems using C++ PO1 (3) PSO1(3)
Design and Analyze solutions involving code reusability and complexity PO2 (2) PSO1(1)
CO3
management PSO2(3)
CO4 Demonstrate life-long learning skills through application development PO11 (1) PSO3(3)
[Link] Unit Topic Justification
Introduces a fundamental object-oriented principle that protects
Encapsulation and
1 II data from unauthorized access and modification, improving
Data Hiding
software security, modularity, and maintainability.
Enables efficient retrieval and modification of data at specific
locations within a file without processing the entire file
2 V Random Access File
sequentially, supporting the development of high-performance
data management applications.