Skip to content
View spencerhiscox's full-sized avatar

Block or report spencerhiscox

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
spencerhiscox/README.md

SPENCER HISCOX                                

https://www.linkedin.com/in/spencerhiscox

HONOURS MECHANICAL ENGINEERING, UNIVERSITY OF WATERLOO


ABOUT

I was Born to be an Engineer.

I've always had an insatiable curiosity and a relentless desire to understand the intricacies of how things work and why. I love problem-solving and I'm obsessed (obsessively) with optimization. Whether it's coding, mechanical design, hardware, or pure sciences, I'm constantly seeking new challenges and opportunities to learn and grow. ...Read More...


CS SPECIFIC SKILLS / EXPERIENCE

LANGUAGES

SOFTWARE

  • Python
  • Visual Studio 2019
  • C++
  • Wing101
  • C
  • LabView
  • MATLAB
  • MATLAB
  • Truss Geometry Optimization Utility (Python)
    Iteratively solves internal forces of each truss member for four truss types across a range of angles at coarse (δ = 1 degree) resolution, assigning HSS geometries to minimize cost (material usage). Calculates each truss' total weight and recursively passes over identified low-point of distribution, increasing resolution by an order of magnitude on each pass. Visualizes optimization passes graphically for review, identifies and stores the optimal geometry for each truss type and returns the optimal truss type and geometry. Coded for function call tracing diagnostics and cross-validation.
    • TUI
    • Dependency Inversion Interface
    • Recursive Algorithms
    • Data Visualization / Manipulation
    • Dynamic Multi-pass Optimization
    • Classes / Methods
    • State Variables
    • Cross-Validation
    • Function Call Tracing
    • File I/O
    • Arbitrary Argument Lists
    Written: 03/2023
    CA-VI: Sorting Algorithms (C++)
    Implementation of doubly linked list data structure with limited searchability / sortability. "List" and "Node" classes were created to house the overall database and individual entries, respectively, with any built-in functionality of the data structure implemented as methods of the List class. An alphabetical sort algorithm was nested inside an insertion sort algorithm, both written from scratch. Common functions such as popback(), peekfront() etc. were also defined under the List class.
    • Dynamic Allocation
    • Doubly Linked List
    • Insertion Sort
    • Alphabetical Sort
    Written: 04/2022
    CA-V: Class Templates & Vectors (C++)
    Class templates and method variants defined in header file to enable storage of any data type as a 'set' (array) of that data using vector methods.
    • Class Templates
    • Vectors
    • Dynamic Allocation
    • Arrays
    Written: 03/2022
    CA-VIII: Basic Game Logic / State Variables (C)
    Utilized structs and functions to implement a TUI variation on a dice game.
    • State Variables
    • Game Logic
    • TUI
    • Dynamic Allocation
    • Recursion
    • Structs
    • Functions
    Written: 12/2021
    CA-VII: Structures / Data Visualization (C)
    Simple program which simulates rolling a pair of die a user-specified amount of times and tracks the amount each roll total comes up. These roll totals are then compiled into a histogram and displayed via ASCII art output in console. ASIDE: The solution makes use of a recursive algorithm I wrote which purges buffer overflow resultant from user-entered text into a numeric format specifier using scanf(). This was outside the scope of the assignment.
    • Recursion
    • Structures
    • Functions
    • ASCII art // Data Visualization
    Written: 11/2021
    Task Organizer [WIP] (Python)
    I had the idea to write a bit of code that will take information from an excel or csv file (tasks) and sort them by whether they're ancillary or university education related, then whether they're assignments, or required readings or upcoming exams etc. The data should then be displayed either in absolute order of nearest deadlines or, sorted by type of task first, then sorted according to nearest deadline under each sub-type, per user preference. At some point I may add webscraping to enable the software to search my university's website and auto-update task and due-date information. This project is not complete: it is a work in progress.
    • File I/O
    • Classes / Methods
    • Nested Dictionaries Data Structure
    • Arbitrary Argument Lists
    • State Variables
    • TUI
    Written: 09/2023

    Pinned Loading

    1. TRUSS-ty-CALC TRUSS-ty-CALC Public

      ECOR1046F - Cobra Kai Design (Group F17)

      Python 1

    2. dates_viewer dates_viewer Public

      [WIP] Automatic task organizer, sorts multiple ways, prioritized by deadlines

      Python 1

    3. CA-VI-Sorting-Algorithms-C- CA-VI-Sorting-Algorithms-C- Public

      Assignment 6, C++, Doubly Linked List, Dynamic Allocation, Insertion Sort, Custom Alphabetical Sort

      C++ 1

    4. CA-V-Class-Templates-Vectors-C- CA-V-Class-Templates-Vectors-C- Public

      C++, Assignment 5, Class Templates

      C++ 1

    5. CA-VII-Structures-Data-Visualization-C- CA-VII-Structures-Data-Visualization-C- Public

      TUI (ascii-art) visualization of statistical data

      C 1

    6. CA-VIII-Basic-Game-Logic-State-Variables-C- CA-VIII-Basic-Game-Logic-State-Variables-C- Public

      Play a TUI-based variant of a classic dice game

      C 1