Syllabus CST 445 Python For Engineers
CATEGORY L T P CREDIT YEAR OF INTRODUCTION
OEC 2 1 0 3 2019
Preamble: The objective of the course is to provide learners an insight into Python programming in a scientific computation context and develop programming skills to solve engineering problems. It covers programming environment, important instructions, data representations, intermediate level features, Object Oriented Programming and file data processing of Python. This course lays the foundation to scientific computing, develop web applications, Machine Learning, and Artificial Intelligence-based applications and tools, Data Science and Data Visualization applications.
Prerequisite: NIL
Note : Students who have successfully completed CST 283 - Python for Machine Learning (Minor) are not eligible to opt this course.
Note : Students who have successfully completed CST 283 - Python for Machine Learning (Minor) are not eligible to opt this course.
Mark Distribution
Total Marks CIEMarks ESE Marks ESE Duration
150 50 100 3
Continuous Internal Evaluation Pattern:
Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks
Total Marks CIEMarks ESE Marks ESE Duration
150 50 100 3
Continuous Internal Evaluation Pattern:
Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks
Internal Examination Pattern:
Each of the two internal examinations has to be conducted out of 50 marks. The first series test shall be preferably conducted after completing the first half of the syllabus and the second series test shall be preferably conducted after completing the remaining part of the syllabus. There will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions each from the completed modules and 1 question from the partly completed module), having 3 marks for each question adding up to 15 marks for part A. Students should answer all questions from Part A. Part B contains 7 questions (preferably, 3 questions each from the completed modules and 1 question from the partly completed module), each with 7 marks. Out of the 7 questions, a student should answer any 5.
Each of the two internal examinations has to be conducted out of 50 marks. The first series test shall be preferably conducted after completing the first half of the syllabus and the second series test shall be preferably conducted after completing the remaining part of the syllabus. There will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions each from the completed modules and 1 question from the partly completed module), having 3 marks for each question adding up to 15 marks for part A. Students should answer all questions from Part A. Part B contains 7 questions (preferably, 3 questions each from the completed modules and 1 question from the partly completed module), each with 7 marks. Out of the 7 questions, a student should answer any 5.
End Semester Examination Pattern:
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from each module, having 3 marks for each question. Students should answer all questions. Part B contains 2 questions from each module of which a student should answer any one. Each question can have a maximum of 2 sub-divisions and carries 14 marks.
Syllabus
Module 1 (Basics of Python)
Getting Started with Python Programming - Running code in the interactive shell, Editing, Saving, and Running a script. Using editors - IDLE, Jupyter. Basic coding skills - Working with data types, Numeric data types and Character sets, Keywords, Variables and Assignment statement, Operators, Expressions, Working with numeric data, Type conversions, Comments in the program, Input Processing, and Output, Formatting output. How Python works. Detecting and correcting syntax errors. Using built in functions and modules in math module. Control statements - Selection structure - if-else, if-elif-else. Iteration structure - for, while. Testing the control statements. Lazy evaluation.
Module 2 (Functions and Python Data Structures)
Functions - Hiding redundancy and complexity, Arguments and return values, Variable scopes and parameter passing, Named arguments, Main function, Working with recursion, Lambda functions. Strings - String function. Lists - Basic list Operations and functions, List of lists,Slicing, Searching and sorting list, List comprehension. Work with tuples. Sets. Dictionaries -Dictionary functions, dictionary literals, adding and removing keys, accessing and replacing values, traversing dictionaries, reverse lookup.
Module 1 (Basics of Python)
Getting Started with Python Programming - Running code in the interactive shell, Editing, Saving, and Running a script. Using editors - IDLE, Jupyter. Basic coding skills - Working with data types, Numeric data types and Character sets, Keywords, Variables and Assignment statement, Operators, Expressions, Working with numeric data, Type conversions, Comments in the program, Input Processing, and Output, Formatting output. How Python works. Detecting and correcting syntax errors. Using built in functions and modules in math module. Control statements - Selection structure - if-else, if-elif-else. Iteration structure - for, while. Testing the control statements. Lazy evaluation.
Module 2 (Functions and Python Data Structures)
Functions - Hiding redundancy and complexity, Arguments and return values, Variable scopes and parameter passing, Named arguments, Main function, Working with recursion, Lambda functions. Strings - String function. Lists - Basic list Operations and functions, List of lists,Slicing, Searching and sorting list, List comprehension. Work with tuples. Sets. Dictionaries -Dictionary functions, dictionary literals, adding and removing keys, accessing and replacing values, traversing dictionaries, reverse lookup.
Module 3 (Object Oriented Programming)
Design with classes - Objects and Classes, Methods, Instance Variables, Constructor, Accessors and Mutators. Structuring classes with Inheritance and Polymorphism. Abstract Classes.Exceptions - Handle a single exception, Handle multiple exceptions.
Design with classes - Objects and Classes, Methods, Instance Variables, Constructor, Accessors and Mutators. Structuring classes with Inheritance and Polymorphism. Abstract Classes.Exceptions - Handle a single exception, Handle multiple exceptions.
Module 4 (Visualization and File handling)
Plotting - An Interactive Session with PyPlot, Basic Plotting, Logarithmic Plots, More Advanced Graphical Output, Plots with multiple axes, Mathematics and Greek symbols, The Structure of matplotlib, Contour and Vector Field Plots. File Processing - The os and sys modules, Introduction to file I/O, Reading and writing text files, Working with CSV files.
Module 5 (Scientific Computing)
Numerical Routines. SciPy and NumPy - Basics, Creating arrays, Arithmetic, Slicing, Matrix Operations, Special Functions, Random Numbers, Linear Algebra, Solving Nonlinear Equations,Numerical Integration, Solving ODEs. Data Manipulation and Analysis – Pandas : Reading Data from Files Using Pandas, Data Structures: Series and DataFrame, Extracting Information from a DataFrame, Grouping and Aggregation.
Text Books:
1. Kenneth A Lambert., Fundamentals of Python : First Programs, 2/e, Cengage Publishing, 2016
2. David J. Pine, Introduction to Python for Science and Engineering, CRC Press, 2021
Reference Books:
1. Wes McKinney, Python for Data Analysis, 2/e, Shroff / O’Reilly Publishers, 2017
2. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2/e, Schroff, 2016
3. Michael Urban and Joel Murach, Python Programming, Shroff/Murach, 2016
4. David M.Baezly, Python Essential Reference. Addison-Wesley Professional; 4/e, 2009.
5. Charles Severance. Python for Informatics: Exploring Information,
6. http://swcarpentry.github.io/python-novice-gapminder/
Plotting - An Interactive Session with PyPlot, Basic Plotting, Logarithmic Plots, More Advanced Graphical Output, Plots with multiple axes, Mathematics and Greek symbols, The Structure of matplotlib, Contour and Vector Field Plots. File Processing - The os and sys modules, Introduction to file I/O, Reading and writing text files, Working with CSV files.
Module 5 (Scientific Computing)
Numerical Routines. SciPy and NumPy - Basics, Creating arrays, Arithmetic, Slicing, Matrix Operations, Special Functions, Random Numbers, Linear Algebra, Solving Nonlinear Equations,Numerical Integration, Solving ODEs. Data Manipulation and Analysis – Pandas : Reading Data from Files Using Pandas, Data Structures: Series and DataFrame, Extracting Information from a DataFrame, Grouping and Aggregation.
Text Books:
1. Kenneth A Lambert., Fundamentals of Python : First Programs, 2/e, Cengage Publishing, 2016
2. David J. Pine, Introduction to Python for Science and Engineering, CRC Press, 2021
Reference Books:
1. Wes McKinney, Python for Data Analysis, 2/e, Shroff / O’Reilly Publishers, 2017
2. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2/e, Schroff, 2016
3. Michael Urban and Joel Murach, Python Programming, Shroff/Murach, 2016
4. David M.Baezly, Python Essential Reference. Addison-Wesley Professional; 4/e, 2009.
5. Charles Severance. Python for Informatics: Exploring Information,
6. http://swcarpentry.github.io/python-novice-gapminder/
Course Outcomes
CO1: Write, test and debug Python programs (Cognitive Knowledge level:Apply)
CO2: Illustrate uses of conditional (if, if-else, if-elif-else and switch-case) and iterative (while and for) statements in Python programs (Cognitive Knowledge level: Apply)
CO3:Develop programs by utilizing the modules,Lists, Tuples, Sets and Dictionaries in Python (Cognitive Knowledge level: Apply)
CO4:Implement Object Oriented programs with exception handling (Cognitive Knowledge level: Apply)
CO5:Analyze, Interpret, and Visualize data according to the target application (Cognitive Knowledge level: Apply)
CO6:Develop programs in Python to process data stored in files by utilizing the modules Numpy, Matplotlib, and Pandas (Cognitive Knowledge level: Apply)
CO2: Illustrate uses of conditional (if, if-else, if-elif-else and switch-case) and iterative (while and for) statements in Python programs (Cognitive Knowledge level: Apply)
CO3:Develop programs by utilizing the modules,Lists, Tuples, Sets and Dictionaries in Python (Cognitive Knowledge level: Apply)
CO4:Implement Object Oriented programs with exception handling (Cognitive Knowledge level: Apply)
CO5:Analyze, Interpret, and Visualize data according to the target application (Cognitive Knowledge level: Apply)
CO6:Develop programs in Python to process data stored in files by utilizing the modules Numpy, Matplotlib, and Pandas (Cognitive Knowledge level: Apply)
Sample CO Level Assessment Questions
Course Outcome1(CO1):
1. What is type conversion? How is it done in Python?
Course Outcome 2(CO2):
1. Given is a list of of words, wordlist, and a string, name. Write a Python function which takes wordlist and name as input and returns a tuple. The first element of the output tuple is the number of words in the wordlist which have name as a substring in it. The second element of the tuple is a list showing the index at which the name occurs in each of the words of the wordlist and a 0 if it doesn’t occur.
Course Outcome1(CO1):
1. What is type conversion? How is it done in Python?
Course Outcome 2(CO2):
1. Given is a list of of words, wordlist, and a string, name. Write a Python function which takes wordlist and name as input and returns a tuple. The first element of the output tuple is the number of words in the wordlist which have name as a substring in it. The second element of the tuple is a list showing the index at which the name occurs in each of the words of the wordlist and a 0 if it doesn’t occur.
Course Outcome 3(CO3):
1. Write a Python program to implement the addition, subtraction, and multiplication of complex numbers using classes. Use constructors to create objects. The input to the program consist of real and imaginary parts of the complex numbers.
Course Outcome 4(CO4):
1. Plot the function y = 3x 2 for −1 ≤ x ≤ 3 as a continuous line. Include enough points so that the curve you plot appears smooth. Label the axes x and y
Course Outcome 5(CO5):
1. Given a file “auto.csv” of automobile data with the fields index, company, body-style, wheel-base, length, engine-type, num-of-cylinders, horsepower, average-mileage, and price, write python code to
i. Clean and Update the CSV file
ii. Print total cars of all companies
iii. Find the average mileage of all companies
iv. Find the highest priced car of all companies
1. Write a Python program to implement the addition, subtraction, and multiplication of complex numbers using classes. Use constructors to create objects. The input to the program consist of real and imaginary parts of the complex numbers.
Course Outcome 4(CO4):
1. Plot the function y = 3x 2 for −1 ≤ x ≤ 3 as a continuous line. Include enough points so that the curve you plot appears smooth. Label the axes x and y
Course Outcome 5(CO5):
1. Given a file “auto.csv” of automobile data with the fields index, company, body-style, wheel-base, length, engine-type, num-of-cylinders, horsepower, average-mileage, and price, write python code to
i. Clean and Update the CSV file
ii. Print total cars of all companies
iii. Find the average mileage of all companies
iv. Find the highest priced car of all companies
Assessment Pattern (Marks in percentage)
Bloom’s Category Test 1 Test 2 End Semester
Remember 20 20 20
Understand 30 30 30
Apply 50 50 50
Understand 30 30 30
Apply 50 50 50
Comments
Post a Comment