πŸ“˜ Month 1: Python Basics (Detailed Plan with Code)


Week 1: Getting Started with Python

1.1 Install & Setup

print("Hello, World!")

1.2 Variables & Data Types

name = "Sree"
age = 25
height = 5.9
is_student = True

print(name, age, height, is_student)

1.3 Input & Output

user_name = input("Enter your name: ")
print("Welcome,", user_name)

1.4 Mini Assignment


Week 2: Python Fundamentals

2.1 Operators

# Arithmetic
a, b = 10, 3
print(a + b, a - b, a * b, a / b, a % b)

# Comparison
print(a > b, a == b, a != b)

# Logical
x, y = True, False
print(x and y, x or y, not x)

2.2 Strings

text = "Python Basics"
print(text.upper())
print(text.lower())
print(text[0:6])  # slicing
print("Basics" in text)  # membership

2.3 Lists, Tuples, Sets, Dicts

# List
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits)

# Tuple (immutable)
coordinates = (10, 20)

# Set (unique values)
numbers = {1, 2, 2, 3}
print(numbers)

# Dictionary (key-value)
student = {"name": "Alice", "age": 20}
print(student["name"])

2.4 Mini Assignment


Week 3: Control Flow

3.1 If-Else

age = int(input("Enter your age: "))
if age >= 18:
    print("You are an adult")
else:
    print("You are a minor")

3.2 Loops

# For loop
for i in range(5):
    print("Iteration", i)

# While loop
count = 0
while count < 5:
    print("Count:", count)
    count += 1

3.3 Break & Continue

for i in range(10):
    if i == 5:
        break  # stop loop
    if i % 2 == 0:
        continue  # skip even numbers
    print(i)

3.4 Mini Project: Number Guessing Game

import random

secret = random.randint(1, 10)
guess = int(input("Guess a number (1-10): "))

if guess == secret:
    print("Correct! πŸŽ‰")
else:
    print("Wrong, the number was", secret)

Week 4: Functions & Error Handling

4.1 Functions

def greet(name):
    return "Hello " + name

print(greet("Sree"))

4.2 Scope

x = 10

def func():
    x = 20  # local
    print("Inside:", x)

func()
print("Outside:", x)

4.3 Error Handling

try:
    num = int(input("Enter a number: "))
    print("You entered", num)
except ValueError:
    print("Invalid input! Please enter a number.")

4.4 Mini Project: Rock-Paper-Scissors

import random

choices = ["rock", "paper", "scissors"]

user = input("Choose rock/paper/scissors: ").lower()
computer = random.choice(choices)

print("Computer chose:", computer)

if user == computer:
    print("It's a tie!")
elif (user == "rock" and computer == "scissors") or \
     (user == "paper" and computer == "rock") or \
     (user == "scissors" and computer == "paper"):
    print("You win! πŸŽ‰")
else:
    print("You lose! 😒")

βœ… Month 1 Outcomes

By the end of Month 1, interns will:


Perfect βœ… Here’s a Weekly Assignment Sheet for Month 1 (Python Basics), designed for freshers with zero coding skills. Each week includes progressive assignments, ending with a mini project.


Weekly Assignment & Project Sheet


Week 1: Python Setup & Fundamentals

Objective: Get comfortable with writing and running Python programs.

Assignments:

  1. Install Python and VSCode / Jupyter Notebook. Run print("Hello World").
  2. Create variables: name, age, height, student_status. Print them.
  3. Ask the user for their name and greet them.
  4. Take user’s birth year as input and calculate their current age.

Mini Project: πŸ‘‰ Future Age Calculator


Week 2: Data Types, Strings, and Collections

Objective: Learn to store and manipulate data.

Assignments:

  1. Perform arithmetic with two numbers (add, subtract, multiply, divide).
  2. Take a sentence input and print:

  3. Create a list of 5 fruits. Add a new fruit and remove one.

  4. Create a dictionary with keys name, age, city and print values.

Mini Project: πŸ‘‰ Shopping List Manager


Week 3: Control Flow (If, Loops)

Objective: Learn to make decisions and repeat actions.

Assignments:

  1. Write a program to check if a number is even or odd.
  2. Print all numbers from 1–20 using a loop.
  3. Print only odd numbers from 1–20.
  4. Ask the user for a number, and print its multiplication table (1 to 10).

Mini Project: πŸ‘‰ Number Guessing Game


Week 4: Functions & Error Handling

Objective: Organize code into reusable blocks, handle errors gracefully.

Assignments:

  1. Write a function add(a, b) that returns the sum of two numbers.
  2. Write a function greet(name) that prints "Hello, <name>".
  3. Create a function to find the maximum of 3 numbers.
  4. Handle invalid input (e.g., if user types "abc" when asked for a number).

Mini Project: πŸ‘‰ Rock-Paper-Scissors Game


βœ… Deliverables


Perfect β€” here’s a Grading Rubric for Month 1 (Python Basics). It uses 3 levels (Beginner β†’ Intermediate β†’ Pro) with clear criteria for each week’s skills. This way, you can track progress, evaluate fairly, and give feedback.


Grading Rubric


Week 1: Python Setup & Fundamentals

Level Criteria
Beginner (β˜…) Installed Python but struggles to run scripts, only reproduces copy-paste code without understanding.
Intermediate (β˜…β˜…) Successfully writes print, variables, and input/output programs. Understands basic data types.
Pro (β˜…β˜…β˜…) Writes clean scripts with meaningful variable names, comments, and completes Future Age Calculator independently.

Week 2: Data Types, Strings, and Collections

Level Criteria
Beginner (β˜…) Can store data in lists/strings but struggles with modifying or accessing them.
Intermediate (β˜…β˜…) Can manipulate strings, lists, dictionaries, and complete Shopping List Manager with little help.
Pro (β˜…β˜…β˜…) Demonstrates creativity (e.g., sorting items, preventing duplicates), uses multiple collection types effectively.

Week 3: Control Flow (If, Loops)

Level Criteria
Beginner (β˜…) Understands if statements but struggles with loops. Code may have errors or infinite loops.
Intermediate (β˜…β˜…) Correctly uses if/else, for, and while loops. Completes Number Guessing Game with hints.
Pro (β˜…β˜…β˜…) Uses nested conditions/loops, adds replay option in Number Guessing Game, writes clear, structured code.

Week 4: Functions & Error Handling

Level Criteria
Beginner (β˜…) Can call simple functions but struggles with parameters and return values. Limited error handling.
Intermediate (β˜…β˜…) Defines reusable functions, uses try/except for handling invalid inputs. Completes Rock-Paper-Scissors.
Pro (β˜…β˜…β˜…) Modularizes the game into multiple functions, adds score tracking (best of 3), and handles invalid inputs gracefully.

βœ… Final Evaluation (End of Month 1)

πŸ‘‰ Suggested Weightage:


πŸ’‘ By the end of Month 1, interns who reach Intermediate (β˜…β˜…) are ready for Month 2 (Docker + Web Dev). Those at Pro (β˜…β˜…β˜…) can already start guiding peers.