Teaching

From COINS Research Group
Jump to: navigation, search

Mobile Robots (CS460)

The objective of this course is to present the fundamental concepts to develop autonomous mobile robots. The course covers the basics of mobile robots control, kinematic theory, navigation, localization and perception. The course will consolidate the understanding of theoretical concepts through practical hands-on activities pertaining to robot programming and deployment. We use two types of robotics platforms: (1) the Arduino robot for quick and easy prototyping of control applications to illustrate theoretical concepts on navigation sensing and actuation. (2) Turtlebot robot with ROS Hydro for more advanced robotic application development using ROS with the objective to focus on application design and development.
The aim of this course is to give PSU students, in computer science and engineering colleges, an opportunity to discover the world of robotics, and design and develop real robotic applications. At the completion of this course, the student will be able to

  • Explain the system architecture of mobile robots
  • Identify real-world applications of mobile robots
  • Design and implement intelligent algorithms for mobile robots
  • Distinguish the different types of locomotion and sensors used in mobile robots
  • Develop programs for mobile robots using Robot Operating Systems (ROS)
  • Design and build mobile robots prototypes

Website: cs460.coins-lab.org Instructor: Anis Koubaa

Wireless Sensor Networks (CS415)

At the completion of this course, the student will be able to

  • CLO 1: Explain the basic concepts of the Internet of Things
  • CLO 2: Develop simple protocols and applications for the Internet of Things
  • CLO 3: Design and deploy ubiquitous and pervasive applications for the Internet of Things
  • CLO 4: Describe the architecture of a wireless sensor node
  • CLO 5: Evaluate the performance of wireless sensor networks

Website: cs460.coins-lab.org Instructor: Anis Koubaa

Java Programming II (CS102)

This course is an introduction to Object Oriented programming, techniques, practices and applications. It extends what was learned in CS101 (Programming I) by enabling students to use classes, objects, encapsulation, inheritance and polymorphism. Furthermore the students learn to use recursion, searching, sorting and data structures such as array lists and linked lists. The course involves students in working on individual and group projects that can be submitted by a due date. After the completion of this course, the students will be able to

  • CLO 1. Use sub-classing to design simple class hierarchies that allow code to be reused for distinct subclasses. 
[Usage]
  • CLO 2. Explain the relationship between object-oriented inheritance (code-sharing and overriding) and subclasses and polymorphism. [Familiarity]
  • CLO 3. Use object-oriented encapsulation mechanisms such as interfaces and private members. [Usage]
  • CLO 4. Apply Java Collection Frameworks (list, arrays list, maps, sets) in various programs
  • CLO 5. Use Comparable and Comparator interfaces to define natural ordering of classes
  • CLO 6. Demonstrate recursion and exception handling in Object oriented programs [Familiarity]

Website: cs460.coins-lab.org Instructor: Anis Koubaa