COURSE OBJECTIVES

To write, test, and debug simple Python programs.
To implement Python programs with conditionals and loops.
Use functions for structuring Python programs.
Represent compound data using Python lists, tuples, dictionaries.
Read and write data from/to files in Python.

Cheat Sheets

List of programs

ConceptSequenceObjective

Learn Python in 10 minutes

lab 0.0

Blockly Challenge and Turtle Graphics, Read http://bit.ly/python10

Waterloo, CodingBat

lab 0.1

Problem sets

7 constructs, 140 CloudCoder exercises, Python workshop

lab 0.2

Swap two numbers (variables), test for Leap Year (conditional), cycle through n variables, and sum of array of numbers (loops)

Algorithmic, Tuples, Modulo Arithmetic, Global Scope (vs) Local Scope, Indefinite looping (while keyword), if-else statements, Recursion

lab 1

Compute the GCD of two numbers

Algorithmic - same as above

lab 2

Find the square root of a number (Newton’s method)

Algorithmic

lab 3

Exponentiation (power of a number)

Algorithmic, Searching, Subscripting

lab 4

Linear search and Binary search

Algorithmic

lab 5

First n prime numbers

Lists

lab 6

Find the maximum of a list of numbers

Lists, Dictionaries

lab 7

Removing all the duplicate elements in a list

Looping through Lists, Sorting

lab 8

Selection sort, Insertion sort

Sorting (divide-and-conquer)

lab 9

Merge sort, Quick sort

Mutable data - List of Lists

lab 10

Multiply matrices

Mutable data - Dictionary, main() function, sys module, getopt function, Basic error handling

lab 11

Programs that take command line arguments (word count, aka Unix command wc)

Dictionary, File Handling, Exceptions, Formatted Writing

lab 12

Find the most frequent words in a text read from a file

Advanced

Lab Integration

Solve the CloudCoder problem at http://cloudcoder.kgkite.ac.in/cloudcoder/#exercise?c=7,p=1229. Maximum points for the most elegant solution, aka one that is both efficient and one that is also easy to understand.

Advanced

Lab Integration2

Read personal GPS data from file and plot on a map and find the distance from home to KITE

Platform needed

  • Python 3 interpreter for Windows/Linux

  • Total: 60 Periods

COURSE Outcomes

Upon completion of the course, students will be able to

  • Write, test, and debug simple Python programs.

  • Implement Python programs with conditionals and loops.

  • Develop Python programs step-wise by defining functions and calling them.

  • Use Python lists, tuples, dictionaries for representing compound data.

  • Read and write data from/to files in Python.

Bonus Lab GTG

For Inspiration review - https://www.python.org/about/success/

  • Genius Project - choose an open source project of your choice from github. If you are mechanical engineer, choose a project that is related to your discipline. Make a serious attempt to understand 100% of the logic of the code.

    • Make changes to the code to improve the efficiency or effectiveness or create meaningful extensions.

    • Pre-register with your faculty to indicate that you want to complete this project with mentoring help

    • If you win the Python Genius Project Competition which will be held in the week of Sept 6, 2017, you will be awarded a prize for the best GTG Project, worth upto Rs 10,000

  • Think up a creative use of a Python script that you would like to use on your mobile. Create a personal Mobile App using Python to implement it - https://www.quora.com/Can-I-make-an-Android-app-with-Python

Last updated