×

Hello! My name is Julia Duffy.

I am an aspiring software engineer, currently working towards a master's degree in computer science at the University of Utah. My primary interests are in System Architecture, and Full Stack Development. In my free time, I love rock climbing and traveling!

Download CV
  • Skills:

    - Very experienced programming in C++, and C#.
  • - Quite experienced programming in C, Java, Python and Kotlin.
  • - Very experienced in using debugging tools to debug programs.
  • - Quite experienced working in group settings using using branching/merging through Github.
  • - Somewhat experienced with front-end UI/UX design and development.
  • - Very experienced with Visual Studio, VS Code, the Microsoft Library.
  • - Somewhat experienced with web hosting and Networking.
  • - Very experienced with database management through SQL.

Personal Projects:

Climbing Team Website

Built an informational website for the climbing team at the University of Utah using HTML, CSS, and JavaScript. See the finished product at utahclimbingteam.com.

HTML CSS JavaScript

Golf Game made with C++, QTCreator, and Box2D

Made a 2d projectile game that models real world physics using the Box2D physics engine.

C++ QTCreator

Raspberry Pi Weather Station

Created a weather sensor using a Raspberry Pi and a Sense HAT that collects weather data. Data is displayed on a webapp built with Python and Flask.

Python Flask Django

Drawing App with Persistent Storage and Cloud Sharing

Made a simple Android app using Kotlin and Java that saves user drawings in a MySQL database (built with Room) and allows users to upload their drawings to Firebase. This app utilizes the Jetpack Compose UI Framework.

Android Studio Kotlin

Portfolio Website

Built this portfolio website from scratch using HTML, CSS, and JavaScript. To learn more about how I made this website, check out my github repository here.

HTML CSS JavaScript

Board Climbing App with Hold Recognition (In Progress)

This summer, I am working on creating another app that will build off of the 'Crux' API. This app will allow users to set climbs on their home climbing walls and share images of set climbs with other users of the app. I would like to include a hold recognition feature that will use a trained ML model to recognize climbing hold types. That way, climbers can scan holds that they see at the climbing gym, and the app will provide them with a link to buy the hold they are interested in.

Android Studio Kotlin Python

To access the source code for these projects and to see more of my work, check out my Github.

Education:

University of Utah

Master's Degree in Computer Science

Minor Degree in Cognitive Sciences

    Completed Courses:

  • CS3500 -Software Practice (A)

    Software: C#, Microsoft MAUI, XAML, Visual Studio Code, Github, SQL
    Description: Practical exposure to the process of creating large software systems, including requirements specifications, design, implementation, testing, and maintenance. Emphasis on software process, software tools, software engineering techniques, and team development practice. Much of the work will be in groups and will involve modifying preexisting software systems.

    Skills: SOLID code principles, Git, Logging, Web Servers and Networking, SQL databases, JSON serialization .

  • CS2420 - Data Structures and Algorithms (A)

    Software: JavaScript, Eclipse
    Description: This course provides an introduction to the problem of engineering computational efficiency into programs. Students will learn about classical algorithms (including sorting, searching, and graph traversal), data structures (including stacks, queues, linked lists, trees, hash tables, and graphs), and analysis of program space and time requirements. Students will complete extensive programming exercises that require the application of elementary techniques from software engineering.

  • CS3810 - Computer Organization (B+)

    Software: Mars Simulator, MIPS Assembly
    Description: An in-depth study of computer architecture and design, including topics such as RISC and CISC instruction set architectures, CPU organizations, pipelining, memory systems, input/output, and parallel machines. Emphasis is placed on performance measures and compilation issues.

  • CS2100 - Discrete Structures (A)

    Description: Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, probability, and their applications to Computer Science.

  • CS1410 - Object-Oriented Programming (A)

    Software: Javascript, Eclipse, Python, Pycharm
    Description: This course explores foundational programming skills while introducing the paradigm of object-oriented programming.

  • CS4150 - Algorithms

    Study of algorithms, data structures, and complexity analysis beyond the introductory treatment from CS 2420. Balanced trees, heaps, hash tables, string matching, graph algorithms, external sorting and searching. Dynamic programming, exhaustive search. Space and time complexity, derivation and solution of recurrence relations, complexity hierarchies, reducibility, NP completeness. Laboratory practice.

  • CS3505 - Software Practice II

    An in-depth study of traditional software development (using UML) from inception through implementation. The entire class is team-based, and will include a project that uses an agile process. All assignments for this course are coded in C++ and the final two assignments for this course use QTCreator to create an interactive UI.

  • CS3520 - Programming Languages Concepts

    Ideas behind the design and implementation of programming languages. Syntactic description; grammars and abstract syntax; interpreters and compilers; scope and lifetime of variables; order of evaluation; continuation representation; type systems.

  • CS3190 - Found. Of Data Analysis

    This class will be an introduction to computational data analysis, focusing on the mathematical foundations. The goal will be to carefully develop and explore several core topics that form the backbone of modern data analysis topics, including Machine Learning, Data Mining, Artificial Intelligence, and Visualization. This will include some background in probability and linear algebra, and then various topics including Bayes' rule and connection to inference, gradient descent, linear regression and its polynomial and high dimensional extensions, principal component analysis and dimensionality reduction, as well as classification and clustering. We will also focus on modern models like PAC (probably approximately correct) and cross-validation for algorithm evaluation.

  • In Progress:

  • CS4530 - Mobile Application Programming

    Software: Android Studio, Java, Kotlin, SQLite
    Description: An introduction to the theory and practice of application development for mobile phones and tablets, including a focus on general program organizational techniques. Topics include native language foundations, automatic UI layout techniques, custom views and controls, data persistence, data driven user interfaces, application lifecycle, application architectural models like Model-View-Adapter, internet service interaction, RESTful web services, and 2D OpenGL rendering. Students will complete several programming projects during the course to explore these topics. A final project of the student's own design will make up a large part of the class.

  • CS5530 - Database Systems

    Software: MySql, Putty
    Description: This course is designed to cover the fundamental database concepts and query languages that are used in current relational database engines. A large portion of the course will consist of a multi-phase project throughout the semester, in which students will implement a learning management system (LMS) like Canvas.

  • DS2500 - Data Wrangling

    Software: Google Colab, Python
    Description: The course will introduce students to basic techniques in collecting, scrapping, transforming, and normalizing data, as a first step in a data science pipeline. Students will learn by working with a variety of standard data processing tools, and experimenting on numerous example tasks.


Expected Graduation: Fall 2027 | GPA: 3.8

Extracurriculars:

CS 3500 Teaching Assistant (2024-present)

I am currently working as a teaching Assistant for CS 3500, Software Development I at the University of Utah. This position has given me a deeper understanding of fundamental software development principles as well as expertise in C# development, Microsoft Visual Studio, Networking and Logging, Managing SQL Databases, JSON Serialization, and more. My role as a TA has also improved my ability to communicate complex ideas, and collaborate with others, and has taught me how to lead by example.

U of U Climbing Team Vice President (2024-present)

As the Vice President of the University of Utah Climbing Team, my primary role is outreach. Our team has over 100 members, and I am in charge of sending out emails, managing the social media accounts, and maintaining the team website with up to date information. I also work closely with the president on making executive descisions. Sometimes helping run this team feels like trying to run a small country, but it has taught me a lot about small business management and effective communication.

Semi-Professional Climbing (2020-2024)

Competed internationally- 2x World Championship competitor, 6x USA National team member, and 2x National Cup Champion. During this time, I worked as a freelance climbing coach. I also worked as a brand ambassador. Climbing is still one of my biggest passions, but nowadays I prefer to climb outdoors. Climbing competitively taught me about goal-setting and strategic planning in achieving success.

Email Icon

jtduffy7@gmail.com

GitHub Icon

@juliatduffy

Download CV