As an assistant professor at the American University of the Middle East, Kuwait (Academic year 2014-2015), I have been involved in programming courses for undergraduate Computer Engineering students at AUM. This mainly included Advanced programming, object-oriented, and database programming. A brief description of courses being taught in this academic year is as follows :
Advanced Database Programming: Topics include advanced data manipulation, storage considerations, stored procedures and trigger design and implementation, and query optimization.
Advanced C Programming: Topics include files, dynamic data structures, and pointers (in C), and Object Oriented Programming (C++).
Programming Applications For Engineers: Fundamental algorithms and data structures ; and use of programming logic in solving engineering problems.
As a teaching assistant at the Naval Academy Research Institute, I have been involved since January 2010 in the activities of the Computer Science Department (120 to 140 hours per year). The main seminars and practical courses that are offered to the future engineers of the French Navy comprise: Database, networks and security, artificial intelligence, object oriented programming (C++), Computer architecture, wireless security, location-based services, etc. Those practical courses represent a total volume of ~500 hours (during four years). A summary of the subjects taught is presented as follows:
Algorithmic and programming: Algorithmic concepts (in C) and Object Oriented Programming (C++).
Databases and Web: Concepts, manipulation, and querying relational databases, along with methods allowing linking web services with databases.
Wi-Fi Networks and Security: Principles on how to establish wifi networks in infrastructure, ad-hoc, and monitor modes. In a second part, authentication and encryption systems (WEP, WPA, Mac Filtering) are studied.
Simulation & Artificial Intelligence: This module introduces the multi-agent pa- radigm and the intrinsic properties of agents, and then introduces a set of methods used in AI, including genetic algorithms.
Location-based Services: This course covers technologies related to positioning systems, as well as the principles of spatio-temporal DB. The module is applied to the monitoring of maritime navigation and the design of mobile web services (Google Maps) on the campus of the Naval Academy.
OS & Computer Architecture: General principles of computer architecture and operating systems functionalities.
Networks & Security: General concepts on network protocols. Introduction to techniques related to security attacks and network vulnerabilities.