Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

Repository files navigation

Python1026 - Introduction to Computer Science II

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.  

Technologies 

  • Python
  • Object-Oriented Programming (OOP)
  • File I/O
  • Lists, Dictionaries, and Sets
  • Exception Handling
  • Data Processing
  • Modular Programming  

 

Assignment 1: Shapes and Sizes

A command-line application that calculates the area and perimeter of various geometric shapes.  

Features 

  • Rectangle calculations
  • Triangle calculations
  • Circle calculations
  • Trapezoid calculations
  • Hexagon calculations
  • Input validation  

Skills Demonstrated

  • User input handling
  • Conditional logic
  • Mathematical calculations
  • Python fundamentals
  • Data validation  

 

Assignment 2: Password Strength Analyzer 

A multi-file Python application that evaluates password strength and can generate secure passwords.  

Features

  • Password strength evaluation
  • Character category analysis
  • Lowercase letters
  • Uppercase letters
  • Numbers
  • Symbols
  • Random password generation
  • Password validation  

Skills Demonstrated 

  • Modular programming
  • Function design
  • Multi-file projects
  • Randomized generation
  • Input validation
  • Program flow control  

Files:

  • password.py
  • generate.py
  • login.py  

 

Assignment 3: YouTube Comment Emotion Analyzer 

A data-processing application that analyzes YouTube comments and determines dominant emotions using keyword-based sentiment analysis.  

Features

  • CSV and TSV file processing
  • Comment filtering by country
  • Text cleaning and normalization
  • Keyword dictionary generation
  • Emotion classification
  • Automated report generation  

Skills Demonstrated 

  • File processing
  • Data cleaning
  • Dictionaries and nested dictionaries
  • Text analysis
  • Report generation
  • Exception handling
  • Modular software design  

Files:

  • main.py
  • emotions.py  

 

Assignment 4: Flight Management System

An object-oriented system for managing airports, flights, and route information.  

Features 

  • 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  

Skills Demonstrated

  • Object-Oriented Programming
  • Class design
  • Data structures
  • File processing
  • Search algorithms
  • Exception handling
  • Software architecture  

Files:

  • Airport.py
  • Flight.py
  • Assign4.py  

 

Key Learning Outcomes 

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  

Future Improvements

Potential future enhancements include: 

  • GUI development
  • Database integration
  • Unit testing
  • API integrations
  • Data visualization
  • Deployment and packaging

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages