A beginner-level Python project to practice core programming concepts.
- Use Python lists and dictionaries
- Write and use functions
- Accept user input
- Perform basic calculations (e.g., averages)
- Organize readable and maintainable code
- In
student_data.py, complete:add_student(): Collects student name, age, and grade.view_students(): Displays all added students.get_average_grade(): Calculates the average of all grades.
- In
main.py, call the functions using a simple menu system.
cd month1_student_management
python main.pyA practical project to combine SQL and Python for building and analyzing a retail data workflow.
- Create and manage SQL tables
- Insert and query relational data
- Perform SQL aggregations and joins
- Use Python for reporting and basic analytics
Define each table with the following columns:
-
customerscustomer_id(Primary Key)nameemailjoin_date
-
productsproduct_id(Primary Key)product_namecategoryprice
-
ordersorder_id(Primary Key)customer_id(Foreign Key β customers)product_id(Foreign Key β products)quantityorder_date
Insert at least 5 rows into each table with realistic sample values.
-
Basic Queries
- Use
SELECTto retrieve all customers or all products. - Use
WHEREto filter products by category (e.g.,"Drinks"). - Use
ORDER BYto list recent orders by date.
- Use
-
Aggregation
- Use
COUNT()to find the number of total orders. - Use
SUM()to calculate revenue per product (price Γ quantity). - Use
AVG()to find the average product price.
- Use
-
Joins
- Use
INNER JOINto get detailed order information (with customer and product details). - Use
LEFT JOINto list all customers and include their orders (if any). - Use
LEFT JOINto show products even if they havenβt been ordered.
- Use
- Simulate new orders using
listsordictionaries - Use conditionals to flag large orders (e.g., total > $100)
- Convert product prices to another currency and apply conditional discounts
- Generate a dictionary report including:
- β Total products sold
- β Most popular product
- β Revenue per customer
π‘ Bonus: Save the report to a
.jsonfile or print a nicely formatted summary.
cd month2_minimart_analysis/python
python main.py-
Fork this repository to your GitHub.
-
Clone it locally:
git clone https://github.com/SamDewriter/first-semester-projects.git cd first-semester-projects -
Complete all tasks inside
month1_student_management/andmonth2_minimart_analysis/. -
Commit and Push:
git add . git commit -m "Completed Month 1 & 2 projects" git push origin main
-
Submit your GitHub repo link.
- Python 3.x
- PostgreSQL (recommended for Month 2)
- Any text editor or IDE (VSCode, PyCharm, etc.)
Happy coding! π