Center for Technical Education : Introduction to
Programming with Python
Course Summary
❏ Subject : Introduction to Programming with Python
❏ Level : Beginner to Intermediate
❏ Objective : To introduce students to multiple programming paradigms, object oriented
concepts and functional programming using the language Python.
❏ Workload : 5 - 10 hours/week(includes three one hour lectures.)
Instructors
Aditya Lahiri, Arif Ahmed, Gargi Balasubramaniam, Sharan Yalburgi and Utkarsh Rai.
Course Requirements
Install a text editor, preferably VS Code (else Atom or Sublime). Highly recommended to
use a UNIX based operating system (like macOS, Linux). Please install some linux distro
(preferably based on ubuntu) and if not possible, set it up on virtualbox.
Weekly Schedule
At the end of every week there will be a simple assignment which will primarily focus on what
was taught that week. Please note that this does NOT include the mini-projects. Week 6, 7 and 8
will be for discussion of the current mini-project implementation.
Week Topics Resources
1 ● Setting up a python programming Lectures/Notebook
environment and shell basics.
● Working with Jupyter Notebooks/Lab
● Basics : Statements, Expressions,
Variables
2 ● Boolean Logic Lectures/Notebook
● Iterables(Lists, Tuples, Sets), Loops,
Dictionaries.
● Conditionals, List Comprehension,
Iterators.
3 ● Input/Output (User and File I/O) Lectures/Notebook
● Functions
● Modular Programming
4 ● Classes Lectures/Notebook
● Creating instances and managing
attributes and methods
● Mutable/Immutable objects.
5 ● Standard library – os, sys, itertools, re Lectures/Notebook
● Intro to Git and Github
6 Mini-Project I PDF with hints
<20% of total grade> and grading
rubric
6 ● Good programming Lectures/PDF
practices(PEP8,commenting,
docstrings,etc)
● Getting comfortable with using new
libraries
Mini-project II PDF with hints
7 <20% of total grade> and grading
rubric
8 ● Introduction to web applications and Lectures/Notebook
servers
● Creating a web application using the
Django framework
9 Group Project PDF with hints
<20% of total grade> and grading
rubric
10 ● Unit Testing with PyTest Lectures/Notebook
● Testing your code with continuous
integration services
● Scientific computing(NumPy, Pandas,
basic matplotlib)
● Buffer: In case some classes are missed.
11 Final Project
<25% of total grade>
Weekly Assignments: 15%
Assessment
1. No attendance requirement.
2. All graded components are mini-projects.
3. Mini-projects will be uploaded to private repositories on GitHub. Instructors will be given
access permission. Code will be reviewed and grade given according to rubric.