
Hi, my name is
Anthony Mazzie
I design and develop software
Over the last several years, I've dedicated myself to the pursuit of crafting inventive and transformative technology. This website showcases my work and skills in web development and cloud hosting.
About Me
Father, Veteran, Cloud Software Engineer
I’m Anthony, a dedicated father of three, proud U.S. Army veteran, and a passionate software engineer with a focus on cloud technologies. My journey in tech began with a deep-rooted curiosity in how systems work, and over the years, I've channeled this passion into a rewarding career in software engineering. As a father, I've gained patience, resilience, and a commitment to always striving for a brighter future. My military background taught me discipline and adaptability, both of which drive my approach to problem-solving in complex projects. Earning a degree in Software Engineering from Iowa State University was transformative, equipping me with the skills and knowledge to innovate. My goal is to leverage cloud technology to build scalable solutions that make an impact. From designing efficient infrastructures to mentoring junior engineers, I'm dedicated to delivering meaningful tech solutions. I look forward to new challenges that push the boundaries of what’s possible with cloud technology.
Because learning by doing is the best way
I built the foundation of my expertise at Iowa State University, diving into courses across Computer Engineering, Software Engineering, and Computer Science.
Digital Logic
Digital Logic
CPR E 281: Number systems and representation. Boolean algebra and logic minimization. Combinational and sequential logic design. Arithmetic circuits and finite state machines. Use of programmable logic devices. Introduction to computer-aided schematic capture systems, simulation tools, and hardware description languages. Design of simple digital systems.
*Source: Iowa State University Catalog
Problem Solving in Software Engineering
Problem Solving in Software Engineering
SE 185: Introduction to software engineering and computer programming. Systematic thinking process for problem solving in the context of software engineering. Group problem solving. Solving software engineering problems and presenting solutions through computer programs, written documents and oral presentations. Introduction to principles of programming, software design, and extensive practice in design, writing, running, debugging, and reasoning about programs.
*Source: Iowa State University Catalog
Object-Oriented Programming
Object-Oriented Programming
COM S 227: Computer programming using objects as the mechanism for modularity, abstraction, and code reuse. Instance variables, methods, and encapsulation. Review of control structures for conditionals and iteration. Developing algorithms on strings, arrays, and lists. Recursion, searching, and sorting. Text parsing and file I/O. Interfaces, inheritance, polymorphism, and abstract classes. Exception handling. Tools for unit testing and debugging. Emphasis on a disciplined approach to specification, code development, and testing.
*Source: Iowa State University Catalog
Data Structures and Algorithms
Data Structures and Algorithms
COM S 228: An object-oriented approach to data structures and algorithms. Object-oriented analysis, design, and programming, with emphasis on data abstraction, inheritance and subtype polymorphism, and generics. Abstract data type specification and correctness. Collections including lists, stacks, queues, trees, heaps, maps, hash tables, and graphs. Big-O notation and algorithm analysis. Searching and sorting. Graph search and shortest path algorithms. Emphasis on object-oriented design, writing and documenting medium-sized programs. This course is designed for majors.
*Source: Iowa State University Catalog
Embedded Systems 1
Embedded Systems 1
CPR E 288: Embedded C programming. Interrupt handling. Memory mapped I/O in the context of an application. Elementary embedded design flow/methodology. Timers, scheduling, resource allocation, optimization, state machine based controllers, real time constraints within the context of an application. Applications laboratory exercises with embedded devices.
*Source: Iowa State University Catalog
Principles of Programming Languages
Principles of Programming Languages
COM S 342: Study of concepts in programming languages, especially functional programming concepts. Overview of major programming paradigms, their relationship, and tradeoffs among paradigms enabling sound choices of programming language for application-specific development. Programming projects.
*Source: Iowa State University Catalog
Software Development Practices
Software Development Practices
COM S 309: A practical introduction to methods for managing software development. Process models, requirements analysis, structured and object-oriented design, coding, testing, maintenance, cost and schedule estimation, metrics. Programming projects.
*Source: Iowa State University Catalog
Construction of User Interfaces
Construction of User Interfaces
COM S 319: Overview of user interface design. Evaluation and testing of user interfaces. Review of principles of object orientation, object oriented design and analysis using UML in the context of user interface design. Design of windows, menus and commands. Developing Web and Windows-based user-interfaces. Event-driven programming. Introduction to Frameworks and APIs for the construction of user interfaces.
*Source: Iowa State University Catalog
Introduction to Computer Architecture and Machine-Level Programming
Introduction to Computer Architecture and Machine-Level Programming
COM S 321: Introduction to computer architecture and organization. Emphasis on evaluation of performance, instruction set architecture, datapath and control, memory-hierarchy design, and pipelining. Assembly language programming.
*Source: Iowa State University Catalog
Database Management Systems
Database Management Systems
COM S 363: Relational, object-oriented, semistructured and query languages. SQL, XML, and NO-SQL. Database design using entity-relationship model, data dependencies, and relational database design. Application development in SQL-like languages and general purpose host languages with application program interfaces and a commonly used Object Relational Mapping framework. Web application development. Programming Projects.
*Source: Iowa State University Catalog
Advanced Programming Techniques
Advanced Programming Techniques
COM S 327: Object-oriented programming experience using a language suitable for exploring advanced topics in programming. Topics include memory management, parameter passing, inheritance, compiling, debugging, and maintaining programs. Significant programming projects.
*Source: Iowa State University Catalog
Operating Systems: Principles and Practice
Operating Systems: Principles and Practice
CPR E 308: Operating system concepts, processes, threads, synchronization between threads, process and thread scheduling, deadlocks, memory management, file systems, I/O systems,security, Linux-based lab experiments.
*Source: Iowa State University Catalog
Introduction to Software Testing
Introduction to Software Testing
SE 317: Basic principles and techniques for software testing. Test requirements and management. Test design techniques, evaluation metrics, model-based testing, unit testing, system and integration testing. Software testing tools and programming projects.
*Source: Iowa State University Catalog
Software Architecture and Design
Software Architecture and Design
SE 339: Modeling and design of software at the architectural level. Architectural styles. Basics of model-driven architecture. Object-oriented design and analysis. Iterative development and unified process. Design patterns. Design by contract. Component based design. Product families. Measurement theory and appropriate use of metrics in design. Designing for qualities such as performance, safety, security, reliability, reusability, etc. Analysis and evaluation of software architectures. Introduction to architecture definition languages. Basics of software evolution, reengineering, and reverse engineering. Case studies. Introduction to distributed system software.
*Source: Iowa State University Catalog
Introduction to the Design and Analysis of Algorithms
Introduction to the Design and Analysis of Algorithms
COMS 311: Basic techniques for design and analysis of algorithms. Sorting, searching, graph algorithms, string matching, and NP-completeness. Design techniques such as dynamic programming, divide and conquer, greedy method, and approximation. Asymptotic, worst-case, average-case and amortized analyses. Topics from advanced data structures such as balanced trees and hashing. Programming projects.
*Source: Iowa State University Catalog
Software Requirements Engineering
Software Requirements Engineering
SE 409: The requirements engineering process including elicitation, requirements analysis fundamentals, requirements specification and communication, and requirements evaluation. Modeling of functional and nonfunctional requirements, traceability, and requirements change management. Case studies and software projects.
*Source: Iowa State University Catalog
Software Analysis and Verification for Safety and Security
Software Analysis and Verification for Safety and Security
SE 421: Significance of software safety and security; various facets of security in cyber-physical and computer systems; threat modeling for software safety and security; and categorization of software vulnerabilities. Software analysis and verification: mathematical foundations, data structures and algorithms, program comprehension, analysis, and verification tools; automated vs. human-on-the-loop approach to analysis and verification; and practical considerations of efficiency, accuracy, robustness, and scalability of analysis and verification. Cases studies with application and systems software; evolving landscape of software security threats and mitigation techniques. Understanding large software, implementing software analysis and verification algorithms.
*Source: Iowa State University Catalog
Senior Design 1
Senior Design 1
SE 491: Preparing for entry to the workplace. Selected professional topics. Use of technical writing skills in developing project plan and design report; design review presentation. First of two-semester team-oriented, project design and implementation experience.
*Source: Iowa State University Catalog
Computer Networking and Data Communications
Computer Networking and Data Communications
CPR E 492: Modern computer networking and data communications concepts. OSI reference model, TCP/IP architecture. Sockets programming. Protocols at the physical layer, data link layer, network layer, transport layer, and application layer. Software-defined networking.
*Source: Iowa State University Catalog
Senior Design 2
Senior Design 2
SE 492: Second semester of a team design project experience. Emphasis on the successful implementation and demonstration of the design completed in E E 491 or Cpr E 491 and the evaluation of project results. Technical writing of final project report; oral presentation of project achievements; project poster.
*Source: Iowa State University Catalog
Recent Projects
Here are some of my recent and most impactful projects.
TypeScript Scribe
TypeScript Scribe is a utility library that automatically infers JavaScript/TypeScript object structures and generates TypeScript types. Ideal for projects with dynamic data, it enhances code quality by quickly creating accurate type definitions, saving time and reducing errors.
Unified Butterfly Recorder
The UBR is a Progressive Web App developed by Iowa State students for butterfly enthusiasts and researchers. It streamlines butterfly sighting logs, gathering vital data on species and environments. This empowers scientists and the public to support climate research and conservation.
Soft Skills
Communication
Effective collaboration and clear communication reduce complexity in projects. Teamwork makes it all work.
Organization
Strong time management and punctuality help me deliver projects on time, every time.
Problem Solving
Creative problem-solving is why I became an engineer—finding solutions drives my passion.
Tech Skills
Infrastructure
Back End Languages
Tools / Frameworks / Libraries
Front End Languages
Certifications





My Resume
Click below to view my resume in full-screen or download a copy for your reference.