|
Sep 07, 2024
|
|
|
|
CSCI 2010 - BattleCode Credits: 1 Hours/Week: Lecture 1 Lab None Course Description: This course is taught as an artificial intelligence programming contest in Java. Students work individually or in teams to program virtual robots to play Battlecode, a real-time strategy game. Commands and features to control the robots and interact with the virtual environment will be presented. Supporting concepts in AI, concurrency, and communication will be introduced. Students will complete a final project which is a program which controls their robots. Student robots are then combined to compete against each other in a live Battlecode tournament. This course requires thorough knowledge of Java programming language. MnTC Goals None
Prerequisite(s): CSCI 1081 or instructor consent. Corequisite(s): None Recommendation: None
Major Content
- Overview of BattleCode software and process
- BattleCode concepts including objectives, maps, players, actions, timing
- BattleCode programming interface and tools
- Tip and hints for effective strategies
- AI concepts and techniques in gaming
- Communication concepts and techniques
- Concurrent process creation and coordination in a multi-tasking environment
- Performance metrics used to analyze software performance
- Collaboration and version control software
- Design, debugging and documentation in large concurrent applications
Learning Outcomes At the end of this course, students will be able to:
- demonstrate an understanding of the BattleCode game including objectives, maps, rules, process, players, and actions.
- learn the battlecode programming interface and tools and how they interact with Java
- develop an effective strategy given parameters of the competition.
- use principles of artificial intelligence, concurrency and communication to implement an effective strategy for a robot army.
- utilize effective design, documentation and debugging practices to produce effective code.
- collaborate with others in a team using version control software.
- analyze tournament results and describe improvements or optimizations in design.
Competency 1 (1-6) None Competency 2 (7-10) None Courses and Registration
Add to Portfolio (opens a new window)
|
|