(SEPT. 2015 - MAY 2020)

UNIVERSITY OF CALGARY

B.Sc. Computer Science ("With Distinction")

Concentrations: Computer Game Development,
Computer Graphics
GPA: 3.805 / 4.000
Dean's List: 2016, 2017, 2018, 2019
Awards: Alexander Rutherford Scholarship (2015),
President's Admission Scholarship (2015),
Jason Lang Scholarship (2016, 2017, 2018),
Undergraduate Merit Award (2016, 2017)
Clubs: Game Design Club


COURSES

*NOTE: I entered university majoring in astrophysics and continued until I transferred into computer science in winter 2017.
*NOTE: All course descriptions were copied from the official UofC calendar.

WINTER 2020

CPSC 587 - Fundamentals of Computer Animation

Principles of traditional animation, key framing, parametric and track animation, free form deformation, inverse kinematics, dynamics, spring mass systems, particle systems, numerical integration, Lagrangian constraints, space time constraints, collisions, human animation, behavioural animation, metamorphosis, implicit animation techniques, animating liquids, gases and cloth, motion capture.

ENGL 395 - Speculative Fiction II:Fantasy

An examination of works of fantasy.

CPSC 591 - Rendering

Physical foundations of illuminations techniques. Colour. Radiometry and photometry. Reflection models. The rendering equation. Ray tracing. Monte Carlo techniques. Sampling and antialiasing. Texturing. Radiosity. Photon tracing. Volume rendering. Image-based rendering. Real-time shading.


FALL 2019

CPSC 441 - Computer Networks

Principles and practice in modern telecommunications, computer communications and networks. Layered communication protocols and current physical, data link, network and internet protocol layers. Circuit switching, packet switching, and an introduction to broadband multimedia networking.

CPSC 471 - Data Base Management Systems

Conceptual, internal and external data bases. Relational data base systems and SQL. The normal forms, data base design, and the entity-relationship approach.

CPSC 589 - Modelling for Computer Graphics

Parametric Modelling. B-splines and NURBS. Subdivision schemes. Surface subdivision. Multiresolution. Wavelets. Implicit modelling. Blends. Polygonization. Blobtree. Precise contact modelling. Solid modelling. CSG. Procedural modelling. Special topics, e.g. Differential geometry. Graph-based modelling. Topology.


WINTER 2019

ART 233 - Art Fundamentals: 3D

Foundation course in three-dimensional art making. Creative exploration may include media such as plaster, clay, wood, and found objects. Technical approaches may include mold-making, casting, additive and subtractive processes. Form, mass, volume and materials will be addressed in the context of research, problem solving, visual fluency and conceptual development.

CPSC 457 - Principles of Operating Systems

An introduction to operating systems principles. Performance measurement; concurrent programs; the management of information, memory and processor resources.

CPSC 585 - Games Programming

Standard techniques for the implementation of computer games. Standard multimedia programming environments and high performance multimedia. Special purpose rendering engines. Interactive control and feedback; modelling.

CPSC 501 - Advanced Programming Techniques

Theory and application of advanced programming methods and tools. Recent issues as well as those of an enduring nature will be discussed. Topics may include the Fourier transform; wavelets; functional programming; genetic algorithms, simulated annealing and neural networks; parallel and distributed programming; images and graphics user interface programming.


FALL 2018

CPSC 453 - Introduction to Computer Graphics

Introduction to computer graphics. Principles of raster image generation. Example of a graphics API. Graphics primitives. Coordinate systems, affine transformations and viewing of graphical objects. Introduction to rendering including shading models and ray tracing. Introduction to modelling including polygon meshes, subdivision, and parametric curves and surfaces.

CPSC 481 - Human-Computer Interaction I

Fundamental theory and practice of the design, implementation, and evaluation of human-computer interfaces. Topics include: principles of design; methods for evaluating interfaces with or without user involvement; techniques for prototyping and implementing graphical user interfaces.

CPSC 413 - Design and Analysis of Algorithms I

Techniques for the analysis of algorithms, including counting, summation, recurrences, and asymptotic relations; techniques for the design of efficient algorithms, including greedy methods, divide and conquer, and dynamic programming; examples of their application; an introduction to tractable and intractable problems.

CPSC 433 - Artificial Intelligence

An examination of the objectives, key techniques and achievements of work on artificial intelligence in Computer Science.


WINTER 2018

CPSC 313 - Introduction to Computability

An introduction to abstract models of sequential computation, including finite automata, regular expressions, context-free grammars, and Turing machines. Formal languages, including regular, context-free, and recursive languages, methods for classifying languages according to these types, and relationships among these classes.

CPSC 449 - Programming Paradigms

Examination of the basic principles of the major programming language paradigms. Focus on declarative paradigms such as functional and logic programming. Data types, control expressions, loops, types of references, lazy evaluation, different interpretation principles, information hiding.

CPSC 359 - Computing Machinery II

An introduction to hardware and microprocessor design, including the connection between gate-level digital logic circuits and sequential machines that can execute an algorithm and perform input and output.

SENG 300 - Introduction to Software Engineering

Introduction into the development and evolution of software. Covers key conceptual foundations as well as key methods and techniques used in the different phases of the software lifecycle. Technologies are selected based on their fitness for purpose towards explicitly stated project objectives for different types of project. Emphasis is on both technical and soft skill needed for high quality software and software-based products developed in teams.


FALL 2017

CPSC 331 - Data Structures, Algorithms, and Their Analysis

Fundamental data structures, including arrays, lists, stacks, queues, trees, hash tables, and graphs. Algorithms for searching and sorting. Introduction to the correctness and analysis of algorithms. For computer science majors and those interested in algorithm design and analysis, information security, and other mathematically-intensive areas.

PHIL 279 - Logic I

Sentential and first-order logic from both deductive and semantic points of view. Some elementary metatheorems.

PHIL 314 - Information Technology Ethics

A critical and analytical examination of ethical and legal problems arising in and about information technology. Issues to be considered might include hacking, online privacy, intellectual property rights, artificial intelligence, globalization and regulation issues, cheating in online games, and others.

CPSC 355 - Computing Machinery

An introduction to computing machinery establishing the connection between programs expressed in a compiled language, an assembly language, and machine code, and how such code is executed. Includes the detailed study of a modern CPU architecture, its assembly language and internal data representation, and the relationship between high-level program constructs and machine operations.


WINTER 2017

MATH 271 - Discrete Mathematics

Proof techniques. Sets and relations. Induction. Counting and probability. Graphs and trees.

STAT 213 - Introduction To Statistics I

Collection and presentation of data, introduction to probability, including Bayes' law, expectations and distributions. Properties of the normal curve. Introduction to estimation and hypothesis testing.

CPSC 219 - Introduction to Computer Science for Multidisciplinary Studies II

Continuation of Introduction to Computer Science for Multidisciplinary Studies I. Emphasis on object oriented analysis and design of small-scale computational systems and implementation using an object oriented language. Issues of design, modularization and programming style will be emphasized.


FALL 2016

MATH 311 - Linear Methods II

Vector spaces and subspaces. Linear independence. Matrix representations of linear transformations. Eigenvalues and eigenvectors. Quadratic forms. Inner products. Gram-Schmidt orthogonalization. Students will complete a project using a computer algebra system.

PHYS 341 - Classical Mechanics I

Forced and damped harmonic oscillations with real and complex numbers; anharmonic oscillators; central force motion and scattering; non-inertial frames; 2- and 3-body problems; applications of linear differential equations and complex numbers.

PHYS 375 - Introduction to Optics and Waves

Geometrical Optics: lenses, mirrors, and other basic optical components. Wave motion. Description of light as a wave. Fermat's principle. Refraction, scattering, interference, diffraction, and polarization. Optical instruments (including telescopes and microscopes). Lasers and fibre optics if time allows.

ASPH 307 - Introduction to Observational Astrophysics

Lectures and practical laboratory sessions in observational astronomy. Students will collect, reduce, and interpret astronomical data, develop an understanding of telescopes, instruments, and detectors; reduction and analysis methods; simulations and model fitting; data and error analysis. Observations will be carried out at the Rothney Astrophysical Observatory and/or the main campus.

MATH 375 - Differential Equations for Engineers and Scientists

Definition, existence and uniqueness of solutions; first order and higher order equations and applications; Homogeneous systems; Laplace transform; partial differential equations of mathematical physics.


WINTER 2016

ASPH 213 - Introduction To Astrophysics

Fundamentals of modern astrophysics including observations and physical interpretation physical phenomena in the Universe. Topics include the nature of the Sun and stars, galaxies, and the interstellar medium; distances and motions in the universe; radiation and telescopes; celestial mechanics; stellar evolution. Minor laboratory exercises including one at the Rothney Astrophysical Observatory as circumstances permit.

CPSC 217 - Introduction to Computer Science for Multidisciplinary Studies I

Introduction to problem solving, analysis and design of small-scale computational systems and implementation using a procedural programming language. For students wishing to combine studies in computer science with studies in other disciplines.

PHYS 255 - Electromagnetic Theory I

Electrostatics, DC circuits, calculation of magnetic intensity from currents, motion of charged particles in electric and magnetic fields, electromagnetic induction, transient effects in capacitors and inductors, electric and magnetic properties of materials.

ARKY 205 - Ancient Peoples And Places

An overview of Old and New World archaeology; the emergence of humans; development of humans and culture from hunting/gathering to agricultural and ancient urban societies.

MATH 277 - Multivariable Calculus for Engineers and Scientists

Calculus of functions of several real variables; differentiation, implicit functions, double and triple integrals; applications; Vector-valued functions; derivatives and integrals; parametric curves.


FALL 2015

CHEM 201 - General Chemistry: Structure and Bonding

An introduction to university chemistry from theoretical and practical perspectives, that focuses on an exploration of the fundamental links between electronic structure, chemical bonding, molecular structure and the interactions of molecules using inorganic and organic examples.

GEOG 205 - Gateway To Geography

An overview of human and physical environments, their inter-relationships and their relevance to environmental issues and world affairs. Major topics are drawn from current global issues where location matters. Specific examples are discussed in a global context and vary by session.

PHYS 227 - Classical Physics

Kinematics and statics of rigid bodies; conservation laws; rotational mechanics.

MATH 211 - Linear Methods I

Systems of equations and matrices, vectors, matrix representations, and determinants. Complex numbers, polar form, eigenvalues, eigenvectors. Applications.

MATH 275 - Calculus for Engineers and Scientists

Calculus of functions of one real variable; derivative and Riemann integral; Mean Value Theorem; the Fundamental Theorem of Calculus; techniques of integration; Applications; Improper integrals; Power series, Taylor series.