Title: Python Programming Internship Tasks
Subtitle: CSEdge Internship Program
Author: Team CSEdge
Level: Easy, Medium, Hard
Questions per Level: 4
a
Total Questions: 12
To get started with the projects, follow these steps:
- Clone the repository to your local machine using the command:
git clone https://github.com/CSEdgeOfficial/Python-Programming-Internship
- Navigate to the cloned directory:
cd Python-Programming-Internship
- Create a new folder with your full name to store your projects:
mkdir YourFullName && cd YourFullName
- Begin working on the tasks within your named folder.
After finishing a task, create a separate folder inside your named folder for that particular task and submit a pull request to the master
branch of this repository. Our team will review your submission and merge it if approved.
Welcome to the Python Programming Internship with CSEdge! During this journey, you'll tackle various tasks aimed at expanding your knowledge and expertise in Python programming. This document presents 12 tasks divided into three categories—Easy, Medium, and Hard.
- Attempt the tasks according to their difficulty level, beginning with the easiest ones.
- Focus on solving only one category—Easy, Medium, or Hard—for now.
- Write functions, classes, modules, tests, and documentation where required.
- Keep your code organized, modular, and easy to read.
- Comment your solutions thoroughly, explaining how they work and why you made certain decisions.
- Save your finished work in appropriately labeled folders under your named folder.
- Send the entire collection of source codes, along with necessary instructions, to your designated mentor via a share link on GitHub.
- Correctness of implemented algorithms and logic
- Quality of code (structure, comments, naming conventions, etc.)
- Performance and optimization efforts
- Efficient use of external libraries when needed
- Problem-solving creativity and originality
Now let's dive into the tasks!
Beginner Level:
-
Simple Calculator:
- Create a basic calculator application that performs arithmetic operations like addition, subtraction, multiplication, and division.
-
To-Do List:
- Develop a console-based or GUI application for managing tasks with features like adding, deleting, and marking tasks as completed.
-
Number Guessing Game:
- Implement a program where the computer generates a random number and the player tries to guess it within a certain number of attempts.
-
PDF Converter:
- Build a tool that converts PDF files into different formats such as text, images, or other document types.
Intermediate Level:
-
Weather App:
- Create a program that fetches weather data from an API and displays current weather conditions, forecasts, and temperature trends.
-
Web Scraper:
- Develop a tool to extract data from websites by scraping HTML content and storing it in a structured format like CSV or JSON.
-
Chatbot:
- Build a simple chatbot using natural language processing techniques to respond to user queries and provide relevant information.
-
PDF Merger/Splitter:
- Write a program that merges multiple PDF files into one or splits a PDF file into multiple smaller files.
Advanced Level:
-
Image Converter:
- Write a program that accepts images in multiple formats (JPEG, PNG, BMP, GIF) and converts them into a desired format using Python Imaging Library (PIL).
-
Data Analysis with Pandas:
- Load the "Iris" dataset from Seaborn and analyze it using Pandas. Perform exploratory data analysis, cleaning, aggregation, visualizations, and correlation calculations.
-
Linear Regression with Scikit-learn:
- Apply linear regression to predict house prices from the Boston housing dataset using scikit-learn. Compare train and test scores and plot residuals.
-
Image Compression:
- Develop a Python tool for compressing images while maintaining quality. Explore compression techniques like RLE and DCT. Allow users to adjust compression quality, support various image formats, and provide output options. Optionally, include a user interface. Ensure code modularity, performance optimization, and test with diverse images, along with comprehensive documentation.
Should you encounter issues during tasks within your named folder, don't hesitate to raise concerns in the repository's Issue Tab by opening an issue ticket. Our team will swiftly attend to your needs.
Yes, indeed! Look up authoritative references such as the official documentation and reliable tutorials on sites like YouTube, FreeCodeCamp, Udemy, or Coursera. Moreover, delve into stack overflow discussions addressing typical challenges developers confront.
While firm deadlines aren't imposed, consistent progression through tasks helps optimally absorb concepts and harness acquired skills effectively. By keeping pace, you ensure steady advancement over the internship duration.
By actively engaging in these tasks and arranging outcomes within your named folder, you fortify indispensable abilities pivotal to triumph in genuine software engineering scenarios. Have fun, and excel in your coding venture!