Teaching
I have a deep interest in teaching computer science and related subjects. I feel that by sharing my own excitement for the fields I love, with others, I could likely instill in them the desire to explore these fields further. This page has a list of classes I have taught over the years. I try my best to keep it as complete as possible.
Thesis Advising
B.Sc. Thesis
- Aleksandar Siljannovski
Jacobs University Bremen, Germany (2010)
Topic: Using mDNS for Service Discovery in the Internet of Things - Nurbulat Argumbayev
Jacobs University Bremen, Germany (2010)
Topic: Evaluating DTLS Suitability for the Internet of Things
Tutorials
- A Practical Approach to Machine Vision for Robot Control (4hrs)
18th Mediterranean Conference on Control and Automation (MED 2010)This half-day day tutorial at the MED 2010 conference introduced participants to machine vision concepts which can be applied to robot control. Starting with a brief theoretical overview of computer vision and image processing the participants were introduced to the RoboRealm system which allows rapid development of complex machine vision systems with little to no programming necessary. Participants were also able to write code to interface with RoboRealm and develop custom solutions.
- A Practical Introduction to 6LoWPAN: Low Power IPv6 Internet Connected Wireless Networks (7hrs)
18th Mediterranean Conference on Control and Automation (MED 2010)This full-day day tutorial at the MED 2010 conference introduced students to basic concepts of the 6LoWPAN IPv6 communication standard for wireless sensor networks. In light of the push for adopting 6LoWPAN within the framework of smart grid systems, this tutorial was designed to teach participants to set up and program such networks in TinyOS. The participants carried out exercises in setting up TinyOS and then writing code running on TelosB motes using the Berkley BLIP implementation for 6LoWPAN networking.
Summer Schools
- A Practical Introduction to 6LoWPAN: Programming IPv6 Wireless Sensor Networks with Contiki (8hrs)
4th International Summer School in Network and Service Management (ISSNSM 2010) This full-day day lecture at the ISSNSM 2010 summer school introduced students to basic concepts of the 6LoWPAN IPv6 communication standard for wireless sensor networks. In light of the push for adopting 6LoWPAN within the framework of smart grid systems, this tutorial was designed to teach attendees practically to set up and program such networks in Contiki. The attendees wrote software for Contiki running on TelosB motes and SICSLowpan/µIPv6 implementation was used for 6LoWPAN networking.More details can be obtained by clicking here.
- Introduction to Robotics (50hrs)
3rd International Indian Underwater Robotics Society Summer School Series (IURS-SS 2009)The course provided students insight into intelligent systems, remotely operated and autonomous robots and unmanned systems in terrestrial and underwater environments. Theoretical modules covered during the course included introduction to robotics, locomotion (2D & 3D, motor control, gears), microcontrollers (programming and concepts), types of robots (remotely operated, autonomous, terrestrial, aerial, underwater), sensor arrays (passive & active, sensor design, navigational systems, interfacing) and computer vision (histograms, normalization, edge detection, blob tracking, target recognition and tracking, vision based robot control).
Practical exercises were structured in competition type mini-events, with each event having it’s own task that built upon concepts learnt in the theoretical lectures. The robots built during this summer school included line follower, obstacle avoidance, light follower, sumo robots, maze solver, an autonomous car with a vision based lane following robot, an explorer robot with vision control for counting targets and avoiding obstacles & other robots, a simplified soccer playing robot with overhead camera.
More details can be obtained by clicking here.
- Underwater Robotics and Communication (20hrs)
3rd International Indian Underwater Robotics Society Summer School Series (IURS-SS 2009)The summer school on underwater robotics and communication was designed to provide students with a sound foundation in theoretical and practical knowledge in the field. Insights into designing and building unmanned underwater vehicles and also utilizing concepts from intelligent systems to make these vehicles autonomous were covered during the summer school.
The theoretical concepts covered in detail included a basic introduction to underwater robotics, locomotion with propellers, thrusters and unpowered locomotion, exoskeleton design (mechanical design, waterproofing, interfacing sensors and actuators, calibration and vehicle trimming), sensing systems (computer vision, sonar, 2D and 3D imaging sonar, side scan, localization with pingers) and underwater communications (optical, RF and acoustic, noise models, attenuation models, propagation delays, bandwidth and capacity, channel estimation, underwater networking and multi-AUV communications).
Students had the opportunity to work on practical hands-on projects in simulators and the pool, to reinforce the concepts learned. The students were able to build an ROV and deploy it in the pool. After testing, they were also introduced to using computer vision to automate such a device to perform simple obstacle avoidance and bottom profile measurements. Most underwater communications exercises were performed in simulators based on ns2.
More details can be obtained by clicking here.
- Advanced Topics in Robotics and Intelligent Systems (20hrs)
3rd International Indian Underwater Robotics Society Summer School Series (IURS-SS 2009)This summer school course was designed to introduce students to to cutting edge research topics in intelligent systems, and also provide them with an opportunity to work upon these brand new ideas and concepts.
Students worked with real sensor data from Stereo Cameras, Swiss IR Rangers and Laser Range Finders to design terrestrial robot navigation systems following concepts of SLAM. Techniques behind pattern matching, scene matching, visual SLAM and map building were also covered. Students were also exposed to other intelligent systems concepts like sensor networks, visualization and graphics.
Hands-on practical guided exercises during the summer school included building sensor networks with TinyOS on TelosB and MICAz sensor devices. Plane fitting using stereo camera data via the region growing and mixture of gaussians approaches was taught. Concepts from Machine Learning, including gaussian models, parzen windows, simulated annealing, fuzzy logics, bayesian networks, and neural networks with a focus on echo state networks, were also covered. These concepts were applied in short practical exercises for pattern recognition and decision taking. Students were also introduced to concepts of Visual SLAM; dealing with processing 3D point clouds in order to find persistent features in them that are invariant to scale and rotation, matching between 3D point cloud sets to perform scene matching, object detection, pattern detection, map building and known-correspondence registration to derive robot odometry for performing Visual SLAM were also taught during the summer school.
At the end of the summer school the students were offered an opportunity to work on an extended project with one of the faculty, of their choice, teaching at the summer school.
More details can be obtained by clicking here.
- Introduction to Robotics (60hrs)
2nd International Indian Underwater Robotics Society Summer School Series (IURS-SS 2008)An updated version of the 2007 summer school which aimed to provide students with a sound foundation out of theoretical and practical hands on knowledge and experience in the field of robotics. The course provided students insight into intelligent systems, remotely operated and autonomous robots and unmanned systems in terrestrial and underwater environments.
Theoretical modules covered during the course included introduction to robotics, locomotion (2D & 3D, motor control, gears), microcontrollers (programming and concepts), types of robots (remotely operated, autonomous, terrestrial, aerial, underwater), sensor arrays (passive & active, sensor design, navigational systems, interfacing) and computer vision (histograms, normalization, edge detection, blob tracking, target recognition and tracking, vision based robot control).
Practical exercises were structured in competition type mini-events, with each event having it’s own task that built upon concepts learnt in the theoretical lectures. The robots built during this summer school included line follower, obstacle avoidance, sumo robots, maze solver with multiple possible changing routes and obstacles, grid traversal with obstacle avoidance and target counting and patterned target locating using overhead camera.
More details can be obtained by clicking here.
- Introduction to Robotics (80hrs)
1st Indian Underwater Robotics Society Summer School Series (IURS-SS 2007)The IURS summer school series have always focused teaching students a mix of theoretical and practical experience that can be useful outside the classroom as well. Working with ATMega16 based development boards students have the opportunity to actually program robots for multiple tasks. Theoretical topics ranging from introduction to robotics, locomotion (2D & 3D, motor control, gears), microcontrollers (programming and concepts), types of robots (remotely operated, autonomous, terrestrial, aerial, underwater), sensor arrays (passive & active, sensor design, navigational systems, interfacing) to computer vision (histograms, normalization, edge detection, blob tracking, target recognition and tracking, vision based robot control) were covered.
Multiple hands-on exercises were also carried out for students to build their own robots and compete in a competition style setup. Exercises included stair climber, robotic arm, sumo robots, multi-color line follower, obstacle avoidance, micromouse and maze solver robots designed by the attendees during classes.
More details can be obtained by clicking here.
University Classes
Graduate
- Networks & Distributed Systems Seminar/Project (10 ECTS Credits)
Jacobs University Bremen (2011) – Teaching Assistant Project Supervision:
- Comparing the Performance of Underwater Acoustic Channel Models
- System Monitoring API for Contiki OS with bindings for SNMP/Netconf - Advanced Networking Lab (5 ECTS Credits)
Jacobs University Bremen (2010) – Teaching Assistant Responsible for day-to-day running of lab course, presenting lectures,
tutorials, writing class materials, designing assignments and grading. - Advanced Networking (5 ECTS Credits)
Jacobs University Bremen (2010) – Teaching Assistant Responsible for designing assignments and grading. - Advanced Distributed Systems Lab (4 ECTS Credits)
Jacobs University Bremen (2009) – Teaching Assistant Responsible for day-to-day running of lab course, presenting lectures,
tutorials, writing class materials, designing assignments and grading.
- Advanced Distributed Systems (5 ECTS Credits)
Jacobs University Bremen (2009) – Teaching Assistant Responsible for designing assignments and grading.
Undergraduate
- Distributed Systems (5 ECTS Credits)
Jacobs University Bremen (2010) – Teaching AssistantResponsible for tutorials, designing assignments and grading.
- Operating Systems (5 ECTS Credits)
Jacobs University Bremen (2010) – Teaching Assistant Responsible for tutorials, designing assignments and grading. - Distributed Systems (5 ECTS Credits)
Jacobs University Bremen (2009) – Teaching Assistant Responsible for tutorials, designing assignments and grading.