Course Code: CE0525/CS0525/IT0525 Course Name: Programming For Scientific Computing (Python)
Course Code: CE0525/CS0525/IT0525 Course Name: Programming For Scientific Computing (Python)
Pre-requisites: -
Knowledge of Object Oriented language will be useful.
Credit points: 4
Offered Semester: V
Course coordinator
Full name: Zalak Trivedi
Department with sitting location: CE dept, 4th floor Bhanwar Building.
Telephone: -
Email: zalaktrivedi.ce@indusuni.ac.in
Consultation times:
Monday 11.55am to 2:00pm
Friday 01.30pm to 2.30pm
Course lecturer
Full name: Zalak Trivedi
Department with sitting location: CE dept, 4th floor Bhanwar Building.
Telephone:
Email: zalaktrivedi.ce@indusuni.ac.in
Consultation times:
Monday 11.55am to 2:00pm
Friday 01.30pm to 2.30pm
Students will be contacted throughout the session via mail with important information relating to
this course.
Course Objectives:
Course Outline
UNIT-I [12 hours]
Basic elements of python, Branching, looping, Strings and Input, Iteration, Functions, Recursion,
Global variables, Modules, Files, Structured Objects, Mutability: Strings, Tuples, Lists, Sets,
Dictionaries, ,Functions as Objects, Mutability and Higher-Order Functions.
UNIT-II [12 hours]
Object-Oriented Programming, Abstract Data Types and Classes, Encapsulation and Information
Hiding, Simple Algorithms and Data structures, Regular Expressions – REs ,Networking,
Multithreading in Python.
UNIT-III [12 hours]
Array computing and curve plotting, vectors and higher-dimensional arrays, matrices, numPy, sciPy
and Matplotlib, Plotting using PyLab, Chat Application, Graphics and GUI Programming –
Drawing using Turtle, Tkinter.
UNIT-IV [12 hours]
Python Pandas - Data alignment, aggregation, summarization, computation and analysis with
Pandas. Scientific computation using python - Statistical data analysis, image processing, Basics of
Web development(Introduction to frameworks flask, tensor flow).
Method of delivery
Chalk and Board, PowerPoint presentation
Study time
3 hrs theory, 2 Hrs practical
Practical work:
2 Develop programs to learn different types of structures Basic knowledge of strings and
(list, dictionary, tuples) in python operation on strings in python.
Write a Python program which accepts a
sequence of comma-separated numbers from
user and generate a list and a tuple with those
numbers.
Write a Python program to display the first and
last colors from the following list.[orange,
purple, red,yellow,blue]
Write a Python program to concatenate all
elements in a list into a string and return it.
Write a Python program to print out a set
containing all the colors from color_list_1 which
are not present in color_list_2.
Test Data :
color_list_1 = set(["White", "Black", "Red"])
color_list_2 = set(["Red", "Green"])
Expected Output :
{'Black', 'White'}
3 Write a Python script to print a dictionary where the Basic knowledge of Dictionaries
keys are numbers between 1 and 15 (both included)
and the values are square of keys.
Sample Dictionary
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8:
64, 9: 81, 10: 100, 11: 121, 12: 144, 13: 169,
14: 196, 15: 225}
4 Develop programs to learn concept of functions scoping, Basic knowledge function
recursion and list mutability
5 Develop programs to understand working of exception Basic knowledge of exception and
handling and assertions assertions
6 Develop programs for data structure algorithms using Basic knowledge of data structure
python – searching, sorting and hash tables
7 Develop programs to learn regular expressions using Basic principle of Regular
python Expressions
8 Develop chat room application using multithreading. Basic knowledge of multithreading
9 Implement classical ciphers using python Basic knowledge of encryption
decryption.
10 Demonstration of Database Connectivity Knowledge of database connectivity
and basic framework
11 Practicals based on Numpy statistical analysis. Knowledge of Numpy
12 Practicals based on Pandas. Knowledge of Pandas
Attendance Requirements
The University norms states that it is the responsibility of students to attend all lectures, tutorials,
seminars and practical work as stipulated in the course outline. Minimum attendance requirement as
per university norms is compulsory for being eligible for semester examinations.
Reference Books:
1. John V Guttag. “Introduction to Computation and Programming Using Python”, Prentice Hall of India
2. R. Nageswara Rao, “Core Python Programming”, dreamtech
3. Wesley J. Chun. “Core Python Programming - Second Edition”, Prentice Hall
4. Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, “Data Structures and Algorithms in
Pyhon”, Wiley
5. Kenneth A. Lambert, “Fundamentals of Python – First Programs”, CENGAGE Publication
6. Luke Sneeringer, “Professional Python”, Wrox
7. “Hacking Secret Ciphers with Python”, Al Sweigart, URL-https://inventwithpython.com/hacking/chapters
Online Courses:
https://www.youtube.com/watch?v=N4mEzFDjqtA
https://www.youtube.com/watch?v=hnxIRVZ0EyU
https://www.youtube.com/watch?v=tKTZoB2Vjuk
ASSESSMENT GUIDELINES
Your final course mark will be calculated from the following:
SUPPLEMENTARY ASSESSMENT
Late Work
Late assignments will not be accepted without supporting documentation. Late submission of the
reports will result in a deduction of -% of the maximum mark per calendar day
Format
All assignments must be presented in a neat, legible format with all information sources correctly
referenced. Assignment material handed in throughout the session that is not neat and legible
will not be marked and will be returned to the student.
Plagiarism - Plagiarism is not acceptable and may result in the imposition of severe penalties.
Plagiarism is the use of another person’s work, or idea, as if it is his or her own - if you have any
doubts at all on what constitutes plagiarism, please consult your Course coordinator or lecturer.
Plagiarism will be penalized severely.
Teaching
Week # Topic & contents CO Addressed Learning
Activity (TLA)
I Presentation, Chalk
Week 2 Functions, Recursion, Global variables & Board
I Presentation,
Week 3 Modules, Files
Chalk & Board
II
Structured Objects, Mutability: Strings, Presentation,
Week 4
Tuples, Lists, Sets, Dictionaries Chalk & Board
II
Functions as Objects, Mutability and Presentation,
Week 5
Higher-Order Functions Chalk & Board
Basics of Web VI
Presentation,
Week 15 development(Introduction to
Chalk & Board
frameworks flask, tensor flow)