Please use Chrome or Firefox. IE explorer will encounter some format issue.

Zhisheng Xu

Zhisheng XuZhisheng XuZhisheng Xu

Zhisheng Xu

Zhisheng XuZhisheng XuZhisheng Xu
  • Home
  • Projects
  • Work Experience
  • Photo Gallery
  • More
    • Home
    • Projects
    • Work Experience
    • Photo Gallery

  • Home
  • Projects
  • Work Experience
  • Photo Gallery

Education information

My Programming Projects

Throughout years, I have created plenty of programming projects using different platforms and engines.

Projects Here

Resume

My Resume listing most of my skills and projects.

Resume here

My school

All the colleges I have attended in the United States.

School History

Skill ratings

Relevant skill ratings for my programming and game development career.

Check out my skills

My Computer Science Classes

My relevant courses on the topic of computer science. 

Classes here

Resume

Download PDF

My schools

Carnegie Mellon University

2019/08 - 2021/05

Major in Master of Entertainment Technology(MET)

University of Pittsburgh

2014/09 - 2018/12

Majored in Computer Science 

Relevant Courses

CS401: Intermediate Programming in Java

The fundamental class of computer programming. I choose Java as my start up in college because it is simple to use without losing strong features.

CS441: Discrete Math for CS

Discrete math is mainly focusing on Boolean algebra, probability, matrix operations and vectors. I have to say although computer programmers do not have to be master of math, certain math knowledge definitely helps. 

CS445: Data Structures

Some mid-level materials on the data structures that will be frequently used in daily programming. Data structures like tree, hash map, array, recursion and linked list are introduced and implemented in Java.

CS447: Computer Organization and Assembly Language

It was a nightmare. To be honest I become so grateful to the invention of high level language after I finish the class. The assembly language (MIPS in this class) is troublesome to use and not efficient at all. Can you believe that I hand code a vertically scrolling shooter game in which I need to issue command for all the pixels per frame? God. The good news is: I used MIPS to create a simple scroll shooting game, pixel by pixel. This is the most primitive game I have ever made.

CS449: Intro to System Software

Basic material on generally how computer works and different approaches to overcome some difficulties in computer design like off power clock, sys call in single core, multi-threading in single core and so on.  Everything is in C99 since Java is not fit for OS programming.

CS1501: Algorithm Implementation

Introduction to some world famous algorithms like Boyer Moore, Huffman Compression, RSA encryption and FordFulkerson. All the algorithms are implemented in Java. 

CS1502: Formal Methods in Computer Science

It is basically a pure math class explaining  Turing machine, advanced Boolean algebra and P/NP problems. Learning how to prove whether a problem is P or NP is really suffering and challenging.  


CS1520: Programming Language for Web Application

This class was my first web programming class. Before CS1520, I had no interest in web programming at all because knowing how to create web pages and web apps are not the reasons for me to learning coding at all.  It turned out that developing web applications was pretty fun because I got to know the working mechanism behind severs and HTML pages instead of treating them like magic. Besides, I made a web game out of the Javascript.

CS1530: Software Engineering

This class was the only non-coding computer science class for my undergraduate study in Pitt. It emphasized on the formal organization of group projects in real industry world like Scrum, waterfall, iterative development and so on. I used a simpler version of Scrum for organizing my game project for CS1666. 

CS1550: Introduction to Operating System

A more advanced class of CS449. It extends my knowledge from system software to OS which includes the handling of multi-task on a single core, device drivers, disk manipulations and file system. A left single click of the mouse hides too many details under the cover of OS.

CS1566: Introduction to Computer Graphics

It is so far the most useful course in my college life I will say. In this class I learn from the most basic mathematical idea of how OpenGL draws triangles to complex manipulations like change of different coordinates for different objects and we have to code everything from SCRATCH!Can you even imagine how much efforts I put to make a simple Temple run game? Praise to the creation of Unity.

CS1632: Software Quality Assurance

This is a fun class which teaches me how to do QA from manually brute force approach to unit testings. No matter what software is under developing, QA is always important. Well, you do not want your operator to get a sudden death simply because he picks on an armor, right?

CS1645: High Performance Computing System

HPC is a pretty popular topic recently and it is the first time for me to think deeper than just coding in single thread logic. The idea of having multiple threads in multiple cores at hand changes how the code is constructed. We used Nvidia GPU to do the vector calculations and its power is far beyond my expectation. 

CS1666: Game Design and Implementation

CS1666 was the most enjoyable class in my undergraduate study. I felt like everything I had learnt for programming  was the preparation for this class. We worked in groups to code an semester-long game project with SDL and OpenGL. We were not allowed to use anything from the Internet including music, spirits, effects and any packages. To compose music and to draw spirit sheets as a programmer was a new experience for me. Please check out the Forbidden Archive section for project demo.

Programming languages

C, C++, C#

Proficient

The major languages I use for programming

Java

Proficient

Learnt for introduction level undergraduate CS classes

Python

Advanced

Beautiful language. Really a shame it is not widely used in game industry.

HTML, CSS

Intermediate

Used for my web application class. 

And more........

Please check my resume for additional detail.


Platforms

Unity3D

Proficient

My favorite game engine. Had a lot of fun with it.

CoCoNut2D

Intermediate

Compact engine for 2D game. My initial plan for the game class. 

Unreal 4

Proficient

Great engine to create highly graphic games.

Xcode

Proficient

As a Mac person, Xcode is always my best friend

And more......

Please check my resume for additional detail.

Copyright © 2023 Zhisheng Xu - All Rights Reserved.

  • Home
  • Projects
  • Work Experience
  • Photo Gallery

Some videos use loyalty free music from Bensound.