Back close

Course Detail

Course Name Hands-on Introduction to Computing I
Course Code 24CSA108
Program 5 Year Integrated MSc/ BSc. (H) in Mathematics with Minor in Data Science
Semester I
Credits 4
Campus Amritapuri

Syllabus

Course Outline with sample applications/exercises:

  1. Introduction to computer terminology: architectures and components, programming languages, editors, and compilers. Installation of IDE. Using python interface as a calculator; Data types, basics of strings, assigning and printing variables, formatted output, scientific notation, built-in functions, importing modules, plotting mathematical functions like sin x, tan x, exp(x). Converting formulas into programming statements; sample applications: examples of conversion of units, calculating distances, areas and volumes, the roots of a quadratic equation.
  2. Simple examples of defining custom functions; returning multiple values, passing functions as arguments. Sample applications: plotting custom functions, functions to calculate roots of a quadratic equations, functions to covert units, etc.
  3. Conditionals and Branching and Looping: Programs to illustrate logical expressions, conditional evaluation of functions in different domains, multiway branching; Iterations: while and for loops.
  4. Arrays and list: Arrays, Lists, tuples, sets, dictionaries, mutable and immutable objects, operations on lists, formatted printing of arrays.
    Repetitive operations using looping tools.
    Scientific computing applications: calculations on sequences and series, recursion relations: calculating summation of power series of functions: sample applications: approximations for infinite series for trigonometric, exponential and logarithmic functions, average or mean value of a data set, variance, and standard deviation; Taylor series approximations; Generating data sets from functions and plotting.
  5. Plotting simple functions using matplotlib. Basic file operations; Coding style and commenting the code for readability; testing and debugging the code with print statements.
  6. Sample comprehensive example/project for programming tools, algorithm development, and mathematical computing concepts: generating data sets from functions, plotting the functions, determine local and global minima of narrowly spaced data points.

Summary

This course aims to familiarize students to elementary computing using Python programming language. Introductory session will be followed by hands-on sessions.

Course Objectives and Outcomes

Course Outcomes: On successful completion, students will be able to

CO1: familiarize basic computer terminology and start using ide as a versatile scientific calculator, use variables, basic data types, input/output data
CO2: Use standard programming constructs including branching, selection, repetition, functions, composition, modules, aggregated data (arrays, lists, etc.)
CO3: Compose simple working program scripts, test and debug a programs.
CO4: Apply basic programming skills to perform basic scientific calculations, plot functions, learn to define custom functions, save results to files
CO5: learn, identify, and use basic data structures for different purposes.

References

  1. Svein Linge, Hans Petter Langtangen, Programming for Computations – Python, 2E (2020, Springer)
  2. Tony Gaddis, Starting Out with Python, 3E, Pearson, 2015.Book contains flowcharting and pedagogical program development in an introductory Python book. Ch. 1 to 5, Ch 7.
  3. Hans Petter Langtangen, A Primer on Scientific Programming with Python, 5E, Springer, 2016.
  4. D.J. Pine, Introduction to Python for Science & Engineering (2019, Taylor & Fransis)
  5. Zed A Shaw, Learn Python the Hard Way, 3E, Pearson, 2017
  6. Mahendra Verma, Practical Numerical Computing Using Python: Scientific & Engineering Applications, Self-Published
  7. https://personal.math.ubc.ca/~pwalls/math-python/ (sequences and series, numerical differentiation, numerical integration, linear algebra)
  8. One material and tutorials: www.python.org ; https://www.learnpython.org; www.vpython.org.

Skills and Employability: Entire course contents with tutorials and assignments help build foundations and develops computational thinking, programming skills – design and implementation of software for scientific, engineering and industrial computing applications in universities, industries and research labs/organizations.

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now