Coursework completed for CS 1026 at Western University. This repository contains four major Python assignments that progressively develop skills in problem solving, software design, file processing, data analysis, and object-oriented programming.
- Python
- Object-Oriented Programming (OOP)
- File I/O
- Lists, Dictionaries, and Sets
- Exception Handling
- Data Processing
- Modular Programming
A command-line application that calculates the area and perimeter of various geometric shapes.
- Rectangle calculations
- Triangle calculations
- Circle calculations
- Trapezoid calculations
- Hexagon calculations
- Input validation
- User input handling
- Conditional logic
- Mathematical calculations
- Python fundamentals
- Data validation
A multi-file Python application that evaluates password strength and can generate secure passwords.
- Password strength evaluation
- Character category analysis
- Lowercase letters
- Uppercase letters
- Numbers
- Symbols
- Random password generation
- Password validation
- Modular programming
- Function design
- Multi-file projects
- Randomized generation
- Input validation
- Program flow control
password.pygenerate.pylogin.py
A data-processing application that analyzes YouTube comments and determines dominant emotions using keyword-based sentiment analysis.
- CSV and TSV file processing
- Comment filtering by country
- Text cleaning and normalization
- Keyword dictionary generation
- Emotion classification
- Automated report generation
- File processing
- Data cleaning
- Dictionaries and nested dictionaries
- Text analysis
- Report generation
- Exception handling
- Modular software design
main.pyemotions.py
An object-oriented system for managing airports, flights, and route information.
- Airport and Flight classes
- Flight route management
- Airport lookup functionality
- Country and city flight searches
- Direct flight detection
- Layover route discovery
- Shortest flight identification
- Return flight searching
- Object-Oriented Programming
- Class design
- Data structures
- File processing
- Search algorithms
- Exception handling
- Software architecture
Airport.pyFlight.pyAssign4.py
Throughout these assignments I gained experience with:
- Python programming fundamentals
- Object-oriented software development
- Modular program design
- Data processing and analysis
- File manipulation
- Algorithmic problem solving
- Software testing and debugging
- Technical documentation
Potential future enhancements include:
- GUI development
- Database integration
- Unit testing
- API integrations
- Data visualization
- Deployment and packaging