Details of CS1101 (Autumn 2022)

Level: 1 Type: Laboratory Credits: 3.0

Course CodeCourse NameInstructor(s)
CS1101 Introduction to Computer Programming Dwaipayan Roy,
Kripabandhu Ghosh,
Pradip Kumar Ghorai,
Supratim Sengupta,
Susmita Roy,
Swastika Chatterjee

Preamble
This course aims to introduce our level 1 students to the basics of computer programming. As a starter course, we try to introduce students to an easily accessible common platform where open-source solutions are used. As OS, we choose Linux for its wide applications in academia (particularly where scientific computation is concerned). For the language, we choose python as it is one of the most preferred languages for programming (in academia and otherwise). For plotting, we use Gnuplot as an easily accessible yet powerful open-source solution.

Syllabus
1. Introduction to Linux operating systems:
* Basic usage (how to use terminals, text editors, browsers, etc.).
* Bash shell and essential commands for navigation and file operations.
* Utilities for compressing files (tar, gunzip, etc.) for easy transmission of the files.

2. Basic plotting using Gnuplot
* plotting data from files
* plot annotations
* fitting data

3. Introduction to programming (using python 3)
* programming essentials: variables, assignments, control structures, loops, lists
* mathematical operations
* list comprehension
* strings and string manipulation
* iterative processes

4. Simple applications of programming to scientific problems

Prerequisite
None.

References
1. Linux tutorial for beginners at http://www.ee.surrey.ac.uk/Teaching/Unix/
2. Gnuplot tutorial at http://www.ibm.com/developerworks/library/l-gnuplot/
3. A. B. Downey, Think Python - How to Think Like a Computer Scientist free e-book available at http://www.greenteapress.com/thinkpython/
4. Swaroop C. H., Byte of python free e-book at http://www.swaroopch.org/notes/Python
5. M. Lutz, Learning python , O'Reilly (2009)

Course Credit Options

Sl. No.ProgrammeSemester NoCourse Choice
1 IP 1 Not Allowed
2 IP 3 Not Allowed
3 IP 5 Not Allowed
4 MP 1 Not Allowed
5 MP 3 Not Allowed
6 MR 1 Not Allowed
7 MR 3 Not Allowed
8 MS 1 Core
9 RS 1 Not Allowed
10 RS 2 Not Allowed