0% found this document useful (0 votes)
20 views11 pages

2csoe78 CPD

Uploaded by

Savio B Cardoso
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views11 pages

2csoe78 CPD

Uploaded by

Savio B Cardoso
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Nirma University

Institute of Technology

Computer Science & Engineering Department

Course Policy Document


B.Tech. Computer Science and Engineering

Semester: IV Academic Year: 2023 Term: Even


Course Code : 2CSOE78 : Programming for Scientific Computing
& Name

Credit Details : 3 credit course : [2 0 2 3] ([L T P C])

Course Co : Dr Sapan H Mankad


ordinator

Contact No. : 07971652573


& Email Email: [email protected]

Office : New Building, 5th Floor

Visiting Hours : Monday to Friday : 8:45 am to 4:00 pm


Saturday (Odd) : 8:45am to 4:45pm
Course Blog : -
Course Website : https://lms.nirmauni.ac.in/course/view.php?id=1526

Course Faculty : Dr Sapan H Mankad and Dr Usha Patel

Contact No. :
[email protected]
& Email
Office : N block faculty cabins

Visiting Hours : Monday to Friday : 8:45 am to 4:00 pm


: Saturday (Odd) : 8:45am to 4:45pm
1. Introduction to Course

1.1 Importance of the course

• Basically Python is a language that can be used for developing anything and
everything you want.
• Now a days, most of the organization wants to develop data science and
analytics to enhance decision making.
• Huge community support and large amount of API is available.
1.2 Course Objective:
• To understand why Python is a useful scripting language for developers. •
To learn how to design and program Python applications
1.3 Pre-requisite:
• Awareness of basics Programming knowledge.

2. Course Learning Outcomes

After successful completion of this course, student will be able to:


1. write computational programs at a high level of abstraction
2. use standard programming constructs like repetition, selection, functions, composition,
modules, aggregated data
3. implement and evaluate the results of scientific computing problems, using established
program libraries

3. Syllabus
Unit I: Introduction to Computational Science, Applications involving scientific
computing, Tools and languages to solve complex scientific problems Unit II:
Programming in Python- Interpreter and its environment; Introduction to data
types, concepts of mutability, operators and variables; random numbers, user
inputs, statements; branching, conditional and iteration; functions, file handling,
error handling and exceptions
Unit III: Object-oriented programming, classes and methods - encapsulation,
inheritance
Unit IV: Array computing and curve plotting, vectors and higher-dimensional
arrays, matrices, numPy, sciPy and Matplotlib
Unit V: Python Pandas - Data alignment, aggregation, summarization, computation
and analysis with Pandas
Unit VI: Scientific computation using python - Statistical data analysis, image
processing, web development and hardware interfacing using Python

3.1 Self-study:
Tools and languages to solve complex scientific problems and hardware interfacing
using Python.

4 Laboratory details
Laboratory work will be based on above syllabus with following experiments
to be performed.
Each experiment will be of 10 marks. Evaluation for 100 marks will be done
throughout the semester as part of the Continuous Evaluation scheme. The
assessment of Laboratory work is as under:
Total Continuous Evaluation Semester End
Marks /Viva voce
Evaluation

100 marks No. of Max. Weightage Max Weightage


Practicals Marks Marks

10 100 75% 25 25%

Assessment Policy for Lab Practicals:

Assessment of laboratory work (practical) will be done base of following


criteria.

• Code logic

• Design of User Interface

• Timely submission

• Regularity in attending lab sessions

• Error Solving

Tutorial details: ( problem sheet, schedule, assessment policy)


NA

References:
1. Hans Petter Langtangen, A Primer on Scientific Programming with Python
(Link)
2. Claus Fuhrer, Jan Erik Solem, Olivier Verdier, Scientific Computing with
Python 3,Packt Publishing Limited
3. Martin C. Brown, Python: The Complete Reference, McGraw Hill Education 4.
Hemant Kumar Mehta, Mastering Python Scientific Computing, Packt
Publishing Limited
5. Sergio J. Rojas G., Erik A. Christensen, Francisco J. Blanco-Silva, Learning
SciPy for Numerical and Scientific Computing, Packt Publishing Limited
List of Practicals

Sr. Week Mapped


List of Experiments
No. No.# CLO
1. Write a function areaTriangle that takes the lengths of three sides of the
triangle as input parameters and returns the area of the triangle as an output.
Also, assert that the sum of the length of any two sides is higher than the third
side.
2. Write a python program for three different scientific formulas of your own
1 1,2,3 1,2
choice.
3. Write a function that takes two numbers as input parameters and returns True
or False depending on whether they are co-primes. Two numbers are said to
be co-prime if they do not have any common divisor other than one.

1. Write a function that takes a string as a parameter and returns a string with
every successive repetitive character replaced with a star(*). For Example,
‘balloon’ is returned as ‘bal*o*n’.
(hint: https://www.w3schools.com/python/python_strings.asp)
2. Write a function that takes a number as n input parameter and returns the
2 4 corresponding text in words; for example, on input 452, the function should 1,2
return ‘Four Five Two’. Use an indexed list for mapping to digits to their string
representation.
3. Write a recursive function that takes x value as an input parameter and print x-
digit strictly in increasing number. [i.e. x = 6 than output 67891011]

Write a python program that reads the contents of the file poem.txt and count the
number of alphabets blank spaces lowercase letters and uppercase letters the number
of words starting from vowel and the number of occurrences of each word in the file
(For file handling, refer: https://www.w3schools.com/python/python_file_open.asp
3 5 1,2
Important links

https://buomsoo-kim.github.io/colab/2018/04/15/Colab-Importing-CSV-and-
JSON-files-in-Google-Colab.md/)

1. Define a class Bank that keeps track of bank customers. The class should
contain the following data member:

Data member name Details


Name Name of customer
accountNum Account Number
4 6,7 1
Type Account Type
Amount Amount deposited in the bank account
Interest Interest earned by the customer
The class should support the following methods:

• __init__ for initializing the data members.


• deposit for depositing money in the members.
• withdrawal for withdrawing money from the account
• findInterest that determines the interest on the basis of amount in the account

Amount Interest per annum (%)


>= 5,00,000 8
>= 3,00,000 and < 5,00,000 7
>=1,00,000 and <3,00,000 5
<1,00,000 3

2. Define a base class Person, having attributes name, birthdate and city. Define
the class Student that derives from Person class which is having attributes like
rollno, branch, totalMarks and year as data member. The class should contain
the instance method __init__ and the abstract method percentage. Define two
classes Grad and PostGrad which inherit from the base class Student. Both the
classes should define their __init__ method which asks user t enter totalMarks
value and should override the abstract method percentage of the superclass.
Note that totalMarks obtained are out of 600 and 400 for Grad and PostGrad
classes respectively.

1. A magic square is a matrix all of whose row sums, column sums and the sums
of the two diagonals are the same. (One diagonal of a matrix goes from the
top left to the bottom right, the other diagonal goes from top right to bottom
left.) Show by direct computation that if the matrix A is given by

A=np.array([[17, 24, 1, 8, 15],

[23, 5, 7, 14, 16],

[ 4, 6, 13, 20, 22],

[10, 12, 19, 21, 3],

5 8,9 [11, 18, 25, 2, 9]]) 2,3

The matrix A has 5 row sums (one for each row), 5 column sums (one for each column)
and two diagonal sums. These 12 sums should all be exactly the same, and you could
verify that they are the same by printing them and “seeing” that they are the same. It
is easy to miss small differences among so many numbers, though. Instead, verify that
A is a magic square by constructing the 5 column sums and computing the maximum
and minimum values of the column sums. Do the same for the 5 row sums, and
compute the two diagonal sums. Check that these six values are the same. If the
maximum and minimum values are the same, the flyswatter principle says that all
values are the same.

2. Create scientific calculator using numpy.


Plot a line graph that shows the runs scored between two-wicket fall in a one-day
international match between India and England which is generated
randomly. Example:

6 10 Fall of Wicket 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 2,3
India 5 35 24 0 99 1 35 15 27 14
England 10 55 34 21 2 7 118 29 32 10

Develop a python program that reads the data from a given CSV file, which is having
phone usage data using a different branded mobile phone. Determine if the usage
7 11 patterns for users differ between different devices. For example, do users using 2,3
Samsung devices use more call minutes than those using LG devices?

1. Design a python program which performs the linear regression operation on


the given data to predict the house price.
8 12,13 2. Design a python program that generates the 100 random variables and 3
computes the mean, median and mode for the same.

Develop a python program that reads the image, display matrix representation of an
9 14 image creates a histogram of the image and apply the smoothing effect on an image. 3

Develop a python program which takes the video as an argument and extract all the
10. 15 frames from a video. Select specific frames and recreate the video, which has selected 3
frames only.
Challenging practical list (Optional)

1. Write a python program to perform a binary search tree algorithm.


11 Extra 2. Develop a python program for checking the typing speed test and show the 3
accuracy along with word per minute.
3. Create a Sudoku game using python

6. Course Evaluation Methodology

6.1 Component wise Continuous Evaluation & Semester End


Examination weightage:
COMPONENTS WEIGHTAGE

Course Details Continuous Evaluation (CE) LPW


Subje Subject Name Course No of Class Sessio Special No. of Lab Term
ct Assig Test Assignment * Practi Work End
Coordinato n nal c
Code /Tutorials
r Exam
ment als
Exam
s

WT WT Type of No of WT WT WT
Assignm Tutor
en t ial s

2COE78 Dr Sapan 01 0.35 0.35 Project - 0.3 10 0.75 0.25


Programming for H Mankad
Scientific
Programming

6.2 Assessment Policy for Continuous Evaluation (CE)

The marks divisions for the continuous evaluation will be as follow:


i) Class Test (35 Marks)
ii) Sessional Exam (35 Marks)
iii) Special assignment (30 Marks)

6.3 Assessment Policy for Laboratory (LPW)

Assessment of Laboratory and Project Work comprises of two


components.
1. Continuous assessment for laboratory experiments will be
conducted. There will be 10 experiments, each carrying weightage
of 10 marks. At the end of the course total marks obtained out of
100 will be converted according to weightage assigned.
Assessment of Experiment will be carried out based on parameters
like Code logic, Design of User Interface, Timely submission,
Regularity in attending lab sessions, Error Solving, etc. during the
session and the parameters mentioned in Section 4 of this
document.
2. A Viva voce examination for LPW component will be conducted as
per academic calendar. It will carry a weightage of 25 marks.

6. 4 Assessment Policy for Semester End Examination (SEE)

Will be updated soon

7. Lesson Plan
Lectur Topic Mappe
e No. d
CLO

1 Introduction to Computational Science, Applications involving 1


scientific computing, Tools and languages to solve complex
scientific problems

2 Programming in Python- Interpreter and its 1


environment; Introduction to data types

3 Concepts of mutability 2

4 Concepts of mutability 2

5 Operators and variables; random numbers 1

6 User inputs, statements; branching, conditional and iteration 1

7 Functions 1

8 File handling 1

9 Error handling and exceptions 1

10 Object-oriented programming, classes and methods 1

11 Encapsulation 1

12 Inheritance 1

13 Array computing and curve plotting, vectors and 2


higher dimensional arrays

14 Matrices 2

15 NumPy 3

16 NumPy 3

17 SciPy and Matplotlib 3

18 Matplotlib 3

19 Python Pandas - Data alignment, aggregation 2, 3

20 Python Pandas Summarization 2, 3

21 Python Pandas Summarization 2, 3

22 Computation and analysis with Pandas 2, 3

23 Computation and analysis with Pandas 2, 3

24 Scientific computation using python - Statistical data analysis 3


25 Scientific computation using python - Statistical data analysis 3

26 Image processing 3

27 Image processing 3

28 Web development 3

29 Web development 3

30 Hardware interfacing using Python 3

Class Test: As per academic calendar


Sessional Exam: As per academic calendar
Tutorial Plan
Tutorial Topic Mapped
No CLO

NA

Course Assessment Schemes


Assessme CE LPW SEE
nt
scheme

Compone 0.4 0.2 0.4


nt
weightag
e

Quiz Session Term Paper/ Continuo Viva 3


I&II al Innovative us Voce hours
35% Exam Assignment 30% Evaluatio 25% exam
35% n 75%

Special/Innovative Assignments, Term Papers, mini Projects


etc. • Type: Project
o Details: Students need to develop the project in group of 3 students.
They need to design a solution for real time problem with GUI.
o Timeline: Submission date: 20th April 2023

9. Teaching-learning methodology
• Lectures: Primarily Chalk and Black board will be used to conduct
the course for off-line lectures. However, where required (also for on-
line lectures), Power Point Presentations (PPTs), Video Lectures,
Simulations / Animations, Program()s Demonstration etc. will be
used to enhance the teaching-learning process.
• Laboratory: Explanation of Experiment to be performed along with
co-relation with theory will be given. At the end of each session
assessment will be carried out based on parameters like completion
of lab work that includes Logic Syntax, Error Solving, Timely
submission of practical’s and lab practical submission, Regularity
in attending lab sessions, Discipline of student in the lab sessions
/on-line sessions etc. Students will be quizzed to check their
understanding of the experiment/exercise conducted.

10. Active learning techniques

Following active learning techniques will be adopted for the course. •


The Muddiest Point: The technique consists of asking students to jot
down a quick response to one question: “What was the muddiest point in
[the lecture, discussion, homework assignment, film, etc.]?” The term
“muddiest” means “most unclear” or “most confusing.”
11. Course Material
Following course materials will be uploaded on the course website:

• Course Policy

• Lecture Notes (will be provided just before exam & not day to day) •
Books / Reference Books / NPTEL video lectures
• Assignments, Tutorials, Lab Manuals

• Question bank (As and when topics are covered in class and lab
sessions)
• Web-links, Video Lectures for reference

• Animations /Simulations, Softwares

• Advanced topics

12. Course Learning Outcome Attainment

Following means will be used to assess attainment of course learning


outcomes:
• Use of formal evaluation components of continuous evaluation,
tutorials, laboratory work, semester end examination
• Informal feedback during course conduction

13. Academic Integrity Statement

Students are expected to carry out assigned work under Continuous


Evaluation (CE) component and LPW component independently.
Copying in any form is not acceptable and will invite strict disciplinary
action. Evaluation of corresponding component will be affected
proportionately in such cases. Turnitin software will be used to check
plagiarism wherever applicable. Academic integrity is expected from
students in all components of course assessment.

You might also like