Credits: 1 unit (4 credit hours)
Contact Hours: 3 lecture & 3 lab
Instructor: Professor Jeffrey O. Pfaffmann
Last Taught: Spring 2014
Text Book: Introduction to Programming in Java: An Interdisciplinary Approach. By Robert Sedgewick and Kevin Wayne. (Addison-Wesley, 2007.)
Supplemental
Materials
:
Myro in Java. Java software for ipre robot controller
http://wiki.roboteducation.org/Myro_in_Java
Description: Robots are increasingly common, from factory floors to space exploration, and now even your home! This course provides hands-on experience programming small robots with an emphasis on artificial intelligence. Lecture/laboratory. This course is appropriate for both majors and non-majors alike; beginners are welcome.
Prerequisites: None

Specific Course Goals:

After successfully completing this course, the student will be able to:

  • Students will learn the basic techniques of working with robotics and virtual agents.
  • 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:

  • Java basics: statement, variable, data types
  • Java basics: class, object, and method
  • Sensor data storage/manipulation, and agent spatial representation (array)
  • Manipulation of command sequence (loops)
  • Perception-action response for robot navigation (conditionals)
  • Creating classes
  • Recursion
  • Movies creation
  • Inheritance and Interface
  • Text manipulation
  • File I/O, and Exception
  • Search and sorting algorithms