Course 21CSS101J Course Course S ENGINEERING SCIENCES L T P C
PROGRAMMING FOR PROBLEM SOLVING Category
Code Name 3 0 2 4
Pre-requisite Nil Co- requisite Nil Progressive Nil
Courses Courses Courses
Course Offering Department Computer Science and Engineering Data Book / Codes / Standards Nil
Course Learning Rationale (CLR): The purpose of learning this course is to: Program Outcomes (PO)
CLR-1 : Think and evolve with a logic to construct an algorithm and pseudocode that can be converted into a program 1 2 3 4 5 6 7 8 9 10 11 12
CLR-2 : Utilize the appropriate operators and control statements to solve engineering problems
The engineer and society
Conduct investigations of
Individual & Team Work
Engineering Knowledge
Design/development of
Project Mgt. & Finance
CLR-3 : Store and retrieve data in a single and multidimensional array
Modern Tool Usage
Life Long Learning
complex problems
Problem Analysis
CLR-4 : Create custom designed functions to perform repetitive tasks in any application
Communication
Environment &
Sustainability
CLR-5 : Create basic Abstract Data Types with python
solutions
Ethics
Course Outcomes (CO): At the end of this course, learners will be able to:
CO-1: Solve problems through computer programming. Express the basic data types and variables in C 2 3 - - - - - - - - - 2
CO-2: Use appropriate data types in simple data processing applications. To create programs using the concept of arrays. 2 3 - - - - - - - - - 2
CO-3: Create string processing applications with single and multi-dimensional arrays. 2 3 - - - - - - - - - 2
CO-4: Create user defined functions with required operations. To implement pointers in applications with dynamic memory requirements. 2 3 - - - - - - - - - 2
CO-5: Create programs using the python data types, loops, control statements for problem solving 2 3 - - - - - - - - - 2
Unit-1 : 15 Hour
Evolution of Programming & Languages - Problem solving through programming - Writing algorithms & Pseudo code - Single line and multiline comments - Introduction to C: Structure of the C program - Input and output
statements. Variables and identifiers, Constants, Keywords - Values, Names, Scope, Binding, Storage Classes - Numeric Data types: integer, floating point Non-Numeric Data types: char and string - L value and R value in
expression, Increment and decrement operator - Comma, Arrow and Assignment operator, Bitwise and Size-of operator - Arithmetic, Relational and logical Operators - Condition Operators, Operator Precedence - Expressions
with pre / post increment operator
Unit-2 : 15 Hour
Conditional Control -Statements :Simple if, if...else - Conditional Statements : else if and nested if - Conditional Statements : Switch case - Un-conditional Control Statements : break, continue, goto - Looping Control
Statements: for, while, do.while - Looping Control Statements: nested for, nested while - Introduction to Arrays -One Dimensional (1D) Array Declaration and initialization - Accessing, Indexing and operations with 1D Arrays -
Array Programs – 1D - Initializing and Accessing 2D Array, Array Programs – 2D - Pointer and address-of operators -Pointer Declaration and dereferencing, Void Pointers, Null pointers Pointer based Array manipulation
Unit-3: 15 Hour
String Basics - String Declaration and Initialization - String Functions: gets(), puts(), getchar(),putchar(), printf() - Built-inString Functions: atoi, strlen, strcat, strcmp -String Functions: sprint, sscanf, strrev, strcpy, strstr, strtok -
Operations on Strings - Function prototype declaration, function definition - Actual and formal parameters - Function with and without Arguments - Function with and without return values - Call by Value, Call by Reference -
Passing Array to Function - Passing Array elements to Function - Function Pointers.
Unit-4 : 15 Hour
Python: Introduction to Python - Introduction to Google Colab - Basic Data Types: Integers, Floating Points, Boolean types - Working with String functions - Working with Input, Output functions - Python-Single and Multi line
Comments/ Error Handling - Conditional & Looping Statements : If, for, while statements - Working with List structures - Working with Tuples data structures - Working with Sets - Working with Dictionaries - Introduction to
Python Libraries - Introduction to Numpy - High Dimensional Arrays
Unit-5: 15 Hour
Creating NumPy Array -Numpy Indexing - Numpy Array attributes - Slicing using Numpy - Descriptive Statistics in Numpy: Percentile - Variance in Numpy -Introduction to Pandas - Creating Series Objects, Data Frame Objects
- Simple Operations with Data frames - Querying from Data Frames -Applying Functions to Data frames - Comparison between Numpy and Pandas - Speed Testing between Numpy and Pandas - Other Python Libraries
59
B.Tech/M.Tech(Integrated) Regulations 2021)- Volume-2-First Year Syllabi-Control copy
Practice
Practice 1: Input, Output Statements, Variables
Practice 2: Data types & Operators-I
Practice 3: Data types & Operators-II
Practice 4: Control Statements (Branching, Looping)
Practice 5: Arrays
Practice 6: Arrays with Pointers
Practice 7: Strings
Practice 8: Functions
Practice 9 : Arrays and Functions
Practice 10: Input, Output in Python
Practice 11: Python data structures
Practice 12: Arrays in Python
Practice 13: Operations with Numpy
Practice 14: Operations with Pandas
Practice 15: case study: Data science with Numpy, Pandas
1. Programming in C, E.Balagurusamy,Mc Graw Hill, Eighth Edition.2019. [chapters 1 to 6 & 8 To 11] 5. https://www.tutorialspoint.com/cprogramming/index.htm
2. Head First C: A Brain-Friendly Guide, By David Griffiths, Dawn Griffiths,Oreilly. [Chapters 2 to 4] 6. https://www.geeksforgeeks.org/c-programming-language/
Learning 3. Let Us C, Fifth Edition, Yashavant P. Kanetkar,BPB publications.[ Chapters 1 to 6, 8 to 9] 7. Python Datascience Handbook, Oreilly,Jake VanderPlas, 2017.[Chapters 2 &3]
Resources 4. Problem Solving & Programming Concepts, Maureen Sprankle, Jim Hubbard, Prentice Hall, Ninth Edition. 8. Python For Beginners, Timothy C.Needham,2019. [Chapters 1 to 4]
[Chapters 1 to 7] 9. https://www.tutorialspoint.com/python/index.htm
10. https://www.w3schools.com/python/
Learning Assessment
Continuous Learning Assessment (CLA)
Summative
Formative Life Long Learning
Bloom’s Final Examination
CLA-1 Average of unit test CLA-2 –Practice
Level of Thinking (40% weightage)
(45%) (15%)
Theory Practice Theory Practice Theory Practice
Level 1 Remember 20% - - 15% 15% -
Level 2 Understand 20% - - 15% 15% -
Level 3 Apply 20% - - 20% 20% -
Level 4 Analyze 20% - - 20% 20% -
Level 5 Evaluate 10% - - 15% 15% -
Level 6 Create 10% - - 15% 15% -
Total 100 % 100 % 100 %
Course Designers
Experts from Industry Experts from Higher Technical Institutions Internal Experts
1. Dr. Sainarayanan Gopalakrishnan, HCL Technologies, [email protected] 1. Prof. Janakiram D, IIT Madras, [email protected] 1. Dr. E.Poovammal, SRMIST
2. Dr. Sricharan Srinivasan, Wipro Technologies, [email protected] 2. Dr. B. Amutha, SRMIST
3.Dr. Rajeev Sukumaran, SRMIST
60
B.Tech/M.Tech(Integrated) Regulations 2021)- Volume-2-First Year Syllabi-Control copy