You are on page 1of 4

CS100 – Python Programming (2:0:1) 3

January – April 2024

Name of the Course: Python Programming Course No: CS100 No. of Credits (L-T-P): 2-0-1 (3)
Year & Semester, Section: 2023-24, II Course Type: Engineering Academic Session: Even
Sem. S1 – S6, Chemistry Cycle Science Core

Prerequisites (if any): None

Name and Contact Details of Course Instructors:


Ganavi C N <al.ganavigowda@nitk.edu.in>, Chetan Ratnakar Naik <al.crn@nitk.edu.in>, Deepthi poojari
<al.deepthicse@nitk.edu.in>, Sadhana <sadhana.197cs002@nitk.edu.in>, Basavaraj Talawar,
basavaraj@nitk.edu.in.

Evaluation Scheme: Tutorials, Quizzes, Assignments, Course Project – 40%, Mid Sem – 20%, Final Exam – 40%.
Course Objectives
1. Provide systematic and comprehensive treatment of thinking and problem solving in Computer Science.
2. List the components of a compute device, and the components of code execution.
3. Introduce the use of variables, programming constructs, and in-built data structures in Python.
4. Illustrate the power of Python in solving large compute problems in various domains.
Course (Learning) Outcomes (COs)
CO-1. Demonstrate solutions to computing problems in formal representation such as a Flowchart or psuedo-code.
CO-2. Compare and contrast various properties of the Python programming language with other leading
programming languages
CO-3. Understand and use variables, and programming constructs in the Python programming language in solving
problems in computing.
CO-4. Demonstrate effective implementation of Python data structures best suited for a given compute problem.

Teaching Learning Interaction


Module Title Module Contents L-T-P
hours

M1 – Problem solving in Computer Science with examples. Computers: definition and 2-0-0
Introduction components. Introduction to the Python programming language. Python execution
environment. Killer applications in Python.

M2 – Data Variables in Python. Strings, and Numbers – Common operations on strings and 10-6-0
Types in numbers. Lists and Tuples - Common operations on Lists: accessing elements, adding,
Python removing, ordering. Common operations with Tuples. Dictionaries in Python.
Common operations: accessing elements, adding, removing. Nested dictionaries.
Examples.

M3 – Loops, Conditional statements in Python. Loops, ranges, break, continue. Examples. 4-2-0
and Condition
Statements

M4 – Functions in Python: defining, calling, passing parameters, passing arbitrary 6-2-0


Functions and parameters. Recursion. Decorators.
Classes Classes in Python: defining, methods, __init__ method. Classes, Objects, __init__(),
__super__(), Inheritance, Attributes. Regular Expressions.

M5 – Files, File handling, storing data. Exception handling. Unit Testing in Python. 4-2-0
Exceptions,
Testing

M6 – Libraries, NumPy, SciPy, Plotting libraries. Calling APIs. 4-0-0


APIs

Topics beyond syllabus/Advanced Topics (if any)

2. List of Text Books & Reference Books, On-line Course Resources


1. Eric Matthes, Python Crash Course, 2e. 2019. No Starch Press.
2. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2e. O’Reilly, 2015. Available
here: https://greenteapress.com/wp/learning-with-python/
3. A Byte of Python: https://python.swaroopch.com/
4. Paul Barry, Head-First Python, 2e. O’Reilly, 2015.
5. Mark Lutz, Learning Python – Powerful Object Oriented Programming, 2013.

Related Online Courses


1. Codecademy: https://www.codecademy.com/learn/learn-python-3, Freecode camp:
https://www.youtube.com/watch?v=rfscVS0vtbw
2. Learn Python: https://inventwithpython.com/. Python for Beginners: https://www.pythonforbeginners.com/
3. Awesome Python, https://github.com/vinta/awesome-python. Python Spot: https://pythonspot.com/.
4. Google’s Python Class: https://developers.google.com/edu/python

3. Suggested list of Assignments / home works /problems/ ANY OTHER:


Brief description of assignments.
Assignment and Title Objectives
Problem solving (TQuiz) sessions: ~10. One 1. Thinking in Computer Science, Puzzle solving
every week. 2. Translating solution into flowcharts or pseudocode

4. Laboratory Instructions (if any): Laboratory exercises in CS101.

****
CS101 – Python Programming Lab (0:0:3) 2
January – April 2024

Name of the Course: Python Programming Lab Course No: CS101 No. of Credits (L-T-P): 2-0-1 (3)
Year & Semester, Section: 2023-24, II Sem. S1 – Course Type: Engineering Academic Session: Even
S6, Chemistry Cycle Science Core

Prerequisites (if any): None

Name and Contact Details of Course Instructors:


Ganavi C N <al.ganavigowda@nitk.edu.in>, Chetan Ratnakar Naik <al.crn@nitk.edu.in>, Deepthi poojari
<al.deepthicse@nitk.edu.in>, Sadhana <sadhana.197cs002@nitk.edu.in>, Basavaraj Talawar,
basavaraj@nitk.edu.in.

Evaluation Scheme: Lab Exercises - 55%, Mid Sem – 20%, Final Exam – 25%.
Course Objectives
1. Provide systematic and comprehensive treatment of thinking and problem solving in Computer Science.
2. Introduce the use of variables, programming constructs, and in-built data structures in Python.
3. Illustrate the power of Python in solving large compute problems in various domains.
Course (Learning) Outcomes (COs)
CO-1. Demonstrate solutions to computing problems in formal representation such as a Flowchart or psuedo-code.
CO-2. Understand and use variables, and programming constructs in the Python programming language in solving
problems in computing.
CO-3. Demonstrate effective implementation of Python data structures best suited for a given compute problem.

Lab Exercises
Week Exercises

1 Python Setup. Variables, Print statements, Simple functions.

2 Strings / Conditional statements

3 Strings / Numbers / Conditional statements

4 Strings / Numbers / Conditional statements

5 Lists, Conditional Statements, Loops

6 Lists, Conditional Statements, Loops

7 Tuples, Conditional Statements, Loops

8 MidSem

9 Sets, Conditional Statements, Loops

10 Dictionaries

11 Dictionaries

12 Functions, Classes

13 Python Libraries – Examples


14 Python Libraries – Examples

15 Python Libraries – Examples

16 Final Exam

2. List of Text Books & Reference Books, On-line Course Resources


1. Eric Matthes, Python Crash Course, 2e. 2019. No Starch Press.
2. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2e. O’Reilly, 2015. Available
here: https://greenteapress.com/wp/learning-with-python/
3. A Byte of Python: https://python.swaroopch.com/
4. Paul Barry, Head-First Python, 2e. O’Reilly, 2015.
5. Mark Lutz, Learning Python – Powerful Object Oriented Programming, 2013.

Related Online Courses


1. Codecademy: https://www.codecademy.com/learn/learn-python-3, Freecode camp:
https://www.youtube.com/watch?v=rfscVS0vtbw
2. Learn Python: https://inventwithpython.com/. Python for Beginners: https://www.pythonforbeginners.com/
3. Awesome Python, https://github.com/vinta/awesome-python. Python Spot: https://pythonspot.com/.
4. Google’s Python Class: https://developers.google.com/edu/python

3. Suggested list of Assignments / home works /problems/ ANY OTHER:


Brief description of assignments.
3 – 5 lab assignments per week. 1. Thinking in Computer Science, Puzzle solving
The problems will be provided at the beginning of the lab. 2. Translating solution into flowcharts or pseudocode

****

You might also like