Credits: |
|
1 unit (4 credit hours) |
Contact Hours: |
|
4 hours |
Instructor: |
|
staff |
Last Taught: |
|
Fall 2018 |
Text Book: |
|
The Art and Science of Java. By Eric Roberts. (Addison-Wesley, 2008.) |
|
|
|
Description: |
|
Computer games are becoming an increasingly prominent part of our everyday lives, from entertainment to education. This course provides hands-on experience in game programming and covers the basic techniques, including graphics, events, controls, animations, and intelligent behaviors. Students learn the concepts and skills of object-oriented programming By designing and implementing a sequence of computer games. Lecture/laboratory. No prior knowledge in programming and computer games is required. |
|
|
|
Co-/Pre-requisite: |
|
MATH161 (Calculus I) |
or Prerequisites: |
|
none |
Specific Course Goals:
After successfully completing this course, the student will be able to:
- Students will learn the the basic techniques of game design and implementation.
- Students will be able to implement programs using the fundamental concepts in programming, such as conditionals and loops.
- Students will understand the basic principles of object-oriented programming, including definition and usage of classes, and interfaces.
- Students will be able to understand and apply basic data structures and simple algorithms including array, recursion, and sorting.
Student Outcomes:
ABET/CAC Outcome 1 |
Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.. |
ABET/CAC Outcome 2 |
Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. |
Topics covered:
- Introduction to games and Java
- Basic graphics and events
- Game control and conditionals
- Animations and loops
- Game structures and object-oriented design
- Advanced game control using arrays
- More advanced game design using multiple classes
- Recursion
- Strings and files
- GUI and IO
- Sorting algorithms