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.
Graduation Date: June 18, 2017
Bachelor of Science: Computer Science
Specialization: Networked Systems
Information and Computer Science Honors Program
Cumulative GPA: 3.95
Expected Graduation Date: May 2019
Masters of Science: Computer Science
Specialization: Game Development
Cumulative GPA: 3.92
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.
Relations and their properties; Boolean algebras, formal languages; finite automata.
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.
Matrices and linear transformations, systems of linear equations, determinants, linear vector spaces, eigenvalues and eigenvectors, orthogonal matrices, diagonalization, least squares, and singular value decomposition.
Construction of programs for problems and computing environments. Using library modules for applications such as graphics, sound, GUI, database, Web, and network 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.
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.
Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques.
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 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.
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.
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.
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 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 network architectures, protocols, and applications. Internet congestion control, addressing, and routing. Local area networks. Multimedia networking.
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.
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 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.
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.
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.
Introduction to principles of machine learning and data mining applied to real-world datasets. Typical applications include spam filtering, object recognition, and credit scoring.
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 the basic concepts of probability and statistics with discussion of applications to computer science.
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.
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.
Course outlines the process of creating images from 3D models. Includes transformations, shading, lighting, rastorization, texturing, and other topics.
The principles of developing game engines targeted at modern PC and game console hardware.
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 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.
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.
Explore the complex engineering process required to design and build a real-time graphics engine to support physical realism on mobile devices.
Team projects intended to address the multifaceted technical and creative challenges that are inherent to comprehensive game development.