Skip to content

Portfolio of Python projects showcasing advanced data structures, algorithms, and optimization models—demonstrating problem-solving, efficiency, and applied analytics from my B.S. in Information Systems & Business Analytics at LMU.

Notifications You must be signed in to change notification settings

awinter4/programming-portfolio

Repository files navigation

programming-portfolio

Author: Andrew M. Winter

Overview

Portfolio of academic projects developed as part of my B.S. in Information Systems & Business Analytics at Loyola Marymount University, with coursework spanning both the College of Business and the Computer Science Department. This collection features implementations from (CMSI 2120) Data Structures & Applications and (CMSI 2130) Algorithms & Analysis, highlighting my ability to design, implement, and evaluate efficient computational solutions using Python and related tools.

Purpose

This portfolio is designed to showcase my technical foundation in computer science and my ability to translate theory into practice through hands-on projects. By documenting implementations of core data structures, algorithms, and optimization techniques, I aim to demonstrate:

  • Proficiency in problem solving through the design and analysis of efficient computational solutions.
  • Strong coding ability with Python and related tools, applying advanced data structures and algorithmic paradigms.
  • Clear communication and collaboration by providing well-structured, documented code that is accessible to employers, peers, and future collaborators.

Ultimately, this repository highlights not only what I have built, but also how I approach challenges, optimize performance, and apply computer science fundamentals to real-world problem solving.

Courses Represented

  • (CMSI 2120) Data Structures & Applications: Focused on the design, specification, and implementation of core data structures and algorithms. Covered abstract data types and collection interfaces for sets, lists, stacks, queues, heaps, dictionaries, and hierarchical structures. Explored implementation techniques such as arrays, linked lists, hash tables, and balanced trees, alongside efficiency considerations through asymptotic complexity analysis. Applied methods for sorting, searching, indexing, and hashing to solve computational problems in practice.
  • (CMSI 2130) Algorithms & Analysis: Explored core algorithmic paradigms such as divide-and-conquer, greedy methods, dynamic programming, backtracking, and randomized approaches, with emphasis on combinatorial search and optimization. Gained experience with advanced heuristics including simulated annealing and genetic algorithms, as well as practical applications like string matching, longest common subsequence, and advanced sorting techniques. Studied graph algorithms, constraint satisfaction problems, and computational geometry, while applying concepts such as recurrences and the Master Theorem to analyze algorithm efficiency.

Repository Structure

programming-portfolio/
│── README.md                             # Portfolio overview (this file)
│── data-structures-and-applications/     # Projects from Data Structures & Applications
│   ├── /hw1: Utility Library
│   ├── /hw2: Saalmon Battles
│   ├── /hw3: Saalmonagerie II
│   ├── /hw4: Predictive Text Engine
│   └── /hw5: WikiWalker
│── algorithms-and-analysis/              # Projects from Algorithms & Analysis
│   ├── /hw1: Maze Biathlon (A*)
│   ├── /hw2: Tic-Tac-Total (α-β Minimax)
│   ├── /hw3: Distle Solver
│   ├── /hw4: Huffman Compressor
│   └── /hw5: CSP Scheduler

Project Descriptions

CMSI 2120: Data Structures & Applications

  • Utility Library: Built foundational Python utilities and data abstractions to support later data-structure implementations.
  • Saalmon Battles: Implemented a simulation engine using custom data structures to manage battles between “Saalmon” entities.
  • Saalmonagerie II: Extended the Saalmon project with linked structures to represent relationships and dynamic interactions.
  • Predictive Text Engine: Developed an autocomplete system leveraging tries and string processing for efficient predictive text functionality.
  • WikiWalker: Designed a graph traversal tool to explore Wikipedia link networks using BFS/DFS strategies.

CMSI 2130: Algorithms & Analysis

  • Maze Biathlon: Applied A* search to navigate mazes with variable costs and shooting actions to hit all targets.
  • Tic-Tac-Total (α-β Minimax): Created an optimal Tic-Tac-Toe variant agent using minimax with alpha-beta pruning.
  • Distle Solver: Implemented an edit-distance game solver and intelligent agent to guess words with transformation feedback.
  • Huffman Compressor: Built a Huffman coding algorithm for efficient text compression and decompression.
  • CSP Scheduler: Engineered a constraint satisfaction problem solver for scheduling meetings with backtracking and consistency checks using a hillclimbing with simulated annealing approach.

Reflections & Learning Outcomesc

Through these projects, I gained practical experience bridging theory with real implementations, improving my ability to frame problems, evaluate trade-offs, and optimize solutions. I learned the value of efficiency, persistence in debugging, and adaptability in applying different strategies. Most importantly, I developed confidence in communicating technical work clearly—skills that provide a strong foundation for future growth in analytics, software engineering, and data-driven problem solving.

Contact Information

About

Portfolio of Python projects showcasing advanced data structures, algorithms, and optimization models—demonstrating problem-solving, efficiency, and applied analytics from my B.S. in Information Systems & Business Analytics at LMU.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages