Zachary Johnson

Aspiring machine learning engineer studying for a Master of Science in Computer Engineering at Iowa State University.

Skills

Subjects/Concepts
  • Neural Networks
  • Reinforcement Learning
  • Software Development
  • Statistics
  • Machine Learning
  • Linear Algebra
  • Logistic Regression
  • Decision Trees
  • Random Forests
Languages, Operating Systems & Tools
  • Python
  • Java
  • C
  • Javascript
  • LaTeX
  • Hadoop
  • HTML
  • CSS
  • pandas
  • scikit-learn
  • NumPy
  • git
  • linux
  • Spring
  • Cypress
  • VHDL
Platform Development & Administration
  • Atlassian
  • Jira
  • Bitbucket
  • Confluence
Data Management
  • Oracle
  • PostgresQL
  • MySQL

Music Features Analysis & Genre Classification

A data analytics project using a music features dataset found on Kaggle. It includes visual analysis of data, summarization of domain-specific terms, feature selection, hyperparameter tuning (using GridSearchCV), and a genre classification model.

Read more..

Bayesian Networks

A survey of exact and approximate methods of performing probabilistic inference in Bayesian Networks.

Read more..

Checkers AI

An alpha-beta checkers-playing agent that takes the current game state and makes a legal move based on a heuristic function that evaluates candidate states.

Read more..

Pipelined MIPS CPU in VHDL

A 5-stage pipeline CPU implementation of MIPS instruction set architecture, including hazard detection, forwarding, flushing, and stalling, all implemented in hardware. Tested using MIPS assembly programs that I wrote, including a MIPS assembly implementation of a Fibonacci number generator. Implemented as a course project with the help of one partner over the course of a half semester.

Read more..

Stitch/Width Cut Image Processor

An image processing application created for COM S 311 (Analysis and Design of Algorithms). It can make width cuts to change the width of images while causing minimal distortion, and stitch cuts to combine two images together with minimal noticeability. Cuts are made based on calculated pixel importances. Pixels with high importance are less likely to be removed by the algorithm. The assignment was done as an academic demonstration of my ability to implement iterative dynamic programming algorithms.

Read more..

Web Crawler and Search Algorithm

A web crawler application created for COM S 311 (Analysis and Design of Algorithms). It uses breadth first search to generate a graph of web pages, starting from a seed URL and creating edges to all pages linked from that page (pages downloaded using jsoup). The graph generating method also has parameters "maxPages" and "maxDepth" to constrain the size of the graph. An inverted index containing the URLs, their content, and their indegrees is then created using the web graph. This index is then used to implement time-efficient search queries of the collected web pages.

Read more..

Experience

Software Engineering Intern

Farm Bureau Financial Services

Built an MVC web application using Spring, Java Server Faces, and Primefaces UI library

  • Demonstrated project milestones to stakeholders and updated design based on feedback
  • Wrote development stories to reflect project requirements and necessary implementation details
  • Hosted meetings to allocate work for the upcoming sprint based on estimated completion time of stories
  • Taught interns with less technical experience how to use relevant technologies and design patterns

May 2021 - August 2021

Graduate Teaching Assistant (Discrete Math and Embedded Systems)

Iowa State University College of Engineering

Coordinated online labs and assisted students with technical and conceptual difficulties

  • Hosted a recitation section to demonstrate examples of proofs and other discrete math topics
  • Hosted virtual office hours to assist students with homework and lab problems
  • Graded papers and performed other administrative tasks

January 2021 - Present

Quality Assurance Intern

Nurocor

  • Implemented an automated end-to-end test case suite from scratch in Javascript using Cypress
  • Defined and documented software development best practices for test case development and documentation
  • Worked as part of a remote development team following an Agile-based workflow (Kanban)
  • Designed new test cases based on clinical trials use cases as defined by pharmaceutical domain experts
  • Implemented testing standards in order to meet highly demanding audit requirements
  • Learned the basics of clinical data storage in order to test the product effectively

May 2019 - August 2020

Student IT Technician

Iowa State University College of Liberal Arts and Sciences

  • Worked with professors to migrate their website files to a new university web server via SFTP
  • Compared old and new network scans to track down rogue wireless access points and filter transients
  • Loaded standardized disk images onto devices based on their department
  • Assisted professors in solving various technology issues

March 2019 - May 2019

Education

Iowa State University

Bachelor of Science
Computer Engineering

GPA: 3.45

2017-2021

Iowa State University

Master of Science (In Progress)
Computer Engineering

GPA: 4.0

2020 - Present