Laboratory of Statistical Artificial Intelligence and Machine Learning

Introduction to Programming ID1110 Spring 2025

Objectives

Students will be able to i. design and code moderate-sized (100 to 200 lines) programs for solving simple computational tasks, ii. understand and debug moderate-sized programs written by others, iii. use some fundamental data structures and algorithms, vi. familiarity with a few popular Python libraries.

Lecture and Lab Timings

Tuesday 9.00-9.50am
Thursday 9.00-9.50am

Tuesday 10.00am-12.50pm (B1-B6)
Thursday 10.00am-12.50pm (B7-B12)

Reference Material
  • Primary Textbook : Guttag, John. Introduction to Computation and Programming Using Python: With Application to Understanding Data. MIT Press, 2016. ISBN: 9780262529624.

  • Other Reference Books:

    • Starting Out with Python, 5th Edition, 2021, Tony Gaddis ISBN-13: 9780136679110

    • Introduction to Programming in Python: An Interdisciplinary Approach. Robert Sedgewick , Kevin Wayne, Robert Dondero. Addison-Wesley Professional. 978-0134076430

Academic integrity

Students enrolled in this course are expected to exhibit a strong desire to learn, rather than just fulfilling a requirement for their degree. Engaging in discussions that help students better understand concepts or problems is encouraged. However, all submitted work must be original. Plagiarism, including copying from the internet, textbooks, or any other source for which the student does not hold the copyright, as well as sharing code with other students, will not be tolerated and will result in strict disciplinary action, including a failing grade in the course. If you have any questions about this policy, please contact the instructor. All academic integrity violations will be handled in accordance with institute regulations.

Grading Policy
  • Tests Two tests will be conducted during the semester. Check the course calendar for the quiz dates. Each quiz will account for 15% of your overall grade.

  • Labs There will be around 10 programming labs during the semester that will account for 15% of the overall grade. There will also be a mid term lab worth 7.5% and an end term lab worth 12.5% of the overall grade.

  • Exams There will be an end-semester exam that will account for 20% of the overall grade.

Attendance

This course follows the attendance criteria mandated by the institute.

Tentative Course Schedule

week 1 (3) - Introduction, IDLE, and numerical types
week 2 (1.5) - Strings
week 3 (3) - Branching structures, input, lab 1
week 4 (3) - Repetition structures and loops, lab 2
week 5 (3) - functions, lab 3
week 6 (3) - Structured data types, test 1
week 7 (3) - File processing, lab 4,
week 8 (3) - Buffer week, lab 5, mid-sem lab exam
week 9 (3) - Testing and debugging, lab 6
week 10 (3) - Exceptions and Assertions lab 7
week 11 (3) - Classes and object oriented programming test 2
week 12 (3) - Classes and object oriented programming, lab 8
week 13 (3) - Recursion, lab 9
week 14 (1.5) - Data Structures
week 15 (3) - Data Structures lab 10
week 16 (1.5) - Summary end-sem lab exam

Lecture Material

Students enrolled in the course can access the lecture material from Moodle