CPEN 502: Architecture for Learning Systems


Course Project

CPEN 502’s course project pertains to implementing machine learning (ML) concepts into the open-source programming game Robocode (Link available here). In Robocode, tanks battle each other. In the course project, the goal is to defeat the enemy tank as much as possible using an AI-tank that I coded. The coding language used for this course project is Java as Robocode is written primarily in Java and .NET.

Project source code available via GitHub:

Details on each part

The course project is split into three parts.

Course Info

Text in this section is taken from the website of the Department of Electrical and Computer Engineering at the University of British Columbia (https://ece.ubc.ca). Text was extracted in 2022.

This course is about machine learning with an emphasis on artificial neural networks and reinforcement learning. Students will have the opportunity to build a working AI that is able to adapt and learn through interactions with its environment. By the end of the course, students will understand and appreciate how reinforcement learning combined with with neural nets can be used to build powerful AI agents.

The course is very practical in nature and requires completion of 3 separate pieces of coursework written in Java.



Back to Home Page