Teaching - Learning Scheme :
02 Hours Practical/Week
Credits : 01
Assessment Scheme :
In-Semester Evaluation (ISE) : 25 Marks
End-Semester Evaluation (ESE) : 25 Marks
Course Objectives:
To introduce the basic syntax of the python programming language, data types, and the basic control flow.
To make students able to write python scripts to solve engineering problems.
Course Outcomes: After successful completion of this course, the student will be able to,
CO 1: Apply the knowledge of mathematical modelling and engineering fundamentals to solve simple engineering problems using Python programming language
1.1 Demonstrate competence in mathematical modelling
1.1.1 Apply mathematical techniques such as calculus, linear algebra, and statistics to solve problems
1.1.2 Apply advanced mathematical techniques to model and solve mechanical engineering problems
1.2 Demonstrate competence in basic sciences
1.2.1 Apply laws of natural science to an engineering problem
1.3 Demonstrate competence in engineering fundamentals
1.3.1 Apply fundamental engineering concepts to solve engineering problems
5.1 Demonstrate an ability to identify/ create modern engineering tools, techniques and resources
5.1.1 Identify modern engineering tools such as computer-aided drafting, modeling and analysis; techniques and resources for engineering activities
5.1.2 Create/adapt/modify/extend tools and techniques to solve engineering problems
CO 2: Identify, formulate and solve complex engineering problems using Python programming language
2.1 Demonstrate an ability to identify and formulate complex engineering problem
2.1.1 Articulate problem statements and identify objectives
2.1.2 Identify engineering systems, variables, and parameters to solve the problems
2.1.3 Identify the mathematical, engineering and other relevant knowledge that applies to a given problem
2.2 Demonstrate an ability to execute a solution process and analyze results
2.2.1 Reframe complex problems into interconnected sub-problems
2.2.2 Identify, assemble and evaluate information and resources.
2.2.3 Identify existing processes/solution methods for solving the problem, including forming justified approximations and assumptions
2.2.4 Compare and contrast alternative solution processes to select the best process.
5.1 Demonstrate an ability to identify/ create modern engineering tools, techniques and resources
5.1.1 Identify modern engineering tools such as computer-aided drafting, modeling and analysis; techniques and resources for engineering activities
5.1.2 Create/adapt/modify/extend tools and techniques to solve engineering problems
CO 3: Use python programming language and libraries such as NumPy, Pandas and SciPy to simulate the behavior of physical systems of simple and complex engineering problems
5.1 Demonstrate an ability to identify/ create modern engineering tools, techniques and resources
5.1.1 Identify modern engineering tools such as computer-aided drafting, modeling and analysis; techniques and resources for engineering activities
5.1.2 Create/adapt/modify/extend tools and techniques to solve engineering problems
5.2 Demonstrate an ability to select and apply discipline specific tools, techniques and resources
5.2.1 Identify the strengths and limitations of tools for (i) acquiring information, (ii) modeling and simulating, (iii) monitoring system performance, and (iv) creating engineering designs.
5.2.2 Demonstrate proficiency in using discipline-specific tools
5.3 Demonstrate an ability to evaluate the suitability and limitations of tools used to solve an engineering problem
5.3.1 Discuss limitations and validate tools, techniques and resources
5.3.2 Verify the credibility of results from tool use with reference to the accuracy and limitations, and the assumptions inherent in their use.
12.1 Demonstrate an ability to identify gaps in knowledge and a strategy to close these gaps
12.1.1 Describe the rationale for the requirement for continuing professional development
12.1.2 Identify deficiencies or gaps in knowledge and demonstrate an ability to source information to close this gap
CO 4: Work effectively as an individual member in a team to collaboratively learn, discuss, debate and solve engineering problems using Python programming language
9.1 Demonstrate an ability to form a team and define a role for each member
9.1.1 Recognize a variety of working and learning preferences; appreciate the value of diversity on a team
9.1.2 Implement the norms of practice (e.g. rules, roles, charters, agendas, etc.) of effective team work, to accomplish a goal.
9.2 Demonstrate effective individual and team operations- communication, problem solving, conflict resolution and leadership skills
9.2.1 Demonstrate effective communication, problem-solving, conflict resolution and leadership skills
9.2.2 Treat other team members respectfully
9.2.3 Listen to other members
9.2.4 Maintain composure in difficult situations
9.3 Demonstrate success in a team-based project
9.3.1 Present results as a team, with smooth integration of contributions from all individual efforts
CO 5: Adapt markdown language and post processing tools in Python IDE for effective documentation and presentation of solution to analyze engineering problems
10.1 Demonstrate an ability to comprehend technical literature and document project work
10.1.1 Read, understand and interpret technical and non-technical information
10.1.2 Produce clear, well-constructed, and well-supported written engineering documents
10.1.3 Create flow in a document or presentation - a logical progression of ideas so that the main point is clear
10.2 Demonstrate competence in listening, speaking, and presentation
10.2.1 Listen to and comprehend information, instructions, and viewpoints of others
10.2.2 Deliver effective oral presentations to technical and non-technical audiences
10.3 Demonstrate the ability to integrate different modes of communication
10.3.1 Create engineering-standard figures, reports and drawings to complement writing and presentations
10.3.2 Use a variety of media effectively to convey a message in a document or a presentation
Introduction to Python Programming Language
Introduction and Features of Google Colab
Opening, saving and sharing Colab Notebook
Basic Python syntax and comments
Documenting Python code using Markdown syntax
Introduction to Matplotlib - Visualization with Python
Importing Matplotlib
Simple single-line and multiple-line plots
Subplots in Matplotlib
Bar chart (Single and Multiple)
Pie charts
Scatter Chart
Contour Plot
Three-dimensional plotting
Basic Syntax and Fundamentals
Variables: Creating, printing and deleting variables, Multiple Assignment
Rules for variable names, Local and global variables
Operators in Python
Data Types in Python
Functions in Python
If, If….else, nested if statements
Single statement suites
while, for and nested loops
Loop control statements
Numbers, Mathematical functions and constants
Strings - Accessing values, updating strings and Escape characters
String special operators and functions
Lists - Accessing, updating and deleting list elements
Basic list operators, Indexing, Slicing and Matrixes
Built-in List functions and methods
Tuples - Accessing, updating and deleting Tuple elements
Basic Tuple operators, Indexing, Slicing and Matrixes
Built-in Tuple functions
Dictionary - Accessing, updating and deleting Dictionary elements
Built-in Dictionary functions and methods
Time Tuple, Getting Current time, Getting formatted time,
Getting a Calendar for a month, The time Module, The calendar Module
Defining a Function, Calling a Function, Pass by reference vs value
The Anonymous Functions, The return Statement, The import Statement, The from ... import Statement
Printing to the screen, Reading keyboard Input, The input Function
Opening and Closing Files, Reading and Writing Files
Types of Errors : Syntax, Type, Run-Time and Logical
Placing controls in code
Debugging code
Use of Python Debugger
Working with Arrays
Linear Algebra with NumPy
Supported file formats
Accessing data with DataFrames
Analyzing Data with DataFrames
Presenting Data in DataFrames
Clustering
Interpolation
Linear Algebra
Optimization
Solution to Laplace equation in 2D cartesian coordinates for heat equation
HASI balloon trajectory computation and validation
Batch S1
Thursday - 11:30 to 13:30
Batch S2
Friday - 09:15 to 11:15
Batch S3
Tuesday - 11:30 to 13:30
Batch S4
Friday - 14:15 to 16:15
(CO 1, CO 2, CO 3, CO4 and CO5)
CAS marks will be provided based on the following paramaters
Attending and Active participation in all the Practical Sessions
Solving all the exercise problems and regular submission
Interaction with faculty for doubt clearance and learning
(CO 1, and CO 3)
Python Self Learning Course certification marks will be based on the grade you obtain the course (Class Relative will be considered)
For Further queries contact course coordinator
(CO 2, CO 3, CO4, and CO 5)
Presentation of CAS Portfolio built during the course
Oral Examination based on the presentation
(CO 1 , CO 3 and CO 5)
Solving a simple engineering problem using Python Programming