Hi I'm Alexander Longazo

Software Engineer and Game Developer

My name is Alexander Longazo, I am 22 years old, and I am currently a graduate Computer Science major with a specialization in game development at the University of Southern California. I was first introduced to the subject of computer science when I took an AP Computer Science course in my junior year at Centennial High School. It was this course that made me even more interested in the field and it reinforced the fact that computer science and game development is the field that was meant for me. I then chose to pursue a computer science degree at the University of California, Irvine. Fortunately, my hard work and perseverance paid off, as I was placed on the Dean’s Honor List every quarter and due to my outstanding performance, I was accepted into the ICS Honors Program, where I conducted research on the development of educational games. I will be graduating with my Master’s Degree in Computer Science in May 2019. I then hope to attain a job in the computer or gaming industry so that I may play a significant part in these ever-changing industries by utilizing advanced technologies to bring new ideas and ways of thinking to the field.

Skills

Languages

C++

C#

C

Python

Javascript

Java

x86 Assembly Language

Tools

Microsoft Visual Studio

Perforce

PS4/Xbox One Development Kits

Unity

Unreal Engine 4

Education

2010-2014

High School Education

Centennial High School

2014-2017

Undergraduate Education

University of California, Irvine

Graduation Date: June 18, 2017
Bachelor of Science: Computer Science
Specialization: Networked Systems
Information and Computer Science Honors Program
Cumulative GPA: 3.95

2017 - 2019

Graduate Education

University of Southern California

Expected Graduation Date: May 2019
Masters of Science: Computer Science
Specialization: Game Development
Cumulative GPA: 3.92

Projects

COURSES

Introduction to Programming

Introduction to fundamental concepts and techniques for writing software in a high-level programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, input/output, methods, classes, and pragmatics of programming.

Boolean Algebra and Logic

Relations and their properties; Boolean algebras, formal languages; finite automata.

Discrete Mathematics for Computer Science

Covers essential tools from discrete mathematics used in computer science with an emphasis on the process of abstracting computational problems and analyzing them mathematically. Topics include mathematical induction, combinatorics, and recurrence relations.

Computational Linear Algebra

Matrices and linear transformations, systems of linear equations, determinants, linear vector spaces, eigenvalues and eigenvectors, orthogonal matrices, diagonalization, least squares, and singular value decomposition.

Programming with Software Libraries

Construction of programs for problems and computing environments. Using library modules for applications such as graphics, sound, GUI, database, Web, and network programming.

Intermediate Programming

Intermediate-level language features and programming concepts for larger, more complex, higher-quality software. Functional programming, name spaces, modules, class protocols, inheritance, iterators, generators, operator overloading, reflection. Analysis of time and space efficiency.

Programming in C/C++ as a Second Language

An introduction to the lexical, syntactic, semantic, and pragmatic characteristics of the C/C++ languages for experienced programmers. Emphasis on object-oriented programming, using standard libraries, and programming with manual garbage collection.

Data Structure Implementation and Analysis

Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques.

Introductory Computer Organization

Multilevel view of system hardware and software. Operation and interconnection of hardware elements. Instruction sets and addressing modes. Virtual memory and operating systems. Laboratory work using low-level programming languages.

Principles in System Design

Principles and practice of engineering of computer software and hardware systems. Topics include techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; coordination of parallel activities; security and encryption; and performance optimizations.

Computer Games and Society

The study and critical analysis of computer games as art objects, cultural artifacts, gateways to virtual worlds, educational aids, and tools for persuasion and social change. Emphasis on understanding games in their historical and cultural context.

Computer Graphics

Introduction to the fundamental principles of 3D computer graphics including polygonal modeling, geometric transformations, visibility algorithms, illumination models, texturing, and rasterization. Use of an independently-learned 3D graphics API to implement these techniques.

Computer Game Development

Introduction to the principles of interactive 2D and 3D computer game development. Concepts in computer graphics, algorithms, software engineering, art and graphics, music and sound, story analysis, and artificial intelligence are presented and are the basis for student work.

Introduction to Data Management

Introduction to the design of databases and the use of database management systems (DBMS) for applications. Topics include entity-relationship modeling for design, relational data model, relational algebra, relational design theory, and Structured Query Language (SQL) programming.

Computer Networks

Computer network architectures, protocols, and applications. Internet congestion control, addressing, and routing. Local area networks. Multimedia networking.

Advanced Computer Networks

Fundamental principles in computer networks are applied to obtain practical experience and skills necessary for designing and implementing computer networks, protocols, and network applications. Various network design techniques, simulation techniques, and UNIX network programming are covered.

Computer and Network Security

Overview of modern computer and networks security, attacks, and countermeasures. Authentication, identification, data secrecy, data integrity, authorization, access control, computer viruses, network security. Also covers secure e-commerce and applications of public key methods, digital certificates, and credentials.

Principles of Operating Systems

Principles and concepts of process and resource management, especially as seen in operating systems. Processes, memory management, protection, scheduling, file systems, and I/O systems are covered. Concepts illustrated in the context of several well-known systems.

Design and Analysis of Algorithms

Techniques for efficient algorithm design, including divide-and-conquer and dynamic programming, and time/space analysis. Fast algorithms for problems applicable to networks, computer games, and scientific computing, such as sorting, shortest paths, minimum spanning trees, network flow, and pattern matching.

Introduction to Artificial Intelligence

Different means of representing knowledge and uses of representations in heuristic problem solving. Representations considered include predicate logic, semantic nets, procedural representations, natural language grammars, and search trees.

Machine Learning and Data-Mining

Introduction to principles of machine learning and data mining applied to real-world datasets. Typical applications include spam filtering, object recognition, and credit scoring.

Introduction to Software Engineering

Concepts, methods, and current practice of software engineering. Large-scale software production, software life cycle models, principles and techniques for each stage of development.

Introduction to Probability and Statistics for Computer Science

Introduction to the basic concepts of probability and statistics with discussion of applications to computer science.

Formal Languages and Automata

Formal aspects of describing and recognizing languages by grammars and automata. Parsing regular and context-free languages. Ambiguity, nondeterminism. Elements of computability; Turning machines, random access machines, undecidable problems, NP-completeness.

Programming in Multitasking Operating Systems

User- and systems-level programming of modern Internet-connected, multi-user, multitasking operating systems. Shells, scripting, filters, pipelines, programmability, extensibility, concurrency, inter-process communication. Concrete examples of a modern operating system (such as, but not necessarily, Unix programmed in C) are used.

3-D Graphics and Rendering

Course outlines the process of creating images from 3D models. Includes transformations, shading, lighting, rastorization, texturing, and other topics.

Game Engine Development

The principles of developing game engines targeted at modern PC and game console hardware.

Analysis of Algorithms

Explores fundamental techniques such as recursion, Fourier transform ordering, dynamic programming for efficient algorithm construction. Examples include arithmetic, algebraic, graph, pattern matching, sorting, searching algorithms.

Database Systems

Database system architecture; conceptual database models; semantic, object-oriented, logic-based, and relational databases; user and program interfaces; database system implementation; integrity, security, concurrency and recovery.

Native Console Multiplayer Game Development

Implementation of AAA style multiplayer game running on consoles and DX11. Console development in native C++, console SDKs, engine components, gameplay, networking, data prediction/replication.

Advanced Mobile Devices and Game Consoles

Explore the complex engineering process required to design and build a real-time graphics engine to support physical realism on mobile devices.

Advanced Game Project

Team projects intended to address the multifaceted technical and creative challenges that are inherent to comprehensive game development.

Interests

Movies/Shows

Music